From 171a75c09458054b135e86d4ce8c15dda58902ed Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 15 Mar 2023 11:36:50 +0100 Subject: [PATCH 01/53] Bump webpack from 5.75.0 to 5.76.1 in /frontend (#371) Bumps [webpack](https://github.com/webpack/webpack) from 5.75.0 to 5.76.1. --- frontend/yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/frontend/yarn.lock b/frontend/yarn.lock index 8dc48c22b..911acfa48 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -12219,9 +12219,9 @@ webpack-sources@^3.2.3: integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== webpack@^5.64.4: - version "5.75.0" - resolved "https://registry.npmjs.org/webpack/-/webpack-5.75.0.tgz" - integrity sha512-piaIaoVJlqMsPtX/+3KTTO6jfvrSYgauFVdt8cr9LTHKmcq/AMd4mhzsiP7ZF/PGRNPGA8336jldh9l2Kt2ogQ== + version "5.76.1" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.76.1.tgz#7773de017e988bccb0f13c7d75ec245f377d295c" + integrity sha512-4+YIK4Abzv8172/SGqObnUjaIHjLEuUasz9EwQj/9xmPPkYJy2Mh03Q/lJfSD3YLzbxy5FeTq5Uw0323Oh6SJQ== dependencies: "@types/eslint-scope" "^3.7.3" "@types/estree" "^0.0.51" From 40029630fb8b33f472390e598b46d691052e7cb4 Mon Sep 17 00:00:00 2001 From: dlpzx <71252798+dlpzx@users.noreply.github.com> Date: Mon, 20 Mar 2023 16:58:01 +0100 Subject: [PATCH 02/53] Upgrade sqlalchemy 13.16 -> 1.3.24 and starlette 0.19.1 -> 0.25.0, ariadne 0.13 -> 0.17, fastapi 0.78 -> 0.92 (#379) ### Feature or Bugfix - Bugfix ### Detail - Upgrade starlette version: vulnerability found in starlette <0.25 (https://security.snyk.io/vuln/SNYK-PYTHON-STARLETTE-3319937). It does not affect data.all as we do not use `python-multipart` but nevertheless it is better to be in a non-vulnerable version. - Upgrade sqlalchemy version: the vulnerability is not stopping the CICD pipeline, but by upgrading we are able to use the latest version of alembic and we can revert the pinning of the version which happened in https://github.com/awslabs/aws-dataall/pull/354 - Upgrade ariadne to version 0.17.0: needed to support starlette 0.25.0 Higher version of ariadne==0.18.0 removes `PLAYGROUND_HTML` constant that we use in testing (Check [docs](https://ariadnegraphql.org/docs/0.17/constants-reference)) - Upgrade fastapi version to 0.92.0: needed to support starlette 0.25.0 (Version that supports this particular version of starlette, [docs](https://fastapi.tiangolo.com/release-notes/#0920)) ### Relates - #378 By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. --- Makefile | 4 ++-- backend/dataall/cdkproxy/requirements.txt | 3 ++- backend/requirements.txt | 6 ++++-- deploy/stacks/dbmigration.py | 2 +- 4 files changed, 9 insertions(+), 6 deletions(-) diff --git a/Makefile b/Makefile index 9e3492333..4c695ed4f 100644 --- a/Makefile +++ b/Makefile @@ -76,12 +76,12 @@ assume-role: rm .assume_role_json drop-tables: upgrade-pip install-backend - pip install 'alembic==1.9.4' + pip install 'alembic' export PYTHONPATH=./backend && \ python backend/migrations/drop_tables.py upgrade-db: upgrade-pip install-backend - pip install 'alembic==1.9.4' + pip install 'alembic' export PYTHONPATH=./backend && \ alembic -c backend/alembic.ini upgrade head diff --git a/backend/dataall/cdkproxy/requirements.txt b/backend/dataall/cdkproxy/requirements.txt index 9fd74e6ab..f2da84ebe 100644 --- a/backend/dataall/cdkproxy/requirements.txt +++ b/backend/dataall/cdkproxy/requirements.txt @@ -5,7 +5,8 @@ boto3-stubs==1.24.85 botocore==1.27.85 cdk-nag==2.7.2 constructs==10.0.73 -fastapi==0.78.0 +starlette==0.25.0 +fastapi == 0.92.0 Flask==2.0.3 PyYAML==6.0 requests==2.27.1 diff --git a/backend/requirements.txt b/backend/requirements.txt index 47f416aff..1b6fbe97d 100644 --- a/backend/requirements.txt +++ b/backend/requirements.txt @@ -1,7 +1,8 @@ -ariadne==0.13.0 +ariadne==0.17.0 aws-xray-sdk==2.4.3 boto3==1.24.85 botocore==1.27.85 +fastapi == 0.92.0 Flask==2.0.3 flask-cors==3.0.10 nanoid==2.0.0 @@ -12,4 +13,5 @@ pyjwt==2.4.0 PyYAML==6.0 requests==2.27.1 requests_aws4auth==1.1.1 -sqlalchemy==1.3.16 \ No newline at end of file +sqlalchemy==1.3.24 +starlette==0.25.0 \ No newline at end of file diff --git a/deploy/stacks/dbmigration.py b/deploy/stacks/dbmigration.py index 1930dcff0..f48712795 100644 --- a/deploy/stacks/dbmigration.py +++ b/deploy/stacks/dbmigration.py @@ -108,7 +108,7 @@ def __init__( 'python -m venv env', '. env/bin/activate', 'pip install -r backend/requirements.txt', - 'pip install "alembic==1.9.4"', + 'pip install alembic', 'export PYTHONPATH=backend', f'export envname={envname}', f'alembic -c backend/alembic.ini upgrade head', From 79f0e4ca12840563338dbbe206e04a199233b1b4 Mon Sep 17 00:00:00 2001 From: dlpzx <71252798+dlpzx@users.noreply.github.com> Date: Mon, 27 Mar 2023 10:15:52 +0200 Subject: [PATCH 03/53] Add dependency in dataset stack (#385) ### Feature or Bugfix - Bugfix ### Detail - Added dependency to dataset S3 Bucket for the dataset crawler ### Relates - #384 By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. --- backend/dataall/cdkproxy/stacks/dataset.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/backend/dataall/cdkproxy/stacks/dataset.py b/backend/dataall/cdkproxy/stacks/dataset.py index f7da39072..4ee53beb1 100644 --- a/backend/dataall/cdkproxy/stacks/dataset.py +++ b/backend/dataall/cdkproxy/stacks/dataset.py @@ -459,7 +459,7 @@ def __init__(self, scope, id, target_uri: str = None, **kwargs): }, ) - glue.CfnCrawler( + crawler = glue.CfnCrawler( self, dataset.GlueCrawlerName, description=f'datall Glue Crawler for bucket {dataset.S3BucketName}', @@ -475,6 +475,7 @@ def __init__(self, scope, id, target_uri: str = None, **kwargs): ] ), ) + crawler.node.add_dependency(dataset_bucket) job_args = { '--additional-python-modules': 'pydeequ,great_expectations,requests', From 95c8619798bf3651e66f2a4522f5686efcd5635d Mon Sep 17 00:00:00 2001 From: wolanlu <101870655+wolanlu@users.noreply.github.com> Date: Tue, 28 Mar 2023 16:18:37 +0200 Subject: [PATCH 04/53] feat: generate url with dynamically domain name for quicksight embeded dashboards (#380) feat: generate url with dynamically domain name for quicksight embeded dashboards ### Feature or Bugfix - Feature ### Detail Previously one had to configure statically data.all domain name inside QuickSight to allow dashboards to be embeddable inside data.all. With new api it is possible to dynamically set in inside request. User no longer has to configure QuickSight before using it. ### Relates By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. --- .../dataall/api/Objects/Dashboard/resolvers.py | 7 +++++++ backend/dataall/aws/handlers/quicksight.py | 16 +++++++++------- backend/requirements.txt | 4 ++-- deploy/pivot_role/pivotRole.yaml | 2 +- documentation/userguide/docs/environments.md | 9 --------- .../docs/pictures/environments/boot_qs_3.png | Bin 112581 -> 0 bytes 6 files changed, 19 insertions(+), 19 deletions(-) delete mode 100644 documentation/userguide/docs/pictures/environments/boot_qs_3.png diff --git a/backend/dataall/api/Objects/Dashboard/resolvers.py b/backend/dataall/api/Objects/Dashboard/resolvers.py index 799354207..a44800502 100644 --- a/backend/dataall/api/Objects/Dashboard/resolvers.py +++ b/backend/dataall/api/Objects/Dashboard/resolvers.py @@ -7,6 +7,12 @@ from ....db import permissions, models from ....db.api import ResourcePolicy, Glossary, Vote from ....searchproxy import indexers +from ....utils import Parameter + +param_store = Parameter() +ENVNAME = os.getenv("envname", "local") +DOMAIN_NAME = param_store.get_parameter(env=ENVNAME, path="frontend/custom_domain_name") if ENVNAME not in ["local", "dkrcompose"] else None +DOMAIN_URL = f"https://{DOMAIN_NAME}" if DOMAIN_NAME else "http://localhost:8080" def get_quicksight_reader_url(context, source, dashboardUri: str = None): @@ -33,6 +39,7 @@ def get_quicksight_reader_url(context, source, dashboardUri: str = None): region=env.region, UserName=context.username, DashboardId=dash.DashboardId, + domain_name=DOMAIN_URL, ) else: shared_groups = db.api.Dashboard.query_all_user_groups_shareddashboard( diff --git a/backend/dataall/aws/handlers/quicksight.py b/backend/dataall/aws/handlers/quicksight.py index c468296de..54ca9ad5e 100644 --- a/backend/dataall/aws/handlers/quicksight.py +++ b/backend/dataall/aws/handlers/quicksight.py @@ -234,9 +234,7 @@ def register_user_in_group(AwsAccountId, UserName, GroupName, UserRole='READER') return Quicksight.describe_user(AwsAccountId, UserName) @staticmethod - def get_reader_session( - AwsAccountId, region, UserName, UserRole='READER', DashboardId=None - ): + def get_reader_session(AwsAccountId, region, UserName, UserRole="READER", DashboardId=None, domain_name: str = None): client = Quicksight.get_quicksight_client(AwsAccountId, region) user = Quicksight.describe_user(AwsAccountId, UserName) @@ -245,12 +243,16 @@ def get_reader_session( AwsAccountId=AwsAccountId, UserName=UserName, GroupName=DEFAULT_GROUP_NAME, UserRole=UserRole ) - response = client.get_dashboard_embed_url( + response = client.generate_embed_url_for_registered_user( AwsAccountId=AwsAccountId, - DashboardId=DashboardId, - IdentityType='QUICKSIGHT', SessionLifetimeInMinutes=120, - UserArn=user.get('Arn'), + UserArn=user.get("Arn"), + ExperienceConfiguration={ + "Dashboard": { + "InitialDashboardId": DashboardId, + }, + }, + AllowedDomains=[domain_name], ) return response.get('EmbedUrl') diff --git a/backend/requirements.txt b/backend/requirements.txt index 1b6fbe97d..7429e61c9 100644 --- a/backend/requirements.txt +++ b/backend/requirements.txt @@ -1,7 +1,7 @@ ariadne==0.17.0 aws-xray-sdk==2.4.3 -boto3==1.24.85 -botocore==1.27.85 +boto3==1.26.95 +botocore==1.29.95 fastapi == 0.92.0 Flask==2.0.3 flask-cors==3.0.10 diff --git a/deploy/pivot_role/pivotRole.yaml b/deploy/pivot_role/pivotRole.yaml index 601d30f70..3dc29385e 100644 --- a/deploy/pivot_role/pivotRole.yaml +++ b/deploy/pivot_role/pivotRole.yaml @@ -593,7 +593,7 @@ Resources: - "quicksight:DescribeDashboard" - "quicksight:DescribeUser" - "quicksight:SearchDashboards" - - "quicksight:GetDashboardEmbedUrl" + - "quicksight:GenerateEmbedUrlForRegisteredUser" - "quicksight:GenerateEmbedUrlForAnonymousUser" - "quicksight:UpdateUser" - "quicksight:ListUserGroups" diff --git a/documentation/userguide/docs/environments.md b/documentation/userguide/docs/environments.md index 9aabe13b6..9c18cbe44 100644 --- a/documentation/userguide/docs/environments.md +++ b/documentation/userguide/docs/environments.md @@ -77,15 +77,6 @@ Enterprise option as show below: ![quicksight](pictures/environments/boot_qs_2.png#zoom#shadow) -After you've successfully subscribed to QuickSight, we need to trust *data.all* domain on QuickSight -to enable Dashboard Embedding on *data.all* UI. To do that go to: - -1. Manage QuickSight -2. Domains and Embedding -3. Put *data.all* domain and check include subdomains -4. Save - -![quicksight_domain](pictures/environments/boot_qs_3.png#zoom#shadow) ## :material-new-box: **Link an environment** ### Necessary permissions diff --git a/documentation/userguide/docs/pictures/environments/boot_qs_3.png b/documentation/userguide/docs/pictures/environments/boot_qs_3.png deleted file mode 100644 index b0c39e6fd67447658609c97a961d6999810c8e25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 112581 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∋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 Date: Tue, 28 Mar 2023 16:40:51 +0100 Subject: [PATCH 05/53] fix: dev docker images base (#387) ### Feature or Bug-fix - Bug-fix ### Detail The latest version of dev docker images for FE and BE no-longer has `amazon-linux-extras`, this update changes the based of the docker image to use tag `2` (which is consistent with the rest of the images) instead of `latest` (which is a bad practice anyway -- see 2.4 [here](https://sysdig.com/blog/dockerfile-best-practices)) By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. --- backend/docker/dev/Dockerfile | 2 +- frontend/docker/dev/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/backend/docker/dev/Dockerfile b/backend/docker/dev/Dockerfile index cf819b399..486c42c0f 100644 --- a/backend/docker/dev/Dockerfile +++ b/backend/docker/dev/Dockerfile @@ -1,4 +1,4 @@ -FROM public.ecr.aws/amazonlinux/amazonlinux:latest +FROM public.ecr.aws/amazonlinux/amazonlinux:2 ARG NODE_VERSION=16 ARG NVM_VERSION=v0.37.2 diff --git a/frontend/docker/dev/Dockerfile b/frontend/docker/dev/Dockerfile index e39a321d0..aa29c376c 100644 --- a/frontend/docker/dev/Dockerfile +++ b/frontend/docker/dev/Dockerfile @@ -1,4 +1,4 @@ -FROM public.ecr.aws/amazonlinux/amazonlinux:latest +FROM public.ecr.aws/amazonlinux/amazonlinux:2 ARG NODE_VERSION=16 ARG NGINX_VERSION=1.12 From e01e01412f05233dda6be20f730550fd3bc1620f Mon Sep 17 00:00:00 2001 From: dlpzx <71252798+dlpzx@users.noreply.github.com> Date: Thu, 30 Mar 2023 11:44:50 +0200 Subject: [PATCH 06/53] Added missing groupUri from get credentials (#391) ### Feature or Bugfix - Bugfix ### Detail - Get credentials access token was missing groupUri input variable, as a result all users appeared as Unauthorized ### Relates - #389 By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. --- .../Environment/generateEnvironmentAccessToken.js | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/frontend/src/api/Environment/generateEnvironmentAccessToken.js b/frontend/src/api/Environment/generateEnvironmentAccessToken.js index 61cf5ed71..06b8f6912 100644 --- a/frontend/src/api/Environment/generateEnvironmentAccessToken.js +++ b/frontend/src/api/Environment/generateEnvironmentAccessToken.js @@ -1,12 +1,19 @@ import { gql } from 'apollo-boost'; -const generateEnvironmentAccessToken = ({ environmentUri }) => ({ +const generateEnvironmentAccessToken = ({ environmentUri, groupUri }) => ({ variables: { - environmentUri + environmentUri, + groupUri }, query: gql` - query GenerateEnvironmentAccessToken($environmentUri: String) { - generateEnvironmentAccessToken(environmentUri: $environmentUri) + query GenerateEnvironmentAccessToken( + $environmentUri: String! + $groupUri: String + ) { + generateEnvironmentAccessToken( + environmentUri: $environmentUri + groupUri: $groupUri + ) } ` }); From 9057116265f4c6e422318fc8e627a6ebe5cdfea5 Mon Sep 17 00:00:00 2001 From: dlpzx <71252798+dlpzx@users.noreply.github.com> Date: Thu, 30 Mar 2023 13:47:36 +0200 Subject: [PATCH 07/53] 388 race condition occurs when adding folder to shared items in shares and errors out (#392) ### Feature or Bugfix - Bugfix ### Detail - The creation of S3 access points is asynchronous and can take more than 5 seconds to complete. When the share managers tries attaching the policy to the access points it fails in certain cases. This PR replaces the waiting time of 5 seconds for a while loop that checks that the access points has been created and if not it waits for 30s ### Relates - #388 By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. --- .../data_sharing/share_managers/s3_share_manager.py | 10 +++++++++- tests/tasks/test_s3_share_manager.py | 5 +++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/backend/dataall/tasks/data_sharing/share_managers/s3_share_manager.py b/backend/dataall/tasks/data_sharing/share_managers/s3_share_manager.py index 7c70b2d6e..1323770a4 100644 --- a/backend/dataall/tasks/data_sharing/share_managers/s3_share_manager.py +++ b/backend/dataall/tasks/data_sharing/share_managers/s3_share_manager.py @@ -12,6 +12,8 @@ from ....utils.alarm_service import AlarmService logger = logging.getLogger(__name__) +ACCESS_POINT_CREATION_TIME = 30 +ACCESS_POINT_CREATION_RETRIES = 5 class S3ShareManager: @@ -196,7 +198,13 @@ def manage_access_point_and_policy(self): ) access_point_arn = S3.create_bucket_access_point(self.source_account_id, self.source_environment.region, self.bucket_name, self.access_point_name) # Access point creation is slow - time.sleep(5) + retries = 1 + while not S3.get_bucket_access_point_arn(self.source_account_id, self.source_environment.region, self.access_point_name) and retries < ACCESS_POINT_CREATION_RETRIES: + logger.info( + 'Waiting 30s for access point creation to complete..' + ) + time.sleep(ACCESS_POINT_CREATION_TIME) + retries += 1 existing_policy = S3.get_access_point_policy(self.source_account_id, self.source_environment.region, self.access_point_name) # requester will use this role to access resources target_requester_id = SessionHelper.get_role_id(self.target_account_id, self.target_requester_IAMRoleName) diff --git a/tests/tasks/test_s3_share_manager.py b/tests/tasks/test_s3_share_manager.py index f534e29af..53c7f426b 100644 --- a/tests/tasks/test_s3_share_manager.py +++ b/tests/tasks/test_s3_share_manager.py @@ -657,6 +657,11 @@ def test_manage_access_point_and_policy_1( return_value="new-access-point-arn", ) + mocker.patch( + "dataall.aws.handlers.s3.S3.get_bucket_access_point_arn", + return_value="new-access-point-arn" + ) + mocker.patch( "dataall.aws.handlers.s3.S3.get_access_point_policy", return_value=None, From d191b26a60e595f0e64a4bfcdfe1d295d528c47d Mon Sep 17 00:00:00 2001 From: dlpzx <71252798+dlpzx@users.noreply.github.com> Date: Tue, 4 Apr 2023 08:29:24 +0200 Subject: [PATCH 08/53] hotfix: Revert PR on custom url quicksight embedding sessions (#403) ### Feature or Bugfix - Bugfix ### Detail In PR #380 domains that are not custom domains are not taken into account. Reverting changes back and will continue that feature on the side. ### Relates - #400 By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. --- .../dataall/api/Objects/Dashboard/resolvers.py | 7 ------- backend/dataall/aws/handlers/quicksight.py | 16 +++++++--------- deploy/pivot_role/pivotRole.yaml | 2 +- documentation/userguide/docs/environments.md | 9 +++++++++ 4 files changed, 17 insertions(+), 17 deletions(-) diff --git a/backend/dataall/api/Objects/Dashboard/resolvers.py b/backend/dataall/api/Objects/Dashboard/resolvers.py index a44800502..799354207 100644 --- a/backend/dataall/api/Objects/Dashboard/resolvers.py +++ b/backend/dataall/api/Objects/Dashboard/resolvers.py @@ -7,12 +7,6 @@ from ....db import permissions, models from ....db.api import ResourcePolicy, Glossary, Vote from ....searchproxy import indexers -from ....utils import Parameter - -param_store = Parameter() -ENVNAME = os.getenv("envname", "local") -DOMAIN_NAME = param_store.get_parameter(env=ENVNAME, path="frontend/custom_domain_name") if ENVNAME not in ["local", "dkrcompose"] else None -DOMAIN_URL = f"https://{DOMAIN_NAME}" if DOMAIN_NAME else "http://localhost:8080" def get_quicksight_reader_url(context, source, dashboardUri: str = None): @@ -39,7 +33,6 @@ def get_quicksight_reader_url(context, source, dashboardUri: str = None): region=env.region, UserName=context.username, DashboardId=dash.DashboardId, - domain_name=DOMAIN_URL, ) else: shared_groups = db.api.Dashboard.query_all_user_groups_shareddashboard( diff --git a/backend/dataall/aws/handlers/quicksight.py b/backend/dataall/aws/handlers/quicksight.py index 54ca9ad5e..c468296de 100644 --- a/backend/dataall/aws/handlers/quicksight.py +++ b/backend/dataall/aws/handlers/quicksight.py @@ -234,7 +234,9 @@ def register_user_in_group(AwsAccountId, UserName, GroupName, UserRole='READER') return Quicksight.describe_user(AwsAccountId, UserName) @staticmethod - def get_reader_session(AwsAccountId, region, UserName, UserRole="READER", DashboardId=None, domain_name: str = None): + def get_reader_session( + AwsAccountId, region, UserName, UserRole='READER', DashboardId=None + ): client = Quicksight.get_quicksight_client(AwsAccountId, region) user = Quicksight.describe_user(AwsAccountId, UserName) @@ -243,16 +245,12 @@ def get_reader_session(AwsAccountId, region, UserName, UserRole="READER", Dashbo AwsAccountId=AwsAccountId, UserName=UserName, GroupName=DEFAULT_GROUP_NAME, UserRole=UserRole ) - response = client.generate_embed_url_for_registered_user( + response = client.get_dashboard_embed_url( AwsAccountId=AwsAccountId, + DashboardId=DashboardId, + IdentityType='QUICKSIGHT', SessionLifetimeInMinutes=120, - UserArn=user.get("Arn"), - ExperienceConfiguration={ - "Dashboard": { - "InitialDashboardId": DashboardId, - }, - }, - AllowedDomains=[domain_name], + UserArn=user.get('Arn'), ) return response.get('EmbedUrl') diff --git a/deploy/pivot_role/pivotRole.yaml b/deploy/pivot_role/pivotRole.yaml index 3dc29385e..601d30f70 100644 --- a/deploy/pivot_role/pivotRole.yaml +++ b/deploy/pivot_role/pivotRole.yaml @@ -593,7 +593,7 @@ Resources: - "quicksight:DescribeDashboard" - "quicksight:DescribeUser" - "quicksight:SearchDashboards" - - "quicksight:GenerateEmbedUrlForRegisteredUser" + - "quicksight:GetDashboardEmbedUrl" - "quicksight:GenerateEmbedUrlForAnonymousUser" - "quicksight:UpdateUser" - "quicksight:ListUserGroups" diff --git a/documentation/userguide/docs/environments.md b/documentation/userguide/docs/environments.md index 9c18cbe44..9aabe13b6 100644 --- a/documentation/userguide/docs/environments.md +++ b/documentation/userguide/docs/environments.md @@ -77,6 +77,15 @@ Enterprise option as show below: ![quicksight](pictures/environments/boot_qs_2.png#zoom#shadow) +After you've successfully subscribed to QuickSight, we need to trust *data.all* domain on QuickSight +to enable Dashboard Embedding on *data.all* UI. To do that go to: + +1. Manage QuickSight +2. Domains and Embedding +3. Put *data.all* domain and check include subdomains +4. Save + +![quicksight_domain](pictures/environments/boot_qs_3.png#zoom#shadow) ## :material-new-box: **Link an environment** ### Necessary permissions From a17f12ac5a2b83bc6de2a8bd91a8b6a80e97706b Mon Sep 17 00:00:00 2001 From: Noah Paige <69586985+noah-paige@users.noreply.github.com> Date: Tue, 4 Apr 2023 02:31:53 -0400 Subject: [PATCH 09/53] 401 shared dbs worksheet list (#402) ### Feature or Bugfix - Bugfix ### Detail - Fix Worksheet View to only show shares to a environment-team specific to the team's IAM role (not consumption role) ### Relates - [#401 ] By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. --- backend/dataall/api/Objects/Environment/input_types.py | 2 +- backend/dataall/db/api/environment.py | 8 ++++++-- frontend/src/views/Worksheets/WorksheetView.js | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/backend/dataall/api/Objects/Environment/input_types.py b/backend/dataall/api/Objects/Environment/input_types.py index 0b87eec63..d47cf8f22 100644 --- a/backend/dataall/api/Objects/Environment/input_types.py +++ b/backend/dataall/api/Objects/Environment/input_types.py @@ -98,7 +98,7 @@ class EnvironmentSortField(GraphQLEnumMapper): gql.Argument('term', gql.String), gql.Argument('page', gql.Integer), gql.Argument('pageSize', gql.Integer), - gql.Argument('uniqueDatasets', gql.Boolean) + gql.Argument('uniqueShares', gql.Boolean) ], ) diff --git a/backend/dataall/db/api/environment.py b/backend/dataall/db/api/environment.py index e41386024..1d8c0e68e 100644 --- a/backend/dataall/db/api/environment.py +++ b/backend/dataall/db/api/environment.py @@ -19,6 +19,8 @@ ShareableType, EnvironmentType, EnvironmentPermission, + PrincipalType + ) from ..models.Permission import PermissionType from ..paginator import Page, paginate @@ -871,6 +873,7 @@ def paginated_shared_with_environment_datasets( models.Environment.name.label('environmentName'), models.ShareObject.created.label('created'), models.ShareObject.principalId.label('principalId'), + models.ShareObject.principalType.label('principalType'), models.ShareObjectItem.itemType.label('itemType'), models.ShareObjectItem.GlueDatabaseName.label('GlueDatabaseName'), models.ShareObjectItem.GlueTableName.label('GlueTableName'), @@ -941,8 +944,9 @@ def paginated_shared_with_environment_datasets( or_(*[models.ShareObjectItem.itemType == t for t in itemTypes]) ) - if data.get("uniqueDatasets", False): - q = q.distinct(models.ShareObject.datasetUri) + if data.get("uniqueShares", False): + q = q.filter(models.ShareObject.principalType != PrincipalType.ConsumptionRole.value) + q = q.distinct(models.ShareObject.shareUri) if data.get('term'): term = data.get('term') diff --git a/frontend/src/views/Worksheets/WorksheetView.js b/frontend/src/views/Worksheets/WorksheetView.js index 52f1c6121..c5e2a2ab8 100644 --- a/frontend/src/views/Worksheets/WorksheetView.js +++ b/frontend/src/views/Worksheets/WorksheetView.js @@ -161,7 +161,7 @@ const WorksheetView = () => { page: 1, pageSize: 10000, term: '', - uniqueDatasets: true, + uniqueShares: true, itemTypes: 'DatasetTable' } }) From 6460986883637b2024615fa8ed5a64c07f3eafc0 Mon Sep 17 00:00:00 2001 From: dlpzx <71252798+dlpzx@users.noreply.github.com> Date: Tue, 4 Apr 2023 18:38:04 +0200 Subject: [PATCH 10/53] Fix sharing update (#404) ### Feature or Bugfix - Bugfix ### Detail When we import a dataset stack, if the S3 location was already registered data.all does not create a storage location. The issue is that for datasets where data.all needs to create a storage location: 1. the first time that it creates the stack it detects that there is no storage location and it creates the corresponding CFN resource 2. the first time that it UPDATES the stack it detects the storage location from 1. and it deletes the CFN resource 3. the next time that it UPDATES the stack it does not detect any storage location (it was deleted in 2.) and it creates the CFN resource again. To fix this behavior, in V1.5 we will use Lambda custom resource to check the storage location and avoid CFN resources. But for previous versions, this PR includes: - in the method that checks the existence of an storage location, we filter by the roleArn of the location. If the roleArn is the `dataallPivotRole` then we assume that it was created by the dataset, which means that `existing_storage_location = False` I tested locally but with actual stacks being created. No additional policies are needed ### Relates By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. --- backend/dataall/aws/handlers/lakeformation.py | 8 +++++--- backend/dataall/cdkproxy/stacks/dataset.py | 1 + 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/backend/dataall/aws/handlers/lakeformation.py b/backend/dataall/aws/handlers/lakeformation.py index 703b117f7..03234c939 100644 --- a/backend/dataall/aws/handlers/lakeformation.py +++ b/backend/dataall/aws/handlers/lakeformation.py @@ -13,7 +13,7 @@ def __init__(self): pass @staticmethod - def describe_resource(resource_arn, accountid, region): + def describe_resource(resource_arn, role_arn, accountid, region): """ Describes a LF data location """ @@ -23,8 +23,10 @@ def describe_resource(resource_arn, accountid, region): response = lf_client.describe_resource(ResourceArn=resource_arn) - log.info(f'LF data location already registered: {response}') - + log.info(f'LF data location already registered: {response}, checking if data.all registered it ...') + if response['ResourceInfo']['RoleArn'] == role_arn: + log.info('The existing data location was created as part of the dataset stack. There was no pre-existing data location.') + return False return response['ResourceInfo'] except ClientError as e: diff --git a/backend/dataall/cdkproxy/stacks/dataset.py b/backend/dataall/cdkproxy/stacks/dataset.py index 4ee53beb1..cd5fbb4c7 100644 --- a/backend/dataall/cdkproxy/stacks/dataset.py +++ b/backend/dataall/cdkproxy/stacks/dataset.py @@ -417,6 +417,7 @@ def __init__(self, scope, id, target_uri: str = None, **kwargs): existing_location = LakeFormation.describe_resource( resource_arn=f'arn:aws:s3:::{dataset.S3BucketName}', + role_arn=f'arn:aws:iam::{env.AwsAccountId}:role/{pivot_role_name}', accountid=env.AwsAccountId, region=env.region ) From 219553f5b9e5b23ad4d5c1971e1787fea50db9cd Mon Sep 17 00:00:00 2001 From: dlpzx <71252798+dlpzx@users.noreply.github.com> Date: Tue, 25 Apr 2023 13:37:22 +0200 Subject: [PATCH 11/53] V1.5.0 Features (#409) ### Feature or Bugfix - V1.5.0 Features. Check each PR for a complete description of the feature. ### Detail - #292 - #355 - #337 - #427 - #431 By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. --------- Co-authored-by: kukushking Co-authored-by: Dariusz Osiennik Co-authored-by: Noah Paige <69586985+noah-paige@users.noreply.github.com> Co-authored-by: Dennis Goldner <107395339+degoldner@users.noreply.github.com> --- UserGuide.pdf | Bin 10707270 -> 10692972 bytes .../dataall/api/Objects/Dataset/resolvers.py | 19 + .../api/Objects/Environment/resolvers.py | 46 +- .../dataall/aws/handlers/cloudformation.py | 20 +- backend/dataall/aws/handlers/ec2.py | 26 + backend/dataall/aws/handlers/ecs.py | 34 +- backend/dataall/aws/handlers/glue.py | 1 - backend/dataall/aws/handlers/iam.py | 12 +- backend/dataall/aws/handlers/lakeformation.py | 17 +- .../dataall/aws/handlers/parameter_store.py | 6 +- backend/dataall/aws/handlers/quicksight.py | 43 +- backend/dataall/aws/handlers/sagemaker.py | 4 +- .../dataall/aws/handlers/sagemaker_studio.py | 9 +- .../dataall/aws/handlers/service_handlers.py | 1 - backend/dataall/aws/handlers/stepfunction.py | 2 +- backend/dataall/aws/handlers/sts.py | 104 +- .../__init__.py | 1 + .../datalakelocationcustomresource/index.py | 89 ++ .../gluedatabasecustomresource/index.py | 65 +- .../__init__.py | 1 + .../index.py | 118 +++ .../lakeformationdefaultsettings/index.py | 86 +- backend/dataall/cdkproxy/cdk_cli_wrapper.py | 61 +- backend/dataall/cdkproxy/stacks/dataset.py | 205 ++-- .../dataall/cdkproxy/stacks/environment.py | 459 ++++----- backend/dataall/cdkproxy/stacks/pivot_role.py | 890 ++++++++++++++++++ .../cdkproxy/stacks/sagemakerstudio.py | 179 +++- backend/dataall/db/api/__init__.py | 2 +- backend/dataall/db/api/dataset.py | 2 +- backend/dataall/db/api/redshift_cluster.py | 1 - backend/dataall/searchproxy/connect.py | 12 +- .../share_managers/lf_share_manager.py | 11 +- backend/dataall/tasks/stacks_updater.py | 35 +- deploy/configs/frontend_config.py | 8 +- deploy/pivot_role/pivotRole.yaml | 29 +- deploy/pivot_role/pivotRoleCDK/README.md | 8 - deploy/pivot_role/pivotRoleCDK/app.py | 25 - .../pivotRoleCDK/dataall_base_infra.py | 846 ----------------- deploy/requirements.txt | 4 +- deploy/stacks/backend_stack.py | 104 +- deploy/stacks/backend_stage.py | 8 +- deploy/stacks/container.py | 95 +- deploy/stacks/lambda_api.py | 85 +- deploy/stacks/monitoring.py | 225 +++-- deploy/stacks/opensearch.py | 10 +- deploy/stacks/opensearch_serverless.py | 198 ++++ deploy/stacks/param_store_stack.py | 8 + deploy/stacks/pipeline.py | 122 ++- deploy/stacks/secrets_stack.py | 7 +- deploy/stacks/vpc.py | 59 +- documentation/userguide/docs/environments.md | 81 +- documentation/userguide/docs/mlstudio.md | 23 +- .../Environments/EnvironmentCreateForm.js | 114 +-- template_cdk.json | 7 +- tests/api/conftest.py | 17 +- tests/api/test_dashboards.py | 3 + tests/api/test_datapipelines.py | 12 +- tests/api/test_dataset.py | 8 +- tests/api/test_dataset_location.py | 6 +- tests/api/test_dataset_profiling.py | 6 +- tests/api/test_dataset_table.py | 6 +- tests/api/test_environment.py | 6 +- tests/api/test_glossary.py | 6 +- tests/api/test_group.py | 6 +- tests/api/test_keyvaluetag.py | 6 +- tests/api/test_organization.py | 16 +- tests/api/test_redshift_cluster.py | 9 +- tests/api/test_sagemaker_notebook.py | 4 - tests/api/test_sagemaker_studio.py | 4 - tests/api/test_vote.py | 6 +- tests/api/test_vpc.py | 6 +- tests/cdkproxy/test_dataset_stack.py | 3 +- tests/cdkproxy/test_environment_stack.py | 16 +- 73 files changed, 2834 insertions(+), 1939 deletions(-) create mode 100644 backend/dataall/aws/handlers/ec2.py create mode 100644 backend/dataall/cdkproxy/assets/datalakelocationcustomresource/__init__.py create mode 100644 backend/dataall/cdkproxy/assets/datalakelocationcustomresource/index.py create mode 100644 backend/dataall/cdkproxy/assets/gluedatabasecustomresource_nodelete/__init__.py create mode 100644 backend/dataall/cdkproxy/assets/gluedatabasecustomresource_nodelete/index.py create mode 100644 backend/dataall/cdkproxy/stacks/pivot_role.py delete mode 100644 deploy/pivot_role/pivotRoleCDK/README.md delete mode 100644 deploy/pivot_role/pivotRoleCDK/app.py delete mode 100644 deploy/pivot_role/pivotRoleCDK/dataall_base_infra.py create mode 100644 deploy/stacks/opensearch_serverless.py diff --git a/UserGuide.pdf b/UserGuide.pdf index 1839ba944f505cede04903d96cd16d663a9c9ca9..2992ef52e216c628d3c2d22f7d3a8e1fd067dc63 100644 GIT binary patch delta 659008 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 z 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

{|JXARfI|Gxq!tg7eoB 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 z

OO^CIg!yW_wix3@3DAQ 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 z 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 z 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

srr~uaY$Q(7=b{R!1nEgP)q>c zDT8E~`v{2zpe_`$lS|eQ{Y$~*GzuQqnMmxCB*;7;!N|lIPaUE;&CHDKoZ#;hi2p== z_dxE|o9#Fx$$NK&X|Q@Yna`i`*yA?6;F^KC3R2$Ri9fkUrj?=@rxhu=wM%Nf)v!iH zf>TXY$9|n5<(D2T&vy&QRBK&QgT*IR6_^I|Hah(*y=TI=t^yV0Nm zJ$8gyWykM-ATgR&I~$OGWSu6*anhcIVLM>sHOwhiE98$FKLzG^kq(N+Vqc5JK!+&o zDycol(FmrM$npzq!n%OH@S`K5?gh|Vsp`w2q}zBYE(cLR!8*;hGmy(PSRMORDI;- zMRrA+jFTg5f0ksvd)olhhxX~?rR#U7p8jOMqo+@NJYA-)3vC{e^La48v1P2~drNl6 zU*KT(Dn)e!aMo;z?3&2g( z5qOR^rz(_JC%yWAKbMH4LI5guPrR`MyHle``%V!1EIc?HT93d^W566Wc23e+b|1K%rj2<>5g70(D%Sp0X{Qq#GV$`@ zfHJCZ9T#0DN9%zN6vBujYmXrHJV24k%mX48_XW-;ccMjZ}BE`-zj$;!y0dv6|o>3w-*rP*F(Mo*dyH4k@p z5_R~pp`n&OJ*6be45WL?bOyoWzY(odtii{6vZpk65>(m?dSmoCh_f#|>;X1>5@@wu?mlhV4e& z!8-oa4#xSv+f}CWw6w@S#ckCmni?`|4U+#Bx24|+{^Ygk4}(ma{Q53#YrA~e&$}G= zl6@t6NqdMBPiLu1VfMF*oAA9qb43tBS+fXbkXr9zT5Y8yBm*DqVyvOIycLG|`6Ca@ zIB0+=@A)I4-PykCRXU6i5Sq6aChYf<%(@Kf&gCk5^CcYU<340vE01Z>&@5m<0_jUY-i58E?P~STseATo07iOv`h21ViG~x2hdKL+f

u3dr`__&xHK@mu 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%0Ds*39L1%1=XWdCg}|^ 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 delta 674564 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

q<{xWj)tC| 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

B&Pga`aIHyWS@S# z_QqXyqC$t1?C2QCl>h7STa&n@SEcx_>WG z9dI6;WZ4Zc!ouTozP|PM_jAoY{x`#MnrQr6<92p-7}i>SbVG;^+jd4YOqh5$;w&;L ziMW3?hYX9XNHksSwFdy-=q+*HneOJWNFkV^#-^T`X?ovGZ3F_b@rjhs6cCV;c^JaY zzbu?w6ONz6{nlN!Xh6Td{0dSE_dd?P!rpd{Oaci-B_o85ty5jt5e=f8ods$Td;?du z2?T$m1foL;p@#B)Jpt~t!{+CaPEJo9bO3)&zB798gZ4qNozl>$CN>!h@vu*TA1nG( zKc9nTwQ+=G4b0710L9K&IZnVIi&A9VxVxbb3;x$%1NVa(hfER79i-r8ayiB(9uW!q z1~b`QBACIuQ>Tw{eW@mD;;hXHXYTW|cy*Tg~OlpzbyBGRP{ItRlTzC%2*xF>u4ppsN+g_NJwh{6(z zqS-@g)3!PMpUt|1%}N(6Qi;5sR{43yUOR&yNCTwU*j zQB|nHE9t3XxMF!4nwp&^|Lx#UcD4^?bhx4ceez8Fk0^y+_@q|^DrYCT|(MSCp?UK1zIj`Cu%t+9)@t zh|C#flC^B%=GgUK6xgyKC7;|M2#BmiybI`8i;>l_^e1I|7{fJ zu0bVQHLguVESDK?g`~CRerua)) zIjN6;I_x~a;eb~zEwp2iuXzz^lnE*Um$&{$ z*#L9m{QNwwBR5QrMa+L^6z}#EfZ%t=A#n4i+p=tVtzP7kg6cc}-wKEwcv&a#1o=PB zDPe+D*ZgV!xaq?GS-bt7xqa)^vuFuyJDj(pL-?A)roIFYrjW~i6`5>A$Bqg8*#kxJ zZdIpkJvlkC=awVr;KnH)c=3eJ0P9D>;KBZE&Lxj zav5ILC2ATYepWTNjkl+*vr`>UGG#2vrkdPq)M7^~6{VD9*uit=v}?gYNd3Q~Bj&@4 zf`{~JDMKWsg2)jI5aE;vEem46Y1<-O@wlCD+MKpOvU~czu5VlEzwfV|Ofk!CEc*Rs zlDgN&d#k_rFMWS@%yjtIM%Y^$Vr;C9a5mRQocv!0y3G0PAyazk?lm*uI!lte-3KS4d>1`X=eyPop!J}3~F>Jp?Pi}0>48|M{6BUYP;}N^B_q% zNB`6c`-6Wn>O-^}XOuU+8#6`!5Xmkw)bZixyxn35b|DWZR!U7(Q7&7BS%_Y*ti2HgCBet$fW z{+v(COkbbGo;cs7W@L=8`C2Vh)_*f>r#Rhex7Rp*LqgSTYvt74ZUG`Dwput01|0uz z7(6(dM)7lB7A&UoN`CBXrOso)F0OV$P6Wl8$s z1|xs4gI5RvxBeYsl3LoT@va4>Xth=L02|~H{%)hYdeus7E zx3IfTN_p+)h{&4HI`@PZt>b^rw70%eH3wG;P#{w^6N1>QgsKzFL_NnS=QYB#(7eW8 z^a2nCN!ep-RU0LeJ+#Z8dZ+O&OH$o~h*f`W7jIbZtD+Qhgx*o>`}~DGFUU+{&Ex@u zJm32m94^@%IT(IfA_m8pwlFcleRGaMhXVye3L`HaUnU)p=>^$&+egjKdznwU?_3Lq zfSd}BCC>eUyDm3`CPGv4Kn)?2hwXyDA;Hap%rc6Cv+fKX4|`gD=R8ecZvrI((@=k! z(~F8&{a`J9SIIIew}-`IMJj}lOC=KiJON2ED6)9am14~XsbfN3q|64+A@ad_HTc4# z$;EoIwN-Ckjnm_0k}&>_xiB zw8qjQFPM+j=hYupdQ{f13%NvJtdW0CS5QR<^lPT^#`@##GZ)wUi%8b7qLP+VFW3?H zpqDH13nxc9aIJxr8Br1!63l&9RG{^gb6VX6*P|*OdM59Z>)&9*uHAAi*cik_B4eyr4p|~0i!&^ zEVR z2QM9K5Q}Bu;?(jCQGnVHcuMe1^7P6bf72j0#VD88i%`oEa$jb?pRW8%22+F8qc$P= zMs%n~yBDJRZso(C`cZ#;A0EyIb&gnwJE+k_W@81rf|>2Yd0IbH5WH64@^X6t$KY5s zF4%`&lqIIAU<@v%ncoyhJjpbYyqrLoA}q;NnXHB#UKvywP??+>*B<2*22oJZfs!hacDiSwwmgNp}y(6FX|Js~5SKTUrrzv-a;{dF+gZyLCl z7qi`-vw3xG%U!H=d=W$k(>}jg&=Z7+OeysNX-qM0Ofh`2vO!AH`-htzQ&xOEEnnJ~ zx|oS=_(%pvdt%}(oK-FXlUJTlR0GalUq=H^`gVW|qK7Dm@+%qS^@)V`>%#Wt^3>ZZ zy`gVxSi7L#G6;Va{a7j(h)PJC*~+kqA(-;ol?5=pj`2`<)%sq3HQ1P$CNpFXi?)K5 zm222tbLM8m{>P{uy8>4|iVeN$_nVX%Whhq8@VBKI)A!Ux=yw(YC%^XzEF6^=5zdQaC0wpZ4exlYtTL=g9Ca zkJd&rR^UxMLMj)a2ZlCJvyAOVkpOVdi$Fvstq$>ZFy%?{wNih2!~MjMPbtv{oA(7D zq^GiVsyQ?gDMFY$6pb#Zc(Jm+AT2@EDydE0S2Hp8`@3HOw#!)#k4Tpvn0y4mCm5Om zJ7Rh=1Vw+ghJGxJ3S-6?_9N3cz9=bsM)NxY#w=>L^So#48K8HJs5s!ta5hu=fbY z2$ehr#x4sx^Y*85B+dL5ADN&&TbjS@x^?loY4d-33&QQ-b$eDZi~Hz}@p;zm4LmX< zJ)k}n{1t>6oqc1-L?7y=acey>rF&I_C5&!+R9xca8sj9d=yvT?e{+nn&3C49;6j$8cY)jyOrlG2x%jCF^AilJkGW>=>Rdrvw+nx1V z@t`_;l>I$SVvV~oy^7-kuj8TWGI}I~Vnr*Sl~5A5LPgXH?;M`rYziqXX{-QFixKM^ z*V2Sh{zu7Mk2n}OD~4D?-@F;OAg{^UcT9X$p^ht1&@e`wtHV~{={$@9|IC+E7|4IF zJK*jw@Xt#Rq}z@4RriAqLti2j(vU*pMpT(H?~W~ z3T>{8LnkjKA|3;}&y+xy|H;S=E)Yu|)7y zCpvdoSHCVGjc%)ACAWn2`ZZa`qYtA3q?F2IcS$Q$ZXWZd&-^DfGG^F>KeP0+Y-Oth z{qY{B_i>5*u34>LKFrJZw6$`!X2xM5X{*~QGs{(P(Rft#QDp?(-gSR$zK+0PE+&1O zFElw&x+x$&F=iNzJ4)o!Qqrqe%%@ujQ@VN{wiBtR1P-0ytbOrV)vi5D!Z$ff`F8z# zkB;C}cW-Af?9TT+qT~JDL$j$1N!b3~58tRBiDjpjsgHqF z9>%kZsb?ALSjxI|{2+gt)2oZy*y?T|~5+6^99tP-mlVJu07Kp?ZYCbg1d zV^KK7i106h$jJ+PdZ!_VrrD6y@2RV*0;lPPq^NBEyxzXW<7R@nU%_2J&jh89C=|}G zLQiHdj~HLU+_^o=8_~k2dFM4*Jv^nuznjXV;)|*%a^|u(0z`ibc@c{6<{vzXKr>#^ zZoKbBYWrrQ90Nn%8;t_`zTJ5G3e*KW!{aUkATh-fW>6iAlfA?mU0;%PG#D>gVx=^nRuAQiCOdWQrB` z1vJ?4`RV4>YrI?5VY*jE-6sW6{`9EzeH;{AjlP53zWo*P8xr-(w8&ZDd8MHB`>*34 zTHWnjGcpI950L`LXD>;c{}V?EAbm2#8iFkdu+07c9-Dt62qgLc{#C^P{PWNM`k0CT z`RAX1{`u#h|CLCp{`1d2|NQgMKmYvm&p-eC^Upv3XPOlM{PWL0|NQgMKmYu%!nXRK z|0e~K{Qt>G68sXTxVKEXD@q<`ki*SbzDu&TwQstrm>B% zL&!w`O2dDwLUu3*0gebwZkAS}B-C6=E)}iFTwu2;UJy^IBqWm-Eo_a)A*G`F1*T-X zzW^c0l%~%(vS!uY>ed6u$=UQ0kQaz9h%A(T@icR@aO9t=0t{wz&E9_H{XAx$;=Mk< zK6BO*&HCwNtl}^I>>hC6_#d4uYN`UNQ}=%yeaU}-(`CqM_P1O=$F~gWX1eXohIt*T z+Gv3g#l>Xo;iaZ^n@3q1yuzf6j~{>-oywz!w1&=SXtDjvU6D$CFCOmvDXS?dwy8x^ zhQs+hKG9(!R?Hvc&je5Qi|FR#5at;Xi;v|~EJplO4^DM{*J z`wgG}-2&5D-J5&O2)*CGm!y5nkFmfC>%f0C zD>j#D5!<&cN`0aji7+mHzVVK~y3t?dfh77@^rYl)j^vq9VXT(qdMB zD3yE_sC2wZM;A=Sut{<@rnOnTYP>Htc_R>~oloq4O!bXlhB zV8fB2KreCbj98d>X`Mt@%ysKzuL&Tl0$oUb)aSMu`6X;_e%A5Iv)-E`Rc2iA5CYuj zQIB#5U0%B&UGmkG3M+V=)Fpo*n^a~I5`Iy4egh}(O8xqpV5JjzER-JV4j}`#tU9;Q z^fE=p2SXb0n9V9u{}E>23GaLbtADy%g3E=X3@$~87g8NYU$@mfM8^alWrs)=&11ET z;w14kI zNnc@0KF~JM{i%p7O6aZp)M5MqKVW2AUadaAnX+Pj{eu zYU-j73%O^+43Oc-s7P(vq(O^RRW(=tY{+#~ZD2lN#UR(EKRotGM|9xf%~)&f>0q5~ z#$5$SfC^79LJRa(5?l*fypr_FPv= zx*VsYV4!lCIvllQw)0JZg>iBFIEPub5=U5WE;EZzF$DXn%5w{H0}GYXjwE-F&gy9E zSz^@8lrX*j1hu_t*Ia~_J{}7Xs^Qe85YC%k26VoX#jbyO(1f|Y4kacO@*QXvqjm^G zcwGWHChpWL6vQoBN^;)mokEflSy^>1R~0(BO0~-TzT(f#vvh@d)WywuWqQZJ#I)}i z_L-}T16;h&6clk$d@CWFe{)cZ>ztiWD}&=zp@Q^WD##>+K(M%fMG5I*1*t5+q5%S* z5x9=>{-uAy`&QxJ$SpnT#UC8landv&T($90q8c`kctjmfPYAlj?kelYrDv*lD50U$_M?FW!XM(+%I_0Rd{W&t*CZ)-yhG^FCf@-MEuKze7X}eEI93 zAYDKz49;|}9y3?{BmG7K*zR~W3pm7d((8X6U{3I37k1D^NoMyOmpM}_j}3$<(GgUz z0E-E4pLZEkPhp^)HaK&ikoN2RP4WDgY%x{km$v(zHqA=OPbER2m`J=KMinFtSBjog zdhA7`=4)rX4x->NS7TvKj;Y7-!_ok#pAr{d6V;IG0)a-60ae=lbUw!>9tHiI2m*iJ zM>;>&y{V?8`%@j^D6(`(2pw$+3YCLoq~_aN4J=8nys*urz~|HJbhHZ?#zJ;um z-vnLNi?W&Cgp5|*ipy(0wqrfOfiizF)BuJ0`3kM^4C&2w#7}{n)Rf(2_G1{oPF({r zB54>24unn`%mK1r_<3hV_)!(h*i*WX_5SnFIqGaO7b`By=h)+MlA8Xx;y14)(E1n* zBs%SLu&!#dg={EP?!)9cn+VJ}$YX>3!D|XIBW-dJ%zDq5y5h&PksHj|BHw?R!ZN%a zcGd`24Hb@*i_I7Bbs#bNT1_wezOzu>=*Ae23BTbNWo}Ya21-^ktY38gl%!>uWfRRn&7$j!o2*W;RXo-Vry`aE&t~R? zZ!ClwrmjRX$?$#tI?pQVGthrr&x<(wNO1+6y;~PEOkuYiq@jqv0Prn?0ot782G`bw zh)J4W(s{nUoz6fjxp^Q|h(K)mn6Ld;Hd$&KP90f|W_F*++imQSwp~G0Ec(xZwMjDa zGr?h_eYmq^Kbqe|0EDlDDTMD`s^zss>TpJbKvK_i_?V;z|A#U?9Poc{&-bcvqc^8j zpTX@p9!g4uKC4S-feBq#QzIiGjm_%@Dzo$nEO*__~ zwdfd9>Dl}RhXqi`-RP0)xETs}AO}y~6hR~JAjO@mNo*iNZnPiHEtU@DVJ2oRGJeb6 z?XQoxX&#pf>s#A_K%{?NxuNmC-YeiIp9`rZnei_rE8=C&zq&5FQnKlnc!{h61|V)z z?I8sw2ta>d$6-uoAa|$K&yuLM8!`NPsT=rAk=^`e;o_FkN`8Gi0uQ#cf_Z0?1iZ9TwmfB@Bg z6gx7vfLG9U50oGMp?%w|Lb-(5@{uL?eW}{vG3kM+1v=lvTxfa6d;I$iDLop?le(@= z^MCO)ga32nfcAgzzef(h*O}nSI%2K$eU&6?opxOkohVR9r2X4uu*gCzW9?mCIE?)5 zn=IDanBHT9+eChk~sc9&)W}L{|^!W z%cuZed|d@st?-zczu&Rl->6^Hi_^dcF+&X@# zekB;zmAiiv)f-FztqbRJQ1_|-9B8+htWZoULXD_1X%+!1(!NT#JMKoSIW0pO?!RlZ z!Eo4d`c7bD24YM-h?k1renC8b>w6kTv`mx;dJ5v3`My4^@o~h$h#VBe$)F`79^N7xP~&I* z4HO=<6rxglUo-rAa%6J*jIPrH;X*eomQLIxk4#_>+-k$8S&>YOA?=he}o%P&G0 zQZWhV6KMd0`ERr6gLi2ft@#{t-lx<27^z2A`FFkYNaeV=<~V+RNhqDGf=*<=HZp%N z59Y?@NsCH%=K4m?V65(!u@v*hRo~9n+cVL9Tn)YsA}p>ihgh2zd%oaeS5>JWwa2x_ z!ukknI{<>Z@j(fE>Y7NQ_&1oi9a`tP(K_KFs*1&67^Me|@8=spm^?^%;1`_wpAl<8 znUMl?9(#YX@YTM7+Qa$+0X236>a~Akc#B%_vsYC$d1$22u~n8}g=2=Q_FeA?|`d$Qa#dm>rM&E+Ki;yiq=`OX*% zZ`Jw^j&FVA4oatAE=vyc5iJ)7zzOhte<0PKBmrmlGTJ>F$t?lo5#nPs|L?<;`grZqAICCz#-IS4FqDQ|6qs(0ZzAj7=o250ZDrF#0 z#`J-T%36KfD}GH`w#?T<(VF8tnf2#-hp0nvoc#bFp!cq1!qR`4JE;1-=|Lk~1tM4k zmAX*C%f~(Y;Ea(vsYNzU3R+9d4dbJ=Ez9U-=dfq=F9R_Dhux|wW=$hGV=tpPVQ?y< zm^7NdAy~A55bndV9aD;znzo9cIQ7@q)_p{5;GvACE>NJmVfIT?@9)h~ff1UBMBLr? z#XKhORh{ztUs`{~f`rUi#wMv#FEHj@HgIsG_*PMWU?ugR?ngb|b8Zb;D^S|Je@0Q; zwEXolnnHi`hNi+Nu!~Y*Y^zVdrusrlOMgweon8g zNyl>cc%Wp=Be~j|@12=+X~TNQ`yo1vlE{PDPcup2b(a==zq}ct*cPaOoadJ`PX{NB z*DqeTCF*~+gDPVVPUd~n=3r=tE31aw`9x1Y&Y|<0u%Z(QaeW`V|qO(d*6)X>7OTzHJha%v=D_G1rid{qD4?Vtch^ujoxle6go#P!t8w5-gfOwfDnrtHQD_nMic`W$&B4hWCZgOgu?V0sFk@`4wx`@qtt{C$G|x zd;ANI@hyzZkIa5lZl-pf#-S`pt{%1kjf);INNLRb$9IfS#_V%d6Y}HR-r{Nz4EuG{`<5&6 z0nfAoG=u_nkDYDtHy&=O(GhgU|3C?5*M*$ve1B40P*`}+lR0K*MA8G+w8e0-2Y6Zu4uR0k|it6`0L4LDvvAn9(vW8c(b#^e5IW)_zJJxjfg(Cc> zGuDkvgx7(Y=MTBcqBqyat2HHXC0Bp4je!UFmbrXFy!;6Yx7Up0+ z(7mD996oD;5P-PEQ^6`{3c3^-9+u(ps;T|V0C1{0>8|Swd&T!Fse&U9D9UzHMKB@vZMXcSpchUm&^2t8z+hd*+0Ve;~gDJ1nwX;*-`gr%HeQx_6h= zeCAj0ymX3Sa0*i(%d}M8oP>n55WqTIvd9vpP_I)w&%>QAj;l@*1w;iwFmv;+miI&S4PFjuLr2W*z z@tH=4_jwZAJe?;zg#Tw?*L#1!UkfB;hS8=p0u6#d4ci;eMo{j#gx0QZ2w>AW?gDk; zX=8jJ-&Q0=dgW+5z3ft9ytWF{_sfLW^~KcmD=)CtSB18}H$ zesS{&so3hS)YSyJQB`#%&#{46o_=_?6eBx~yhl~bOLo7R8A4^V8><2io+u|04*K*l zFxVRD`85$1h5@#oFYkXvoM-DJG-afi7{u4-hS-Q4w~?-0vu+B|1vtzt-*At*%E5My z&rd(WPTwzRp;~*U%Oc<{h+xDK2h6S$wU#xuXe{}^R@sb!1j_U(>ZyS$kqpU1L===D zrNadYYZJC$0P00Y2rqBUu0OysgrLnK_+Sblh(M`cyLlROOU&^Wj4T=zy;L@i}a zs@q%$W=cD~h}oQk5Wz^L4wcKm@Y81XL)~eY0-5;)YZYI2yx=6<_hJkqQvS&q4cnDN!uKeU0+-)M!_B_@kv1) z8~a`=%g0Hb17%>4Zt4Rf#qotd6moIaSd)s$Ig3k*z{$e4qfc?~aqO(VzJ|BDXpOH5_#PI_H;fuSEmoY;vWM zaqjv|Rt_H(XAIYWcd8Ikq*1`YDkrjt-dM{S*-1k?pS2*rJS)+FhX@q}P{7-fsVqB)- zo1XcT=Mu?uzh7_dg+c-WbeEaA$;EZ){@&KPM5iEdez zFQiBm@(7}TfU;>F8X*pj`^o-RnnSGZ3OkbxC9H~Eu=p7RTf`!)8&UN~jVc7;Fh^(u zMG0+dTE{qsp!iDiwb8BP_4USCn4l2CYvBtx77fGIaF0&^j=yydEW|ZJ2Be;z&7XlW!-$` z^B&o{aW&6GGrpRf|Gd;WUR^$%&5EwBAjZUhZ`d(P!~~ojl`3NZKfHr9B}b>kA*(a4 zbN6eo5sjmd^Z&%ivco_STy-K(6U;I`ogPU__Lh6=#xhceGRhXJft&=KmU1K8T{KTh z01zU?nY^!VRqAx6*d$Sn{*sT=YKiPDOl3;o38%8z0-r&94ofUrd?A$5XHtLKb>Why{#T(=;CebHub{>F(;%1$XBRh` zZlHHo(O}B0>#(OfdQy5 z7rag}-zDMV`Q8Z@_7hn1?tQ6Cl2)95ZS8hr!^uWuVPaD-8XX;of+h14%Inoy~bOoWG9 z;y5F&;(^l>$V?>8DsfGSa>ac1fvYDz&N7QQnelE-}_%|>c-E< z7}o@VuqbVIWhu=)ubF|X<1&+fVv=qLLfKSR8DkWo1N$ddn4e3!Jie#g5k(Q>u8;xa z7;H0nPt5!OdH%54`(}z7)Az7p?glCBECnQFRAD8Dh1L5mR4xVq9g2X&p#HC!3=6yX zGXOZ_ZH0cp;W&{(0F!k^2J!*`$-pXXo~yORaH|Oz2b^7b;(oI$`Kl3r9tj3!Q(0L1 z#E>ZUFwhe>9MGLHIN}Z84W#b)7W@{KT;#HoQ_)4ra}k2IriNzI)ZBzAzq*?h2q>71 zAf%qqu0&>YPuaqED{~po3jzRYo@~@h1G}1MR7NZkU`>>Z?_n4tH(h^X6#s8|7K2G~ zSK}&hH4I%#+YcOP4u*JtcGnhOFPeL;u5P1ErMreN?iC`WzSv1snK&AaesHgTgzpbo zNv0GS;_87SzirosWR~NdK`*{=3_r6)9AifXaqMeY0A;Ly#EBD)OkC|}oT5_$ zh%f<+%-0$;7&oPPF+wIwMjRZK`&PnCFWi^t-(Wy}TmD0NURk|eu5GL-73c-aYJm^{ z0&wAxgSzq1TA)4S69JzA@&3!j*1OZsHN&@W&7!xs5CXNWu&<#p@Qu_#7$QU@V82Xg zjV_ry81hJ~hTIQ-YI(mOY_C1}+yv}&v$ka@0YVV^<)xpqc&!s_L8d1H_>DV&e`Dj-R>V1MxuYcYA@H#m&h*X$&#HP?U1h zmfza>&KWF!AZ$bqDMiE)77JNo1xgS~LfgGNiAY3$w8RKPAq60^l9Dm!jq{Fl7x4%7 z0KMOA1aQ{2`*^0YbF!M3D3tC!W;1vg3%~~6OW4|l5*Ck%%Z)dJwx5O2BLuD_r^YzW z$J1d5exTd^K1|2y>y7WGaVG-Yb$;RzzgojkdJQmtqUxIRf!auek=qM}Z1YK}Kc0;~ z-1hiC!ePf6+i4QAI4owR+Y_jUdBh@0O=pM$OhOkB(V7_rzBqPKtsQ8aL;s9F@Rtc% zP#nZ%?*B{47%}nxNX9Fxpf0%Vo1+hXC7B%-VZ)9%vten_Q`6JkUyhcAH%!dT%)a&0 z(=eugqYPt=qYjq0(-L>(*<9qjx)%MGOJ_NI)Rr+`F;RWUTRvWWG4i}gz@_2|XljWg zrYva!@<^jy6lCm4@pQ!++Y%|V0BPJ7Dr)|V2TSLx5oUYUnU_9@sV;ysWa}6R@B#wi z2*(8I5FZX1-8RL!{1tj{xvrnu0t{QNyps&S0B_R050@iZOMi=6~$xSU*?{eq--&8JEBTw$gLPA@K$} zLgFtwE-1h0N?UdWN2iMAAYiY*q$!q4%( zI2H~_qQ&BcX?&nJGz*7!o;b|vJ8}zu-8q3@xnkOX>J8kXF6=77ppCX0-X~$I{)S~| z3wY$vrr~!%I>@$U^R8TIxj-7H)SYJsGWvgZSjpu`Z~>RXp_!%r$A1``UswhyTbx;s zBm}k;J+T{zSB(1KC;q~7J@|rSmu&`P)+X8r*05jUzp=5_zyGQ}%)PerT&xR!N&ppS zjCW=A7-f}wseRvkDLNkWE$o0W!=?7DTL1k~G5h|NcLtT>wSn(oQLqBB-8l|U+jWP4 z!u#Ryx_f4ud?7d15E%CV7M?l(Eb=qdu@hS6k3q6NW>c;7*qiMK#t*Gu zMY0Fi60Ovl+H@?fRh;t4=r^5zJ8Cb~1V+&bx$uvK>f({>_+GOw`hO0Q=6_|evp&2qFZetA_r5aFV}+Nm#6ivxyf0@BMahhBB1&S ztL+HXN_%gwmUOyB(_Hw2*>1#F-U?X+P!^1$_etH+_Tozl#ebB+;|D=ENOD_t?;gDp z3yRAV)cS( z2MUpURo%g~X#2t}=8XBwv-2ak=mfOG1wB&YwUN7zNF0)F&6-<(Ong<^pC~|@RXxeH z(7ypDj(gzH`#uG0yNia_|B$!4)QnB^$D-(w2ABJbTzVr|5_K?nHU5lPk$9AkJuJ5Q z2q=6qN5Q$+6^=~^sPX-w+8qS*UsYuzmJ%>zOe|J2p1R_V3GY1yKI?FcDtw}DMvO@w zB>lBE9)3UR+y(c4o>F-`P>GO;#<%q-%N&T}jY*Mi-45ZB0q5U2t>wPxs%Cmd%(fNk z#vFHAy9xeS_S18QSwQZ?8Gpx6uJ%6e=@#But^GS{7AtKcbuM^@EE?2`FD}(SiW6Dk zYmH`&|B$bShv}N$R|$){s-AW^16Mupv&9n^ZX2~F9M>yY4mS(ujACyQBM;zj~%S?+Dnz}-k*IcJ)i8( z4=KYvK#4J==5lgr>B_1xUwgxn*mD%~t^uj~lv4PAjMeyX-CW}0qq)a6mM=-2iMU%2 zRo88Ke!A}7AAif;8hXZNtvUvK7gI#cYkR5BK{zSf-zRew%RPr{Te^TDDG`(nGUExy z*0<{!qyAzw{Z}UayR#{30#T&=CZ}0diHGes@bY9u57aK|%U_g_Embj(rTZX;YM8}9=>?>$|y&^){CB?N19zvK4C z%bk9)Nn7vVmA_`Co4k)y>g|iptU&_! z&mm2eb>8Je{P}7-YuVd#-IdSU-OaSvKMEU5MkWV-lNV*f72}l4YyEPw+Ruzl?-|z4 ztAROn?Ad@rgngbX$S9bbtn>QiXAZ>W(@A#~`8D=Nm2svzKY^~qy7mr-H?ehuSY5a1RQ^H~Dz%>~Acj);%?iHWCRO478^P}9d-A~+S znpLc@1F^{Qjk}NK43|2e1d!*k+20>*@K6cL>U}Y_Jd3Y8a&Bs0-deL~+zZ3Ddpt2l47%+PP?<_>0p$)s= zGV5_zzz1WjJ~$lPZf4tu(%DCX8;lP+npr*^EI-cP=J&XE*$?^_FB2hog^ z!7#1UeCbOeE=;aovoO&bI;l$7i?^sayn?6=x~7z^Y|r_vyFirZq@V?VBaH`Yod*Yf z$7hhevR2+j-$%sD@aUDD!p#$>-hTAfVA*$dr;8A@iXbXsY*mvTlYi(K@t;#rUw+Pn zHa;)pnOkfV07y3Ct94J-eBWiOLG00NP8={_9WZwfniS`IVbb`pT23+BYg?k14y<<* zZ+?H^Q?1>+ap-k*oM;t)>5Bv}08C+2>O51%2s>HhMC^X9Qnwy%;U{|g^2iMF(pMU0 zu-NbjtMy`SZA2R}>s^lxFi|ZW+h~d%nPum}R@g%H9MBoixZOT{ZOqoZaOiPS=@&;v zymQnFSh->fIIJnpY z;5rpL1I~HQAuNits-Xm9$P-KxmKA3-U5sN28s`-4))xP+_o{xsbjEl{DjLYCX*-p$ zu){@|QXmT!#=ADK@c_O@i0{GeXa}Om`wBb{w)Ci#85h+=tXxTE2p$JPP*3OmU>7^t z;S4cRn+shqWdP@YBa{;$sUit$iWe~)C~5?$Wz4_WdJap?J1u7N0mgVlmw%3 z6t#+D!rGmnoFTsh{n1<}&E;%$JVw2DY9WOSBbJp(oF$G=XhJRqrm`y_74b~7EB-;5 zA-M#cBOu0FkyH!^@mK2ra)lSv0|aevyNh&dO^ho8>3&{+`JfdrBqOy3RtG3i*d}NGPy93I!2} z#FPW;ED08aDFVuXYiT!2&5sty0EPmiEN*+&vb@!*+m`3S+GOVgjbd%42x6zS7ND{u z3r03|;nDPe+rNuTn*I6sIlZvok}IQ00$4z{m@CwrafV7;nOH_qkyX$Lhyrec zaG2J!hLgDJ7y&YbA|x-*KX8;aqv&GrXn=UevY6x1HKqTFq24;u-5bX-bJ3W}fm@UU zC_p&`RiC2*1n%9(A7*{2OL`-EfeT`)6b4YGDxA!JR?)fMD2E2(cD7%7>BhL3dHa3W zx!sMFYh{y5YlC9A7y!i9K+7>TTEPI3%^;h=CClz7QI&Bvfeo?r-01R^p1arOqdc0fj~kkQv01W!n;I*rXjSK9>W2juwMbu}LK4<%qVtSC11mm?+yUxI}xbf>6p*W&7!l$%A$Ron-Vn3Ar z4u0Ow*t)NCJKcL`%&bjZd7_;QzVe>In_fZ9(N^#L<<@Q4sJCKSp4P2`Z9WwcSr<3f zs}pe6C7IkHFOEsuJy4u*6X@Y1t9#^s4iozpaejc@t{TlX>f8;9YnI*rX>rppw`e9FeyyilEt351dx> ztVV_0xo6O&kbh7WWi;EI0$ z0-=acxnuQr?e%X1_xxj*|DkmhirW!MM zzt;anwqvnL+EEdq7da!2E-8l9-Ux(u^#D<=MaFF^l7#~a2rxyICv0MWBn{{7ABOx( zOc=#vbBur_A8*lxDG>92QIJz9`tmzz&~)A_9(36F14@6AN4o7+-%xd$lPBMtlQS>s z+MoeN4StOg1&2ZnJ*T)AQmI$~OIghmq7;k_a5gw0n4qc6G|H}t-Ww)GtZI6)?tkK0 z{*1U3z`Qxxd17poeY3VF;^I!MlA>!B8_-yoNj7g zp29hdDv-_yJ+172<6SHyixwEQ3M>q@jpj zM6+-t7(B2D0U!awEs}1jJI}j}4$wR;8ufEGzonprLjl4Le``^7)?Z8L+S*vH3MW}A z$cT2JhyVhmvaeez{Tx%N{p}N2I&uK)>tuFcJ_d6Z?hWuZQy#EVSI$kUaBH9{U*6{b z;LLnwGrFb^l>C){`^AT3C)Pg*)HwOSRCG{8{*R(Fk`0=&E!O(xubPzQJvwCUJ!&21 zVGL)Bk=C@w#LUcVW@e^gHtK*A*W{LQFw!u_Y&hJCCb{&+$o)g%%^Bivu6&4m2 zSC1YkYis8~@+8A{iOELk>ypouczq`wLe~7PJ6gzVO_DyEO@oBvB$k z=CZMF`tL6v7dQ9C`8k9dOsz**4ej6fq-u4oev{Wri$J8Zz-uVF-uT2kEc}k zU9Fn#~3n)R1VH*M4R(zN_X0}A4d}p68H3IXl|Qr!}EUqKGWeD*4KjBUwJ+TaVk3~m)8v!Pe60L zK2BKk{q!nm*+Ne#S-u#PPjj)GYs+{+8U{^1OcqrDwiMQ5t)S zqvd+uZ(X8h2Vtx$mX201ET$6MNLL1do|ckPpq^5wP^nIcT8t8<{-Ds>^rcKk#8Q%f zhaoRXaAyKkqEh_SxN_qX2(u-zPd)O+j)ysvm6Jbt1WT3RVoMoIHs>2FGD#4UwOegI zWcRI`C0@6$acbtjzqiA}@w|?iADW9t`m4SXlfUM^QOq(29q z3UtH(AtDjb7T*viSYCA1l{Q`I?8;z&qoT*HATuS1N(3SxPUDvY1Sk=Le6+E9dU`+t z=ib*jz~QdV-{%papP*e_-4kWXIJ}-ecCBkWPNCKHe=a@u&1o44d<>{v&gTnt!{c#! zyScv^d+t>#$3Gu}uN6r3y1VnQ`vFXv5I_v{uu2jnq>1klZgN%V{fSFs&-UkkWC+kt zV`_;(3K&Qt<{&`B2$3oSp*}8+xzVWgSOVN)V`??0g5h}#G7eUFiAkB8nr3@_-|TEt z0hQp(P)U#|D_?Zm^W?)Uk2YE}j%WC>U;!6{%` zZ7P9KKAud8#s*?>d$K^yilcyJ0LmFw3<4su^NIaV4){IM*K&OV@1r&eoL%^d7_rS5 zWtLmMjE;vr;xMCI(OM*8o3s$v&8O$*=V72@4!NoNAz^3~$r6TDb;{6xI>6IBO@r<) zDOOq`quDeO)29k4(60vl1kYDRjXvDBYiI@FYCzM|EKxQ_M!skbhy(=O{x{!Zxj-cf z-`SF-Ahe0qV9UViAy9~!00|;g#!TI`29B{UvJ$bQAckqC!#g!e9vAS}LURP|*>GI+ zp+!^*mG5h_699#W+>Aqie_=`$2rY8rwHg8lpURXdQ`Hd|h9X2jn2|2DCz96N2mUR% zFvRF4lG{(tjr{Mn26!PT6(-mUj|L*MYiJritV%32eMBr*h01{fMEbIe7i3DH83;~3q0g~D*Fmw0R>8vj$qO3U>HR_YK*Lu z1qhWlh^76T9P{lzI zDWWAX?J39%37m{;=9HrU>K0|)x-X9>ih_#;h`8Cdx{oceL^5!&4V$ zs-3aC@uqDauy(kvHS>ZLcT}pxM|LbSOz-{AbRjuR3_%KS>k_6 zM~ZZRDV0JKEp|x(9%dhh+gb!Vy&i#5`eH>OMAL-+w!p2qKEcPfvB6e_N}1qyY^d$} z0s5*h>K|Viplcmow1m03xoEH&fi^A%NL3NKehW<`Qc`C<1c1sAG#kC1h((GyxnRO9 zVOd;K?{Bt=-4EgGGX_75HM*L}q>Y>IK2PDwq4=NRXYWp#5{}7}n5jrIB2QWm zq|Bo-+u@xj9+wJy8of4K@&B=fo6V_PoevsA{VyaiMk$ekjV>R(5f~Oy@%mO~+PbM#>oo1tdiCSA(Tv;+D&Q{TJ2?e!rJ<+_3tQ2DT>`W5k z2`H(`AHfOru7vH0*!^XMM=z6wNg&ax|B_a6n(1sOpQpqdZ5gWtXyZ!Y94?2(yx~)V z8n8=tR2JF}Q0qo!KM64*7TV4*3M#H>vJ?Ute_(ju2Tqjz7tV>azI1{ubS6@N7k??1 z#`>`KjxC#@LP|-ZTsfT8Jk|C6Je4IhcN75xk9<@sDM~I%;2mKwfDp@FJmCrn;OTM# z?5k4G{z?6hP*Nt2Tt|dNxne6SzgP%Im<=r*jZz&pu*L1Eb4M`__=XqISR&_)g}MgB z<%`>Mw-Z(L*~}40;DX>n`?HyUZumM&gw@J1*sf+*h0Z;c$(@suV8LBFfez2G=sd@? zg@<18s;r!x1trBnr>pY*e3jRIJ4ONdJQXD6sB-0T`+YOm!ZNZ2>dp?YbEl}QzY3mtgLwcZjY?1Lf#GwD;x@MEuB+^+`r6F=AvV9< z%Qf`0hhjAjwF!qA4&p;*!vmw3xL6Eqm1^~-_RC(A{a!C2tX3#4UR?NUjjneST=d>e z8q{*9SEk*SVZ9cMV9XHC+*dJ&6!2iC{wpu@NHq zVL<{`##ciLE*>su$^=j-is9F{T3m8T-tdFK+vOXFoRQ7pIYwSH3^0@``lYKef-26C z6oRZ8cW$r=)Y0K#%jj9yVuz5(+Qac^yP%=Z-vBUp%)7Y(*KN-mA8Z^r6Aupk`>*e6+b^~rl-*gU^~OG~E@oK3t$sq#^mtzS3T zIP^ymGE1x=1Z}hX-g2MWgD`I45VDQn#%7HkJoLez;NZxY$!viCDMn;Ap4Zg1KkeRP9Kn1~) z62TXj@aQid4CO$S>hWs0gu{wjq(GVjQUQRKjZ1cat-GJc>wSK8!^#?^Y5SA@`sVBZ z_xmGnk1!*I%Q`dDrb+>5bQ^$lc*|GU>m(FG479*7zIsWQZ%} zuPF_G)S{HQ+k)+}9=gx~Nn?p9!iCS&k1=fg%stJeY&m=lGBNgMn2J^`RD~IfGAQEn zw&#z}?RHC$%$mOxc6a}Ck(v3o@Sn}0p$P$WnLq8TgTi^%6DG^e*4!yr`I~aB+JJ;n z45C=r2pjJvlzsm|5jj~Ai}1EnIC?eQLAY>we;@|aC^mnT(HB!3oJ~KDgqm?%Y9EqT|9i^)vovBl;I7Y z#`4FxLxtyV&VSq6*Lx076J9sg`qr10vg@C}hem>Tzu#w} z2<}!6RR%p5vi656dKm~323Hhe*Hq{X9W!Pd2vtf$x@<@Vi6T{c z6NAp;aTq;&ZKYj`LT}c8O_(=6QmOTy^-6=xSvXb_dhZ;$3WipKg(BittZx6Q*9q4| z^%>F1zx+G>FakXr*pl4)1V)BVm_(48OqS;hyjqQ+tx&1rXdRkVrRHa5=l_F-l>`5$ z-u;+rk;_Y~AO*W(wbD3?psz}YDhqT(cft18MXXMnkjWWUeDnu@NNl+=QF$^L;$ zYWc&>x;9e1TCt*g8Avq0HewWMyVZK@x23)JNoUJ}&ccCz{9jJV7=FFtj3?mmed8(Yrwjby+h!0olNYMK z{a=cZ|NqZ_RTubw%~k&&bO2(CLiGRuNV)&d=So`O8Yk8yOZTG#ZRunoXLr^lr$-qZAE@)L5v9h$yUL4MB^DsZ~e~g#{XdhGw&QZ$8XJ z!{_-k`5CTH4*6%^U}mSgAG4fyo^#%_JyNPTsNy4kijFG(-({@MZ(igiflvISL{6QS z>9j(O^C@NRZ+KLm*4h8_`jU!pEO?tJ$($pOgH4h1FXt)Vx3D`NTs6<#E!O=vv|j5p zD56uPej=PMY=vqDzB19@t>$f(xtgau7sAPx%e}+Nw}8maP&jsj-HnwM_0Cdot>W4Wq{yTL| zy8APMv!<=vT;@`+4c@gZyGvVfA=gx+YX)6#;RwbpS zKX%Si{M7g-lIc5w>F3!xtZwJ zP%^Wk>i1tV)Swk;3hDQN4c{X=Q5@DoHRlZ|6X~0QIM1k9OBwcp>;)G0k(3H=CyHi& zIGtUEAdW3p?|N!d8TR=+33z8?O`wPl%pA_NH3T+y!uff1_vfQm<~hb6Ecn3>jNS!s zGw~r8Bb63`?&G7H2i-)*8H$5Ts}+A@;s-t^pBCqhuY9a@=7Gn7M}jwI`DSfXHIMf1 zapcE9ZLB@6g@0~buhB+|?y^VmDNC4ty_7uDsC(H~!%c+;efd~im<#7(_-swJSPa+B-*^G)NgXPeVFoncK7u6*XeTkM9Ok* z-&&>=Tyv>4cUA_y%|GYEFVov2W^;-;Z&99C;uUVcD&fnAx}6G!BDnt|KoUoPfhzLG zr;=d%tl@77P*fWaiq+W;C@p0Kd+w2Z@^!859skbxc)D`V!OI1ee0zH*rq-@n{-bc^ zVm&>T!cL0RMlB|xqUqs%D`k7<)%RbLZ_W8?;HnFESxrd>WhFNE;fIq5gc3$zI~*}6 z9MFHylOS1FXeYGx>A38YPsh%Go~*~rq4#NlGgtC751ncF8cFq5_T#HIw4nj^&4ykV z?t{wi>aCvcJFD+Z)!Q4+Pq9E=qIA}nSbV`0W~n|i_@xD&SFCbTdnV`O$wPc(I{>KJ z+Da)#WEdB|W;9IYyoLchY<4ow6|6sT z?ahD>*W)dzPJ^L~KspzHPibDxGpeWI(0Z=Jm~K_o5cYkAn~1zY@W%Y-wMj|lC7~P# zn?qzH7fOWTise0Ob`1my3Y?OKDLKYcKKst@QolF+)E?ztw!PaMb$WiZx!({KjYlFZbu(GneSi>{l+$bQvcP6M)Z!z#8RKQ z#D(C!A*yKaoJaO$W273HkE?2FDby#~I zgLfQ3?(ZB2jfdS;aDRac&FEZhRM8b?VsTkX|K?*@?5xObe7)IyH4P$mPJBU?(GWTv zJZ#0o@;H~&SQ_4c<;2{@L@D^za%~;P5DIs;G>9{2uY%5 z>1u^rCHGDQt>E03gb_rX1C(gukOFXxM=yboMk0}%qw+WVHu(hF*Qg%Gw+#9awL5EP zfmt8(z9L#z$fELR1MZI^&KJ#xECGbNcgF(YdJ{MTG#00ShZORSdA1a;sZ2S#IwAJr z><8B@=!G4Fp*kDih}pWQGG^J4c_mA|vhVw}6vT6xay5^7fNI6K zh~Su>?-9WK__Nr(AOM zu(i|8T>-v-6rPYZ%)xO(0o-wfGBXIk-9wmf4(_p(#b`Ql)`E=4REjfedc|0R^6is6 zm!PSIj)Y4a9&S`IqSOE?hZx(~`MY3~5z1Z_oG%jRDDu)d=OSfl-qJ~(Q-Z+j{TOW< z7^Ptf?_;G&?|^~RWxYo6Yjx~h!QSX9=VajEg8o^5YDL!>^0bZ@H1Lu+*DQa&kd2gF z2hS$>GZ)_*2uf93l6ZS&CK7jKE=%!ycuA0u$}dLdzH$EfIHxp~@@D!S4L0V6n%6RG z?rdh}r_qu|n6(hEHB;A+K2rZ54Z>cr4@6r^&oE@%T;<62x`L(ZZW7*lc?8NF$Lyt< z@nK7UnQNjGOm7i@z*B7;89|b*U@Oq0Iwq=Uwl&hUUB$zIV|iR4c{*2QR&YV!byTrs zvQyB`)}Fv`1fFo{REL|^62`UX#9T`*zZtV%@4Lh?WBwN_A?qKQJxwgD!4WxVCehQJ_SEl89TfZEC zr7{i#y?2#UzAN2C^y15}j>1RNoI0A^BpPRga-E1fA}BZn;oHcI4QZ5!3dH_4 z&9s}pXvN`shTjSJY%&gFX(!%;@LAY@307z9ti`~{IihamGfoLVy4xC4qlOV&G2jQN z%$P%*?=W!nv~D1a1oZ2^IkM3Ia0|igVH7mEM=81P6N^G9r3k|DC%z{md-ZP#BLdLv zZ|&$3m>H>~kxSIx+LRODqB{F>k*{$XnswSEK=3UW2mw#HNR-RL7prIrxpDP>)so$M zt^^#DVN-hgL;H;(=38)KNhBObW&K27*gjq{B6@LiRv!>S$(0WU{i z{jn%Mb%QyGJv))e145uUNK065EXhQG4+S|1pNqH!vdYqIu;5n`sZP>~M@+flvrL#m*6GRrczhPkF79L^gxw10g7+d%8<=@bXT7OrmlNT5&zZ zU4JHCJ$(635P392!(!RyTiIbzo*HI3pMMTR>az|_1z<~vNts5f4)hxwg8Fu!dnWgC zPP*J&?0VqUac&_MOhe$mX(bvZ zHWN8hqm20#^=&Y#H@~}oE1}AVqXey{!W6L}eGs_@(dQc6frMd7Az)(o_NE(C|23|N z#Sr@qLaxR+Ltrj_E`Hpr$=Kz=TvWO6ej+vB=gXWKao$W!_f@TJ_u)ag)I{VTc~ zWwhE;Z`9W-J9l4+{<~XPwBkQ$ajNI)Wb7B%`<3>_D5g)DUaIbY5n-2bMIb+KMZ-p} zi5DC0<=R$;h+VvID+!o}?`Y^mT??MIub6Y)i;ik#HJ9y2QpY0HU-(oAe07fOHlW{} z%W3f|2^{q7%l@0KGgcX=&qJnrRGm?WR}DQdhG`D&iSF22pr2e4%rOuRdVbBN;VO); zg?lxXO~cKxbq-&DaFeSaH-=GJ-(MWgb1~Dkoy@osLm$L;+WHBRaCoMjCw3^M(&4fuoa26 z&h4LBZU8(Pb|Zf>*DRMy;~Q9|j%lP0{#|@UySwUV+6sPumEUi~xu&IUAJ?ICMX)B| zk|`tltF^cgP(@);czIVPAC3O1Cg;SJV(YOh*wGK2Ng6uUM0faF6c|?Mj zj4Y!)pZ&3=5Ons*G`1+!iC>VItg;vISPC^O^S!YP{m++MAl!eio0{Q|l&H%kgdLLK zz0DjqEA7wQTC2?L4vH11z$9+zU3dcv^>(@$%b5#1rLlgb&;F&9P2w4khN%vZ>R_Om z<>eQDd!Rr6OJh@^9#R3Z(K{sLoI9hCo;iQaRY&DylHfvPe5-oj#i>8eztD04QDp)z zApdofj-?&U1gZlL5u9P6LF&kCUd&2FTnCK(9Q#Rq=Tg!`$gW^B?3|xC-btB${u(bJ z*Va`YjGQ$=Zlv+%mAqT>xq~0I@7h%f%$!Gmy(7S&I#g=h>)PU7duf9WtYvp$n-!ks zr7b`uwPTUTrPq|ocQV(`pXK>Oc#)ej@#b-MS{c>(Zt3F})da8Z=l60t^{~kulQd3+ zbnlHFU81$F?Nl^FBA~lLO6hGJZ(Gs_MpV|LZgX>04wn30D&x7u&hV~wcsDQb!@mlD zeh;irVH&e+z7=`t@W0jjLO8Tn98hi_v5>gh8UK@txv$~)A$5|?;(RcqDSrb)rS*bK zeuC7r4g1Qlz1ok&62$T=@z=)5&9P=KBdp0sv1_c)ZS4&PMvDvfL9O5cd6cXP0pV{F zF*69Wd$eC05IES8IuRA(!SRojyUc2T2)C^^eMDsMM6(RTJBe9>*r|j*$rF;BM#K^J zT6f1)4Sx>Z?vCjkWPl0{7pZUpdE(vH4A(EA9#8D;{#@4>i>9sBz3?)AU76g}OOO$& zh)nV$&@O$UkYWH~*Xw?VYNWjrF9`&5?JCE$gV3eigS4uOHFzhdY&@N zO?46Hl+580xS8RT^N+XmhUcH+Cf;C-P~jWFgs)FIkj$1J?%k&Z2jNnj;E!qw0=-A< z4I+rfkBxKF`Z2hXBc2QcL`(BpCN?Mj0XJMu4ry44+N@mdvay|TI3TN$JSRJ(P%c5- z820AV={ap5xk5x1p-0CbA0@b9QVkYcO zL^$NvQm)|N-FDZa|U0yO)>2q-AT5ZD$+; zhpr86R&VK9Km8pAMxYm=lt`^mJ@DDt7&v-)`0d4vBXU$FqlT4!ESZ8Z1$MOd-sWa# zAK47M?A$F&4BgwQe}$|$y+n>Re;k8B6{Mj|9d5AO_$pOyTz&(16%BcRgiudc8ZMgS zNKCMdB;gdsKlZKOEHD1ahriWgynH}_=W*(dif!-zZ#T2d&USMlXrNY#>4psU>Ki<` za7)}AkQ%Ez-zdD0e=c4QiS!Vtk^!o0Sv7ontCWP}!DF9Jl9K;qu%K=%e~sjn0FyxY z*E#vlm1jg}07cW(k*T>QT&G270doaQ>?QSH)nkYtt#s|vmKU=)$^Vx@`^mEk60mM2 zzKp&BI%Mj zqNUp}gwj0Z*VR`n!GQv1f7(9tMI<(fd3~0Fj~bFx)parcvrn!;56sCbBm0QXp36^{ zIuEDwj58-lOLrFe)V=JNwmMFmJlwl>PfeCRg2T~{8+))!X?D{rjvMS8J%)H;Z_->%APu`1EE_ruVZZ$1?B^*>S5&3&Bf7Y?SU`7O!q+*}q zGXJ-0H+_J_|Nmdl|MSm3|NG;X{pX*5{`u#hfBtu3#P-iW|NQgMKmYvm&p-eC^Upv3 z{I7z<|M};ifByOBpMU=O-$j}KKmT8vQu}`>uhjpa{*Us?y;N5Y004vR|EgllbdS?9 zb>8tkZh!82e_HLTklhxar=#(*h^!=M1x336$QhA1FKz>n+n4K(J#*| zt&ms~!~h>Cj2YT!5C&%$3XVUF$QDz3v64(?tEu&?dExByQS0h0>vg}$*s@4ba@FF| zQt~)fw|vX>`qkUC^SIqkcWT_7lYU(7qKZ3;_ojxkIy{A6KJ}1I`P%rMmCZ{xQiL^=*3z=> znl60>JUtjWG}p9mKW)=>zky#DPBqeL2Af$?MSiC@wyUvI1&M2E#ht)y|L&rj4w~c2 z8ZE!rm_1vCf9RP;>e+ye7MI$r^yQYo)rrZt=C=fZ>vjDw_a+_wtt!pr|is(RWK;R0X|G0?}H%>wo-Pb~n0*(3uy zvR4}JO8~nMw`g=&cWJ=w$y*iO>v2qlND|97yVDc+f3BA?Z}5*)WR}&H%CXq%?@Zy= zI@H9yf~@*s2n8Cef#+T)fxYO_FCte{Dy~N>BvNWSh}HdQd-QPxjwjJvxJU0H3_nz#|V7 z2DZv}e<-3ey(d6NnP=fcWd|S)j6HaYPfoLad+rZ_JX)`vG&UfK?K;#hr2};!JJfe<{C-0KB|ci)FxzsVUg$CDv=|i>8G) zk>O^yJKEwOWL|Jta0o1XEGs0ZBVU!w-u65lqVE7=S5K|3745rrr#mcS5)PRggrO8? z9Vp^W`|?CS7gH2^Jv8>)!Cux;X^k=X)y(?EgGWtBw$2z8HEwhd;x!n22(&;(xTYj1 ze}yoyrncH=?+*l|_2aMOPt1C_ef(tE^B^4l4f5l`B|Q|yRu(%tPuGSLm>Io}c4AqU zsAA&LKIb)79Vme^Jcqhdgz^Ua7p6<;PDJZ2UCYMGIW3kV)nEsh2-ca-nM`nAv88~x zU?hMSLOZz^?Tf5{i6eGbKi=8t?i#s772lMmm@S*YQ_IPPT34>o zc;DT!(1~gPhF*HXD)_F%U=$GLUeI(u^#NJ|5~xdra^0e?Fy{ zoE#QhvB)wnzoQXkFmEsp>l<|KNPDNk@O3bO@^b@$tH+#%9+n&En~{y!t#_3yE{D!# zbFUSm5j|rbFohuG07}0VcmY_Eh!ENye~YYwQPt4 zJfnedRY>Ii2JV1mErcj1Z{#YSfA3Aqo6S@Ht+zy{u1D@ypZlCF*s3|P0l@(%aS~K$ zZXEb#X^vf#K{fBqhwiJ$Lu*^k1|!OnAUxoU{!uSwfPyq%3Ulv*=FVT^M2JQHn*;cp zw4r9U>*xN1a~mC43BVB8us={_9$5x{)@s{p?LIqJrTOcfU*`>YY~Ax*e`hfJ$fTA= zFWBhXUsnNEcI|uBq_4{NXKDyJ7#Rw=&Ia{$&TnR42Rbox75S9g7)7b1=-f$|jeHno-SGwP7Ihyjf z12w{@>HQN|k;d9;`^m#re*+ZzWrhxq{d4`o3$!+vR5ZhS0dbP~X06&)1_FPwB3|1D zqm?R^rv=mp!hw}EM~hn0(@p~vFf+iD+JsG^9OiEV6_LVcafX+3mQEPAZ&jd7wJ#D! z2$e^pWYzF@3RUDh*_Dr_|YU$h77B@)zW{hSFU3Sf~!k4e+YYmE`sJ4kOd}G zpnl(=-e$B4THN~2+?T~nWn0DLs``eq$p z1(nF(xX0CmHdKbIO;#nkNQXQT&LKeW?uZrw$xEvcKWx$0ijx&K2Q({pwRt~#j{O%A z#6|@X6!O5Oy%V%Ae=nXB(>En&Q#*EVqg-I>iUBdADc*Q4O|nUCsgExe6vA5>LE@5HRswGBL+u*IHcwD+g^bURi2L-B9 zX1^D^s^q`&^{6w@>gpuf<0{*}HG0b)TvE3$WHvSb5Qk+AORn(Q~%EFO5;9w+A+= zGK>a8_}D%yfkVhVEyz|`!ElRM-EbN-42%=}puy%Ve>FIXS1VI5+Z*QBZkNpqZre^( z->*|uQ2KjD%AISnG6`wSg-)KsT59?ii>TAxI)Q0=iP>kw!WsH@2qPpX_esA-x$iqZ13XsOhfj>(yVs9^bEjND|uHyqwooffMWg)}|Kb zmbTw%f8gJ$-)sqF}7qi@b;~62Z8uE5d>VT5F7jjT#`c?UO1A# z+?0dYPvWb9A*_a~wjKWmbo!)EIt|hZ&a^@fNyt2Te<@h&VB$@n|E2_Kw=4@3#*ehk ze{Etc8N*ET&!8Z>fhRHL8`SgS0!i!?7u9eu@p>TOMk?P9=}!)$i||+LHC_HJRlUb3)vi@L|=HlU_pFsuRY>Mrzhg zexSGuQsjPRKY71f_Rm4o5KI=6-pIP6f7K7|Cr4wj2kR;HBxxZg2sY6CRi`1i-leq^ zKpX^OF_j*c1=EZYZC|35)>{Ja0422u-2h|&avyX8hxp7z@x=og-bq7ldf-ZMJTLNq zy8W!-J_8?X{#Mmbsx6Q)?{}6e-fQVee(NO!R{=0iTAYy!m|G7>Jr^vNms1MQe+Ew0 zg78lD{vpe#6m8=>lX6P4oKo1Lk{vb$wO)EtAMUK_wecw-)t?R)HKKZV`*3Ic=FRjn zQgWm65E?Huf;4eJQW)G}WM^Vo5=;sBfdH|HCZ)M1{dJ%DwJ}}R!D3c5Z(RqI9Q3o$ za8tRH9%E)%yA}<%clQ2o)6uKMf1}Ip(;W=E|WJ{36jt`q%;3) zfy))4Q06I@t~D(DaX3%D_SqD5|4h`_M|9EvKiD6z>LTDW^H$Fk0W0`xwJWcw1?H0L zQy`X}KIUlmxdnG6%Bq*8n=hNMzAo^_I1>Aw*Dn~eOOLWupVyffjgeV@f1Oj;#FB7V z&8D%-hI^;-%%Q9tP>0~!_1tO^XHwJy&frvk0u#JhDTkbU?-jJoh8Wfd*nZ5dh836( z%@O-nt9(}vlz-%X`Fo1#xuEtlB|J6j@h27a+Dg!Uqb>J7kMgcqemAwx zPuD9>S{<$AzZ1UKZHu@vz9XfD%?C?J&z$9S!ZN;W@2ArFOb9F_=6Ql}bJ&fiqZaD! zjLeGQgS{M-F;H$0HHb`D`orYmLr2hBgTs~FZspV)v+w?)MRJzwf0@QKj=o<{)Y2{A z-R}L3%^n#(5Tn&2N#_mnX&_m``H(>bEHbht;%}&jU}3c!oD>omWD*2Va^>@rQCapjbni+h6TZbd7!i~S8RwiOGFQO zNh2`5m7ozDhA|t?e+GpMbEpU=Ru-)(($&&@-}KG4!&D&@J{exX>$sTUIDx%v^#RgT zb7M}gl|kGZ-~h?Tz-^aFsXCeO0Do z=+;@9i1+f^8fg1|8S-THDdcg(F)t0*2Th)b8bW-mA)gb+t3e|@hpCnoSin7^ufUp$sBoI*W9 zG;rGXHmiZTV00jl2bx~@b+qXy)Te^tD0g*iBd$fiqhdJU+$E1fqQ<&n62aSaRQpzu zCLJB>+>Hq+X{yrp4i%XYZeHb5ZEZfG4QG|PS$6Bs;>bTLgvET96W{VW!wJ#TK%pkp zTS^iQe`0-cs+Gj*^-b9r%*(YL#4+Z=tGkq2&vyTv6{I|lwB&o=_38)<2>BgB!lC4i zyFO?yZ2L7IaZt__vPao$rpD(g@LTRRvMk$x9bSaFat1e$5qsZ4wDBge?%GH($# zcrkW9oH(pbhu(w)4m6wwH?4_laq}09zB$$Jf7ocnBr6kUbGkJRT0=KYL&H-Mv6>yX zRj?Oy7U^2^E1;~+!A3oRy#vV20#%@tfmJz6<{?nYUYa!l5x!5%L7@{jgr8Ky>MRR# z;^ltscW^m~&I4?bV5(*H`G|FhtW)>VhtJ>^L8hC4OtYdPQ(%#(QQT7dp7HjO1wo!( ze`!oz3O+ zB5iGx_ious%yY?*qC}&>Fp#nc1Y^ARe=;@gJG`${eusL!>N>7^%E{STO%wGsV_HV- z__>u}SQX@#IXG#6&h&HhM5E=rxal5cQz3JbU9K__FFha=K62hkfK)RHOm)DTf9v-8 zb!cYUvv?EUF{W4lRTR}mQbHdn5&$GV>->EG+Qqe~-um-(H!mmU-mhz)seq8E0c*+4 zahVKGk^X{rbmM6PM1s^T5igRL{Zbe&Mc)V|>)@0IFov9~lJQFxPw1Jc17h#n^f zWzF9YtqDYR{~>2WErmTXO)-0W_0lqFlse{ca058_>7 z4JvA9v6FUjNmc~4L3Lo7OJmjzr4W(TRItCbp4n#cl>>7 zNxNv$s6((w?Dl6CJsOQgTA{fulrCZgh3-vn>UIt4bMl-o2~Ssr z5!FNqMixUGZb%U5uZm1bf1Dj?%_@P2@5#h9_hEvHd42JD(>biGK=o#8Tc5@6J_(W+ zJUhrCYN)(;!A}j+q3prmwc^s z4)Bh?UJW0$g2(rNf8|UFoaeT>T#S6mCSi0);&7D?#K+ZKD0Lc4J0dd|6{(*hc)BqX zG5`_gViQDN@KN_3wvK!PRa4UC41NnW=QcYDFuvx56DX`<&Vogp2`84FDRrSKg!5@l zwLIE>8C=-AppdRrn9}S%?%{;f-*F{Omppzvy^vH1W4la+e_1yrCZoArR0Y&d{63U# z2B;@c7&IB?%)7)zLu!4;*&7+mVm(s5Lvx$$#gyyux=d*T{D!9Z5MSqja%dT-B+G0)_daG!_JEjE)aQB84O_5MO$z<2Eo?B)+W<9;Q1N=yub7VifzCx}C zOf6(6A1=d}x)0UaLDcJ*4fe(eAK>rh#E>#R^z8@%fBJ^rTcgFMPE?#Y9``|JWyc_Z zhT_;0(PinrOH-@SyX59Vr!<-@2&?wrA!lpmQ{(O$Qm@^=its2{MmMtlUp`{@zuvL} zi~rA`G%k8U{^u)lAjDreY$6!{vjaak0?#7=xnx4utsb$$MYhZH3fH#Bbd&Y^f30i1 z-g=#Ve*-UHVY9GeY+@v=e5&{;t?_yKYw=#S?WWV#OJT>Mc0j57<&lBvkFBNDVLj9N zMBK4A<_ohL@@<2j&XQ$HNml#2$8HBNzC9FC>+^npG$mH;0 zQjD*O$NVT1f%ZRfDaGq|GO;TV?Tp+d0eu_Q&8Y!w)~s+`z4pt}2FTP;p<>CA+~lk?rHw@i zLdO^L6*o8Vwq{2)D(9Ku?|9@3CjuW8|-7kZQP#k+JaU33S?ay=<(27+(1+U-$;s1sO3)z{^?`ka7QQith@?>$KUJ z)eT1`@<15H(+N_w1#e#zT+=0q7K8a6aAr1H4nJsqX*H!zROUYjE4XVv}N1FWHVp(jfK@!i{+( zdMW4I_TH;{f5qPR^;jIcgz3W-H>5`Z562IV=!kN%;81AJy9bgXo_L^3&3&8o$B{?t2)a=(P}7#g8v42ctE+sho_VL|Mzr*#pxHLv#Gsmxdq8 zL1Y`a%1`bQQRq~gf83p=bcR;zcnlbB#Vzf)rOjBM+F}&iI*gsKFTReGGNsUsZCoK8 z53Msr^==iW!~f7u7?u;Cs-|K|GX_;&8c zZJx{>iv#NLGY&O>@z$M;zfG>i73{qw0^9SjJmuGPx3J7v`?PAxrd`o0{QBBY>OYeG z0D2l!H(WCCzp59Xo3^j>a=t<<+*OT3YOrKvgbXa4g9nqgf(M>P{NJ38kz($Aij*_B z8bH*j7{$vpe@0wzE1O1_q!@zMX1C|%?&-tdJDhT@m&qRYmxC^*-s03zNyG!e3E9=h zMKf}29L>N;=QvwHm7WnL=__X@lzpFkeD|#Kx#s-x_2%`4R`p33w%crEUyWj?xzhV{ z#;KF7=f=venFWN6K}1EZA3SJ>)E|RVksZ&2MBB`pf9vhP~C?PPyV9tr^u zz9w7Te@~QMKvLemCsZu(m1ze|TQ&RnqfxNYq1&C}ik+FGuF`}+p%`osb?fc%1?{I% zBi9&ghoWxB$0M2j#9!T8*RPY%pf0)EVul;aBpg zup~yhUYIG00q8r#Fv7CWou3}peV{49>wM4Vf3~`;N}f_@#Phgt(5_pmdpkzdqmdSg z;JywCV=}fvhYj;Un{BZc2Qm*k&aiL9RyXi=l7U&Gs}@0Ygfj9dwFO|r0nIoTlVg4=lx@xPud<4m#n+K)f{{5{qMGfQ)dRCK#Djm+`4)sh ztTiHTl9I(3O7GO4=M(i^tje@1{w?7x>&?^f(G8^w@JOC*q?2o%h56N_F|HL^+coxDI0Npj{#>n)E-{|;{` z?`P1#*E141o3+p9>;m7L`jIj^fB1?43M|<`9!MeVZiosH!lVsEC>|sacSlI3J!^)8 zMF!thLPo6Ndb`2r)iD{0Zy6tNzvqLey|Vu(JlU*rghG?#Js132rOf4Gb|+6A1} z;Z2SAA@-fEOn`o(S#(!oLBhwtvglCc9(oe$h*-=5LG`1c|4-esorA#dN*k( zcI~)`3grNy+G3$>2b7@K4OCf#pI|a;QQ_+_LmH@-zpZMT(OI4e3LFm@s#b&EeA_tT zPB>z$KEG|8ktBYai|PBPe;G*caZIfCgq(KTC8u%LOhjpzn0Pcy^bXb-a=UBP6V%(W z%*a1)7t7}G84?`ZS8RS4J1(xt{Ag(|qw~^x1X}mMr=f^ux(=Z1w?AEbPsI{xW=tQ$ zMS?A^*2W8B%ttd45Oa#~1g*IFkcyRATmpZ$Y!2Lpu*E}(T=Mq#e<;3q4h?f)Q|Y}d z^e}&ZV5Mc=7;I1D^F4M9Q{4`5)Z4bjx7zwre_N|V{45aA%w}VS7&%UTd?;qzpZm4) z@E586u|9{wf=xR{9^%ZIe2VkABf608jA~{U_MvHIF~Nkd(HXE4Bub57m+rq zltFERFwp!P@uQ(nEhupJ!D~0)aj3kW0wkmIqk?M!IVOhbxRIUl+4{TnzH!y)W7_xk z1Cp;a>Xk=&y9=5c#U|S$7xxGPf}&y-__e?UM%s7INK#(jAGwEaeC zsq>9BioYS*%akIz7i0Jeou-i~=uJF`MHU1=B$~1|BVh zWH%cosu>UErXQIfx`cEZBQP-2Wnk{syvWul+d3anjkK zO9`9cC-SI;e|MzcPOd@Nkl1Pa9&EDLKELe2?ErXt0<+gKdzU0FC!ZDe&XnXfl;NC4 zdl6Xm2qz7@W7yTatl`a?<%w(=5G)8_Q47p=6Op`G-gIO3?8@}Io|iplr}t%TB^A&W zrzl!EN+9-`QXx=<$Al&b#6UarE~pO8#bItWX726se>UrkiHY8Y02u`4p|WYLsT`#< z%f4dXpl1U{`qy1&Bk&OQ*!I(LKA#Ens;A3jmcn?E1j9r(&?L{_b0vNB{eE6|5Oi0k z4ELW@`%H#p=!rXDa&;(jqel`8wc*T9Yw(SBsfs)NH?NWsQC+rv=?UpMd;pQngEZ}U z!ERR8f48RizmE{F+#btMuZVh*q*8@u$xI)4HVh;e;r`0dL_i0SCvn9$vGv{Br)RJm zJYR{Hp`n+lv?*XdPVQ_N#(Y_)%tmIHj8^Iq;rzuI=WgF}PaUBV=ZQ4>364|)WDE#v z@;x@?8`iV!!Wn4sotD7_(LMxcegb60cYz;g{~@5hX%c;8A`SuB>L`27tXeLGYsAhtU$`V3>~oq3A$)rkr5 ze}*|l>KD@>2A0m8vg~*|)pSPpe=lQojpSE*u6VXZqwkay02Oed%oyH3&av_0MmI5f1u{1=looltfwYO0eg1?-JQe~!Sf zAMoJkX{qXhT6A(&e^#(vFE|{39?n$yShH=q%T+=qs#rM(1gNw*@YPF^WjCCScw4iz zS$*G}h-K@)j3R;T)SG74S~&l;Q}ETot7=#nkmso*CJu8H@L8gv!qRzZ`7;%=+=W>2 zgZ9vp%FJO>^O>@k;h1&Q{j-2se>;r>0~Wl$KWf9Cg1h?*;pywCxg_8e*m|vTa`pS2 zy<5`TH>-ck0ksJ5XVC5|d;9iOrkH8L1o|H0N6Qr@3*CT#VBnRl7=gCwMfx!{SP;!dTu{?;Ccm?Gi0GlJPx{4Xge+kzY$Hx{S zVu<(lHwfB)NzzB|8U*2wiZiwKRy2Ff&ZMmacOYduwdao)US4=@7s}6Ygl!i*U+>}e zm7JvNSBKTh32j^Ycb_*$@*$sTPJVQ0;nt6u_m|%8jlq*B$D6jb%@$(Wa3}T$OSZqO zBbl}drX=vdpYTbj$3(tff1TZ(ZjW1=o>x1_y>dR-&6)NVr=wlI8iiZLdX)1UjZnzX ze`%S$e#(YP9ZOQ!%d3x1(fbZMXQqYBq0synX&Jv8+3R;`Z7mQc(2swq;%TICV1Tzx za|Gtg@ukTSy%6K^y^yFC?H!LkHZnSW7=phi896$KoSmx3G<0G!(HX^R$E>L;nPPFlJm@)9GJJ?bRuW^~Hoh$uEul3y$b~YA`!MBece!CUj%c0*4RC$ zrX#7jx$U8U)P){`YjUcE}#?PW+~(W-?OlXOKMi00BMS5uIUi7TC9IM`L| z8k6C=SlAW6ZgG*TxjNt<@SMW zXYUQ*J4pk}aP5hyOva-9RBL);)Z4C$;{EF^t;!ccf2m)Z#HH>%u6 zBHPycv%^zA$~;Iv&x62h*AoS>mgv!q0a;?Z zIu>T7wgHT32YA! zxFtGotM@BlZ3f9k8BmCiA|T9W93;pPeK4%)2!7(j&|71McQ~wpF|4l<7CS=qiJ@Wa zivdL0>3Rg?qP!iz-$ecd_QWrgJ^2~_f0}oPr)BK|JR;x$YRrBafh*MbVUVRV9GC*B zx7%Vr?L!{fI<6Tp1-e+R@Qfd&om0PEg>fc+uFCWed*j|;hwu(seJtf6sUB78y+pO+LJZ{c2plRe0FMPFD;WvUFOsDIi6GixzNe zxY7H5>&0Y%{4zstoJ*+1&Gu8>t_9}~TyTjdK8(l~Mtj!yC^PIfqpTlVi`J2tN_yQ} zD7%>WWa?V=$)nEaCmbJkG`YaS*ZWh>cbX@!?@(EaAgU{2jPRcof3ytct3wqA6Fxzm zJz-Q3+xfQNHRHmvMW};S>$J2Q6IPAO;1#1zgAXq54Wa4ffXiEy0?w z@DKk(_-md zC`GiXgduN+8hTNueUs?V^(n~)e}c1eE(dmCRt3|CEq{^Ie*lW~V3cLG$@wsUHi0lE z*|LJcF?;u5rdr1aW(TY`fQUt{>hk&; z;>j`WcUcW5f3nNkLTj{G)-5S?aBIEbfW{I6poFW>bGrK@k~^fR2VvY}iZ{i~03U)B zqX07Y(nx9U6?bGT8+yD0Pq)7#r90qgg<*hE1FcwJIZGo+qDP~1YL1%Dco2m;mDd!r zgsH*Fb}u$ZaV4J$4@#8?Kanzi>* zOYhY?8_|VLtRiKoaW|`_o{4;}utG{mB(BT|1O@>?khREGnsc)2r}T&Tbt9HC9-g0> z**WJue?8h^o-fESNg(%<2T|8oYJV@aMPf>bhZ>II7WASLM~GDN(l8=6rd?8GYgbeG zP8A$Lzq8r=K>y3&h%8TfXon#Ic4#$R%r~hFZ1HISUbECW^aqrc9D|qfe0*TZueS}3 zN&zwr!!$DSMTfu6QXaBB5k*K`jDqyNqD)ZZe}-Nt;yg~nftPu5YQsnm5 z(Rs;ej+=gkijwRQnpH^0QQpKK59@`1G6Q9`JZ-q`7~ohqqR3exKC04<>D->JypcU~&?*CBnlxY%acy1KK7jNv&O ze__iTSIp~e?9H1;c(`^JVMJlViC@g?;B;EcJN?DyW@VK1h6JZha#u$IX&9hdP0*}JB+4#Kz# z7P@A?>pd~Z14CDieKxxjTL1$&F4;4W}?WU=w=^ZBccf0PHQ z2d)3)i6H7~?Naka|GH~wai6$Mwvxf?{8~Gl^P!Lt-(qpiamS?Q`{sO`;);|IV0Ae*K<6Gtg9sNTsda80ARt(MW*7Qf9Xom59Xz{! zU7$``41=ePp+%#}WmSvj79Pf2e+)-J1csLnn!s3^+|^_dZ|*1Q!w}ABaPY1%f0&R~ z$ND$z?*2I8yvnFtRNhK#seE4F#$!H1=MS@rL3z*Kb4SJ(brmT#o`3SrAr}`+lhyuL zB;9U&h7I{zeQ2hezC&q!)H*`;@jk^7PN1YT&pxPL$wSR!vRv(HClTrLe`Si)Nsgewmr;gpA2&({I{M1B+~Vk z@cY=I^7WfxkqyJDpX^4--&XHXwBMD|F-c3jfIT|uijOh1u(HI9@4@L2*GIq^pR{K? zcX_kV&gaEzFH&lnS@c^Xe_vjU8RHPWenc_{B5EW+kaxd9xUmtb{C$jtZr^3+R9-cFq*K`)rd~N=_+*b}~XEmyh zprD0hpJDoztgxfnX1DC!V=pV%iD)XQ+igtA944O#>?oJpvA2$9XI_3s9j|(TY}XT* zG)xcsZbm%~#2bz4f0J<%S=Bq)L#e~5kZ#8l zdU0f>a~G|PcEe3L1Z5QBaVX^b+=PZFL57TiC%D(Mg>K8F(*g19RWg5K;q1aK!CJ=z}&X zw4U4TI4x&He|Be44{y{FO2+)jKzj0o!Gptl4KfP9TQ3*YF}*DGE4e6P^DUJ7W1<`1 zlPVp{ar*}=IMIwR`$uBpvZd5C2D#oQ>lia}a1hfozTHd=IoY~v3jV+E7xk2g@VOjD zhvlNcYQBgs--w_X!mZH*tr`rxzDjcDxP!@57IP+f;duf}7C&UNHt(Q)m3mrQ0eD{R*C z@*7>IksxCG*A8e{dv`w2=}H^UW6m@PPua955|GV~Kzk-;$#Xs`M=)>7rc#MgY|oGD zI}}%(e+QwNU2R>84cJ#A4jEywBO`os+b&}Yervz3$}u`^vQE7cpVt0> z-lMa&k_qbA_xJK1t8ClA>Y+{<3Kwmqxh6a`ZVG_*hPuu~ig$_G)qhecq^Yr-BM-jm4VCIBs9rSLmS-KDQM5_V5MHX$0R?tZl@z2yNl zd(|0s%Ov(oQv?xq1?Vu`7gb(uuo}vDkl+ZO+hlxfr00KIrw>r?SsPIi*kj30fMjwh z}f4R=X zHx^^%xw!*5UVd2pnzH<^azW%i1wWHS#>cUl0Lk=+AT=Jn`(yLubqyuU-F9MaYj|=h z2f-*(V5kvnbvuNzy5Jmm!VnU{CRRqbN$VUf15tJ zg#6>aEu|wWp8q?o!;vqJY)d&HU#hV)ntwvi4bqN#9^Czl^Y}hT@T%?ee=Q$3+Llcz zMO|^1c5FjMJV9b3JfQ$THp+kg-A^I1iS+29URXT~u$_Orai5y8@mQAWU6k=UAW(s# zzJ9hs6UQ)k8_s#);O66RW|T^x_eGV#=K#0+05m zIs>|*k0X1Gk;u#go}Gs;vM`hii&Ph8~Fre{H0tvJP6!yiEHJDiu{d>#m$za(jiVb^i0xDq4ChVA zQ8k@tT3I=h?XaS~-~R`v?igGN6LkxpSSPkmGO=yjn%K5Iv2A-|n-e>k*tR{f^*!Hv z->Uon?w?&utZZ_6)DrY+KE&AP+AV;ZbSAF7iV4$~=xgP)!`(I=T3$)~9_mAd zx3p$TO=!BoNJzJ;oeW=x6JI1s{N{7H(S7`rl>{0)Kr=)#e>}|oJ@zCQ0aA|jP?|Dt z(jVJpx%PFpkjhWK7%Msfs-NbU30Jj0G^>limnUWe$B`Lk3Q%UbxkRtlR80;mqoOW~ zGpSorVK~54&oheJ!Koh?tAHe*^zxL(;Z3i^2f9A?490nGtn5xuctaFCPms51?EFTfci^IQ`KtQsJdW{9dHrT#S%P%0eJ ze-_e;|Lbzj`3QVh_)7xB$mPub{WHdH!$7s(Gaf8}!&K zj$p&&ugpzym$W1(KnRc{`7do$Gn=WEZX!e+*YkUXe>d72k$>!gJa5sB^T|gq$=_&b z=+_-XntXeG*?IAZ#~}`(E*4?F^$y9bPpDp<8+wQq|#j zJx~VbfAB*=GcIy(!lV}tNuSj8GwprBfzw?Hg2B;ASSeMzk1|djT{tTTeHIQ z`nrR67(xg5_MSxJZqYd8&ub|&$D9WXZ1ij>K^uM;P1CnIdjS69&pEp_iZ^NH@?6QwP+dkDpK~= zloiiYqf1n)PctS^j!TVdaivWO2txgMn2PbNKqF;F0M&4w^;e>SBZgG=MVvJ7o^ZOu z5);N1J_AfXVnr2X!EeM2)0UixeATDdu|3CGw2ygc3>WHhiDqbCxk}4r#%Qi8F>-_% ze^MpzgcgSIa79H!`dH<>1k`p+<`wg}zaO5aKiEi@m_xS`TjJTOyW4O_{l!e_QEoht1S3pJ z;drwvc@gs3cfv!7CN-AUpb`c02Lp%;3X~}*4?H<5b!r+5%nuOza4J8(1HNIjNvz0% zSbtH&{~vXZ#Iygab6kURB+zIbx&3b63dWQE0nI9!k%_*+I620``kytWXL?*Qu_hl> zXG*7$Yt1vc?%dm_)>Ja#kW(5gUE`MuZ1I!vNem-o3br!YcD=C z6_As1ldT7Hu8PNMNj7%`c{+1vJPIXROn=EH=6~DfaZqS5u07DUNE(PsAQu=HuF|Zc z48bgdsR{uOzycgdDt(7sp<0ent&fNbk2)hLH2`Vpcg0|)jJwol`d(ZRSAxZYZWskn z6+!gen6RRK$`(`-LVQec2^r{ad_sLcBSLj5*q>!h9(mA$S1h}{ne&ml*aG1ANPqAP zB^xS^9aPsxjcHJhg(h}4z)?GsJgo>5&jEgoQCT=@KV`=pC=%Sq*EmGv4fzweUf6fJ zhX{q}hJu9WgE<#Azd1=WZ34cqp8>6|EEu>r3#Ist8cNmz1aKsiLS0=6Z>zt{>w3X{ z>cN}-QX%s*lpAzqeHAZ)eJe}8=6{dzdBhoa_pkH=PY$sp^h9E=2iM0;$|P^L`v_*+ z5CpgJM3ormhXaaZv-^Y!d{XTPj~!V)^oTTmK!7F?8JV_G2FHpCFe_K0O%#p z9UUkXWW2&G>He6iaR5JVEJMq6h0eqzb{XV?dIT-QB|_^81765!ueSV4T3&t`!o6z( zQHg^b@r+tf1(QURJa{jemufGpc-=X!%DNK87G%b43jV+k0AENfH-AsVoES~UGIYj9 z1jP6Z4(jWe{)j}|8TP-}^i_MT7O@~yt@aqqyN}AyE_w!$P-VTrfI&rQWTYDzcrikK`?ls6)7KmcXFbk&Vxq ze;v;6q(Dpa#;}cG8glUF3r`wpo_XKcuPfxqk4hUzG#9rID}S9yKt<4mG*H=$`UQyR zt|TMGd*Da|YZLxLi-DJOpvAu<4a)4)aF6T#HhjpruQ=0`b3)`=h4%#S5iyw9qs#MR z&wPQAGUpFZ{O|p@E2ND?w1gR+<3^g}wSUs4e=3$3trM3&6@+4<0E1xh5DT(o8obsy zwb+jtSJ&r|27hy%pu{*xzKm5R16Ter+1mNqHgQb*v~bLLVxyT;RR_s%g39Z5!Sv7> z%;#P%s8{kXnR0M7Ji~3N_r@~x0s!0;wjSS*MrH}2t(ZPMQH!! zP_S?s^=CimT{8N^A}Yz$&R(wog#w@P9#jL_}3BGDvFe69K7IQ<2PG z~dwg->b_<3jb zoS9`gXG^;BN?a*olEH&gW-D#><{}dlRt_&P!}3bn@$dnG<^4<@Q#xA@l8b^nMh?u1 z+zX16l2vd)1Gh*&GWC{cXNsNb%qL%Vl(xZ#TgtVCK*uDdtaj=vA9x=Kgip}-hpeuf z^M9jEbK&LY)2=vYmxD*7=*YgbCZ*pw#+(={1t9>GXyYy<&XAWn?hW7J*D-CAQKSYu#`!z7Wyk@%CyUB^5lX(iu4Qws}Q?? z>3@~E-9$D^4bvO##Og26fFOep5SKUINPh!8KAQVlGvo*9jHd6B+HX zh5LqX_vBY5BYU^S@f+4+Ejthg33qehVa6=C=}Y8^WC=$UfQc~qRL5ue~MC+iy$YRstjD_qO?V&7METFsqo(ku5nm+6v%?ln&t z6gcW(JkGf5;9OhA)!4XHX-*QBr;mbJ53gV&ro#W}lB$|L_|G`+YQS+|U$`slJ0cQ; z;EDZskNBDO3c;a1c68GSCfz6)?SGuzkX@_==BGXHoU5c?#Pu+tI}G(R(O9&=9HZP^ zDDhXBDKv7z8#T_j(pHQZUY`v~_0}EX?&oC~&KfwQ7rsDC4zA0#A$o-yM-v{c)1qRL zFryS!vcoT8)a||cDrvJp2r)ZXcfx=)5NbPAqJn&U`|t|2mt&n#(4 z|Lrsm6WUihQCLy7Q;}xB(v{~~4LRfJ>w4Kg#$5NUF;SWS=9t6z#VPdP$a#=oL^Cc1 zw4>i*E!|KM-xG|lN=p5&-hT<);WU7fDxQj}>O>zLTdpg1tqyy!t=bt!^^_T**`k?m zk;wB*|A?~n;>p9Zc$&N5U<(BAoK);6c`oVT-We_ah*w?5U)=eBE3N2#LJ#LdS{^(| z%8%ZbfpuRNs7i)PHtk}6v!|)om0~t@M_~64Q3`eWl*RS#>KfAWqJI`eF5oKE6HC=! z#`h+~YV-s?ea^K)C?A->s881~4X}mt59|Ewk)$AemG;P~Pa5??wA365^HrKZFr7G$ z=eYzPMC}F1`RaZ@FZ>=))6u79ofa+CgEUd>D;+f&v=$p0B77pNb2w(i@$K7W+KENP zpmnpXfKfw$K-dvKpMPZ~bWd5!#K$%s%?_HpC2&t0d5&&66cl9dM()uz*M~ot4jlQM z3p-oQQm>8-H!3bUuP@7tEc27N&>@Dq*Qpw06Xn7G* z*jZ%QNU_RZz%)7YAx}~BcEZRCg`L_~$=zA$Kh8maFK}4@V=`{Dd^7nBcDeTBSN&xg z>s1G>qQxNlj?q@jb5`JRFH5Uy2R1u%_{opC7sHfcjZY=7?`Lh+dlnpi{G?ovlaiAN z8(k5FHrblG<9{l?2>%BSuFJ!7@H{}+upwz6?Y*96_PdW)n()&fi7{m@5kFCnc>y}~ zv$+(r#zEp@9%o_4x^?@V$KexmB?GZ-lQh_7n>M2XX=doz|ETGumUy=F4$*vMn8_N6 zj0YtWVnlfs5QOI0&=on+;@)Q( z${>ED(|PiJgWj<<*KPEja)5{g1Ggr01BaE3h&<#!I3jq$qIR>rrRX}kx87gMSM8HY zs@EQXCVyw^J)^q%I`AgchdqeGrb#;2-yQzBQm)#Nh-WJgW8?+B?nUQ5iOclGR%`;T zPiJ}mPVCjxcK&-M6Z5-E7#gd4&C;PLSZnD~j}^y1Tdo&YA{Qxgl-`F9HiD{`}{;o#ec_}hg z7i-N#h%b*KVV&Sfue}hrs2Jo-jM0&B`3AdYMmc^yOo?XWL!27RuVT#=mf2KrpeofI zgsc5>4ip!Lkkb_Z%u14BGsGFf-};JmwArf8*US;)Lpmo}5+0&hn0Gs%G#$rg0Lbvg z<9|r!PR2#Zcb$6m-uC_C=tRplXuJ9uh*%%+XkuB2E3X*3Tx2+T#^l5i!vnj|l54sE zC)YbvcF!i&92f}>7)L>ciJk+POk`L(2ZZiWb6>h4uPtq#hB@dU!a+onhi#D78wDWo z@r}CA_;(N9?{ykW9<=4MwXxi+{@Pm(MSo4U73CL>EkqOVhBfAkSQ24_igYi}1{xv7 zfc4Hv2cAFxmYMkkg2bDnoXFHU|2oQ4ed{bFchOzeMxd#??2;!;-EZ5J`tQ*g zPPsUMo&8u<)_?1}_&6S{UA}Z?YlFwfYG@5vXQ_-+4@8L(B7<*WBO4Xkj4bZE2Y&$G z$)ap6n)e}b4$KI`qE82k?!Qj6uB+hSM8ttrm9@qbwa+b$ZFXLX@6#9*V^Kxg|#k{jo7W`csaj46$ML}RtWQ9Ow_a|9%0^A}q!VyVZ)|&iRdP46S>Z*8LUJ zyx+Mlx^(|8X}K+!j>O`cK!_cUVO4${bl+@2QNcZ%P7q)YPtFd1{`qg{ynp**D9aPu zj?o_`w@6xf-#2|k2vuNIf2DXVOgE=41$|MRlPARpChtTYuc2S@2d7RFFtl8zFN~pwX~X{Xud#VSebH-QizK~W?n^uN*LxSg ziRxZ0Wf2Tah&V6hWj)Fu#6<(EYF&dTmH7 z7_obMjjo6Xi6Sj}fXZaVF~1mRO3V|h_MJQP)>%i^;$Z=s>S+XPc&} zdBx%5Nhr7#Xin$PI%$Cr89CqsELZfuZ8ymg2Oq})_RRCKoqrnl4;yQi*9v@@HAt|> zjk$dmSQiuowpJy(z*g+5h{_O~%JI`kxUcgW^k0I&+OQG}(P!^6(P{DUv<{}GBX_?+ z#@-_jz1KOMa|?<~#Zv#_c)6Vdos~khN|0ZnP}REY~yQHPqX9f^{cll9$Q|FdQCWS`Grt4vKoN_$B`I zIN`v-amblnUC@`rz*mCZ#~d`T=L_SKsUa}pO8yMh^?aY#v2X6zfN|~n&2#B8 zr=vfE&vEkE;VeoDng|$GWp;uls6`Z&7xrA3FAG#FS$_!^si~wR-^9f1|G}QT7~aPY zG6-5kg1l$lPcu03I#P@0tTKbSVR`y_Nn-KYXCc@nA9HU=Ka`-_HuFk5ZT6*c0={FW zEa#QjD{1#Id;f5k-lJNkU6@G{B`JzepFNZpq@*iush@JJZfsf908s$t6gXmz%wIDc z{!~bKCx40LKpz-@6I_9446SYitwB1Szo3C)&XJd1-zz0>M?048#SV=L#ta*ziO`dJ zvG_rchQ+!S-mBL0mPmW>rqNAeztv1;4CiS~1)J+WFVg|lT!rS2s-2Fuk&Zs0ce)RS zR714&Gfds=lAkrn`XA=HlqKmAP~}qWnA5QIJAWXz8w1@uq2I}L?5tOQ)j+PMX=HJP zgA_MH$PFukjN`|&z8?hPHL*hZZU?fz?46ooMY#Nozn<=U^3UeKa}sdmAXJfk(sS_D zT3`b=+7G;1F&=bFKfp*Vi8~6jTLMrn2+FM-5~Lg*0hJ0Ffhqzs{_Av-^op9QG{G2c zA%7F%XJ7wGn)^owG1Cvq?x;^32g=sWbub%IR$jRlNOlx-(tUzvO2ye%`ZDmHf+$(W zo3+!n&?Ls>Frj?oUfDYOB))vJgL$xESm+eYtGxWvahKMSYw}11~o4Z`|!v~A3p8H-RGh5c(wfM0=abfG^ zHbob`%srtXL#&7f6q&Mn7i`_40Pe5#j33wTJJWRrZ>n4CkY(kZ086PHiY116FkKI? zn0w2t5TF~bDQ+QHBt27dxl;gCLphgH{=;mfR2d{O0L3P;3pora;0<;WS~Xe34iDn!bjTDKyKi`ZLBQDqS0td@XHGd8=6KdjNL$fFl z2mn@x`49||1&JY>!MFvZMawI)qJQ(wm>$N!fZ?ysBrXJ)6OOP6z!^H$DE%Gk-(Uir!j&!0+`q`D1k@j7M_02A2uyFQkw+0f;_` zSi&@`qw&VA(u1BYVSh7*!hln(a&)uxshZPmEjVEC+gm=3x~U(+ix9r8DHTScQv?Iq!Big zvfFK<&TCe0>UIO6Q!4m7WFz`Un>X&0!W*;3@UVbVzs=OE3V-Y_8OpYzIW$pCOpl0yWcxJ}}$ib#{tz<{8GkC5+BNW>H&8X?7Geov@71-89x3wcD1Nse%EzORYW zWKQ9N;9C?Ml0SEFcn_N8onpi!5E+j*Izm_ppc+_PUM^8sM=XYk?K|B=;gIvDn;hFU zi0pumW>Q#FV}FUq$^Ji*&;@gH*f%Jx9YBBe~;EqaVCzO zmx1k^5EE3;Q7fL&fgi1?>RqUU_zGqEyGJi(&Q5caFG}ciU{Op_?%|mbf z{)(wThLKf<$qZN$LxG4A_T5Kwvuui!KsHM>4?s~epyt=U$N6p4LCzHo*JQaigwe_D zJHh-&hCdV`ENLDZZbUu528}*t6?!KwM4hZvG`{ff?u$BWMjbX`AQwE5@f<}f_V)an zIm?PnR>-URb<6BiNFf=U$3fXLS?}PCosg)v5oZR0^`PaqrRc$v_Pxb1y3sn!Lfh?L#t@PX z(6co1heGQZbRp)meqI|?3?HXo9EJ*(wm(U~Oy7m{hPJM3Nq!D7&u2>bAOK<$aY*sl zB7cWqD?>sU%EtX>K28*9@!DR_n+972bBMlfN=nK}V5LG)NGAFTyO~etG%`&be6Qbj zCj_qBV)$nik%*&_f)omJDXjVM2+ko?yqXV~O9l@yS1{+CY3K9$7TXNpk%g^gQFUMr zlr$iAcvN`r8OxfUl#?EP!#4f!vOkS~BY)cnx++E)@X6Z3XloSoi?*Den>dW*mt&tM z<5qH2JK7aLE@gjKy7%koFR%9;tJ$^_H1eQ|qlqy?z!+Lf>WN??`9D+I6d}LGZE$?P zOdmH$hAh9-OX2SWwOir(e{2_+fzt9S17yOSu;A>B+ap)k11sW<-qcImV;%s%kbl+y z=Q>q4F7c(f#1wzUH9reXi+V>K^kn^J70x{}!p6|Zi(ZalOZdgqu0=LIIV&EQGPGoE z74iembF@)9g9@!tiZqmmjZ$oA?O(b$&C2*bI&#M>cB0yUIdWH`j$uM0|Hf+bp^q+v z@v}SY2otr#3DYf)BhwhSGA{nL{iHop-b;rro z63x*KP9u5@T)mYBr9{Sy)lmgW^^^m~+FR#8WI8an4&P^xDD`|gzQ=gerGK>oXkvgy z5{jDvTCI74XnNhp9_`%6Pxj?5ozBLGnSRcvDLC&aR)t%nQQ(h6(u>^2qsA=Z?g&yH zGeu1}257uG%u|Hjq3QOxkK|GUK~BC>Z4q(+an$e;r~ddK>_UA&2r!<`$mDeNvK3J+ z6koAtIzNvzqrDbGB_LOO3V#g}rEa#B@5T3LtNRya9_~qNw=Cl)&%X7kQ5i_I?7NHg zy9xJ8b!59L=Ju>-FWmQs96PbDJ-%P{?+XLm7UW4jykv#82ykk7wGdI3=&{ZwuZ=7* z9nxXQ`OQ#M{G`B8w7dV1Xj~16F_^e!L?w(M@)exx7fmz2@8f3=Pk*#XqAD*4S{~BL zUP1Rjr1Fnze@pIN*|VR=)dMGiUJUU^F^)xp$*7yI-$2<~xNF+CW7<(y<+8_Ce7jy# zJiQ09AgCEyqVOU3-)ncfj#y+0Q4R?fQnFTIlXr9iQ7|>akn0sG9t=lak0v^Z6h1#6 z%m+p!G7MI^LLi&0pnv1hQ{=Hs5Ly`B%G4i(|0jZ`@nD1V$bjUrsW;(Q@0n50s+Wm{ zh7X=6r@yFmw!LG}?{fa-YrLLlhn06sC7$wDA%q097*ch#pY&Z-=IO%KH9dH!D5psI zG{VBtl`KK(#3%<#&tJ99M$mQL6>|maeR0qH*q%gcrW+PBhkt_1!4qW)2+6+j3>J7E zH&FtvWAY&5VmA~7<;KE?;3_P z$wr@W9sN!)$Gs)qUHp@~-#K4%?LP-%e3iH}cc|Ge4oI|xg!wGtFf2*M5{9UZ11bZy zF#^RxXgZX{#D7iP5GtcUbbRrseI(`>h*+#d`p|r-G)qWax!++x1{)$GohN(0Qg>`Y z4MBz!TxBRRRKAB4gvH>YC{nlp08KQqF%*=tIGC{*rjqbd02>M`Yy*;Slb{C-W*fMB zJyqjvA}j_-2nB;LEHULttWMZNsHppTZ>g33d0>Lb$ki2P&r71Zg?ti%qF)ncU4WVwhwXT^Qq5S_S2q1s` zKZ1bCG$`92@@SzuG2xS3VF}5fnVFf=jxmKMCvzmBT!>E+?a$26$k=0rb9JIXDR%tbfiGT|xfYYQ5~V-RKEz{Al#+)qo}wQ--wX zFo6>+WtW)5(VQImH8`tGoo>|0;NIFM%nL{&6HOv7j}jS0!w^5>4M~w;NOyx9+Ouw9 zv0J|ISHwT-Riin=1@!-dxY_ys!am_Kx3Cy>_wJTtSM!!pPT`Gho;zIIymFsAbAN5< z>4|ft_`$MKb}x(~)CUr07LG7}35@sJ5*v{U&hK~9wX7s{4;l~$sLBT`?9WI*R`ah( zB>lJZK$#}>(nmm0k0ITkf6e~e*45TlFyJ%?d>7Y^VSiNctzr4h_21R?W zN$VxNsA19ou?)|LzsfA!L*wJ{1b-{R!YCggF%)im-+uLiD1Y$5vUdsPM(!Un-`{SYP zH8(fcf{@$i(9DToXUUes%sOfJ*d~ic23j#_%MY1SeWiZwEPv(t#|q+)DNkc+jJPAD3Jz<8jgV^X-8u+xC3&j2PkkPacPqDDY)HsAN`bCJg|I1 z(7%E&QnBZ`_JJrZ&fe@Pb3x?YJ}s#F#*U~aRR7Njg9%E79M4;IiwjIuqS_;h7t>ww zcZPu_4FmGVPTh(qHwz1FgnuShE*?P`8(%~ff0*%nn60J)Nh0ciq#-GiK)EETkL1ML z#%mFV?1;K9+`W<&5)Kx_!o!;{)V_OPmSu4qNaHrgrlxiR?J0`VC;7m}+;qwY)^Zpl z4-afryngg#nWcPHhR=HK3LmUKgK7AHU>M|mxsic^AYr$UVV8Rs2Y);uw8m+NFm9@7 zTH{PBJ%%hf-`(oLED$2t9_At%;gn&TbWKxqc}87HXcizuHP2?|bCE2#XN%$@@|jR~v|56HB-0TElCkBWsm*eB)yu@3GeFFId}iZht*TsSAz`N%EbSzgGS|%XUEwaZ|^-8S)*@iuwJ%<4>F+;JEt< zxl5FH`)izynRJ|mrZjRann5J9)n|4~#NUcY#seKO(umC>zqlCmiv!#nu;YUALKMU# z)R*l*kco$;mNvtxCmgZI0;u*+ZqZI2n$P6MPbNH}oC8VB6B;xK@(xgVHyS3&zCB8NLv^ z^Zn1`JTi63gPxwTH}$-0`l7Pdrm&~1Nh_vx!%~&TQ0L+%{aERqPIs-`s8TE3$P&Pa zz6@~hg;`k-zJKPq2?zM-6XAf}@EQ4OS`D=C32>!vMM%wopcqsF{(6PtGnNt?wKAzl zEkOdjD4q1xUf9+6M1NuhY7XArB>@KN;+wU*I3woGHm1j%R-FjAY9~f_203;8KQF*O zUYfx^UT6GA&LGXQ9+v8SKharPo9d1bqN`H22%Ji58PpyeO9TCbq1F^~I z8Mg7F^RA#cX;c(Q*fCv;dP;z29AZ2m0*>kib-q1e(!I6|a~biuk2cHDRT0gzuYS%s z7*iY*@b`fvgd|{3VOBAZSVnpHZ=O`8*~@eCQVWtCyW6$c?^W%%?#ekGJDpHXPg5eT3 zMh4Kp!v2)XP$u;OlVOe7{y??ezV`wO^^M?dI>I6c2pN*f1q#cQi<#%a2K7I^hnzVx zoaPvUJ0Csw-9+DZaCU*UZFq9e&?3I!Sw+dMx%i8xbpTQzbEC4%u~vM^#qk`;C=1$#ZYoiW8~@kc7NBN zFamE4@u|vl=VuF+hw`?Nl2_g7-;yMgm_x6H$)bc9Q;FH!Z9NpN%{i4Gj8l85*z|@Z zvWaLUvS?g$eyBo8r@-<_Xsu-BJSubCKU4|6&-a=yojb!HoC0yKS8Pme2%CQqi#HuNzpaN)qWy2=MtW`pS%74c}$H%4F4*mGsHxij(`>Ygm7_1A1T&`eFJsIN# zNGQS%Y*T%cQjI`alBF35-{L!_p*yC^*R;T_`P{}Ca`Hjc9LKLuMt~$TsQnSl z)u99X^HqE*Zd4mLw?6S#;gs$xI57N_#-5U_y^)skLyqzj>0#g_47|ND%>!QlQh%}k;mM7iYPLuAnNg+PuxjsE}y-da}Zv)o+7A!b#~bxrgOyZFTTUb#54y{(%$g@ zfuC@D@~LEMw*X34sspZuf}L?jXm|j51l}EzC`i~j+lKueJG7Lfy zctay}FZ)nO9Ik?~<@p0$PiXgueGp#eY5R1`1pyZ@5iP{5cF6rvLm9--XG~x-lO#IF z+TgH|N-$j(FtbCi%zy8ZpJvdj0@=>YPy0_@XhDeVkDVnZ<&H@K8wh=t5tpL|!cUt& zcEfj|{by|YqrLlv|3m$z7N%xz)s-1@H0z55Y3=A2EkDc7>G6x*;4rq)o5C#wW9Kqs zvDAPq@YuoKQpf1tSU;%L-BBQ%cdM1d%D6hCj!(X!$4tTlHGg^`{=8xe&DT4(`p=MA zK|(A@MP13Qn9ZASL!MC0a0}6cEq-(_Zf?!*8)ued;1z;x2TwJz7={Qb<5;t~6y|a? zMd4Cfo@oSUk=wWKzVjcBKK;o3J$jR+L#7h7gbTm?Pe=PaAoJ>XMp#9o_2{HyiepxB zIfRuwc;jDX3V+gV@5>}Qu9!)_DV0nUZyPl^X7gsuJc1Z>Q*>NZ%Y9 zR)a^R8@)Oatc)F;crrs6p^=%@7a9IglWf>>02RDovZ}^RmqkSeJbx`N6smQ=;$|*g zmc}qWljszLc}Px1!JNcK4SH#SE&2~C(mWVQ8oteXn1A&a`~#TnkUdccC_Q&_XU{(D zEXW|hPjqmdR0|0&(dBM~)d*_Z78-NchO}b5ZME z+H`1o34cQfq_hIpX+@)$Jj+;tMm;E0GzVRMJczYmj&T*Uhl98m2JwQBKG*w=NM+xR z9GQ`QMWmbc*DLt7e{oTh=8e<*n?4SzkBIKHJ6BpotA;v&OqlRSoEbF$Hktn-CM+M0 z{E#iKle+QqmK~t2 z7Sz^ebjOaqmf01+CHvDr77!@J55|<7P3Nbin*BRO$gs6Gr8Eoo#DwFS9A_laT_{Ep zN6&-TtIm`E?Y)*BD#@Kw*sP_+C@AMFCPyiv-3FHiPdKTTv%p{XjrsN_#Z9RtTSy8yxUTnpW20zf_RhgKoHELBt$H7kzW zBxV8hUm8ITZ73G~OGR=%0k^oiM^NHTYXmE3LQPsf0fseWonj*uQ;>sGjpeokpqt-f zM8NfbX)7ajp7cD=JwzL_*n=Kz1CK}%7JrM6sm;{y=v2$Dc?<(X=ZdBo4%Nl5edZI9 zvSin{@%&$!{9usa=z=uyrz$Uk~U6nPk2@hcZ?7 z#p>?6=aA^exqIRsYg=miZ{1fBe zRSkn8xg3rMZO-k3;7B`D__%f=w6aq%{SxH6>!-+D^vKzI zgPqNGU^*tjTyOZp6pSJbg0JZfP}ZB;CqDl2%k$~T_x-IU#}O33<9K;G7ufu2RTrD} zoB2$BV^vXdnCt1MSPFNt-hV@Q`f&Ol;B4;GviAmZldw*Vk!}`yk7q>e>`XbPNQX8!EpTISx6-f%*=Wl;9m=D&GPl zR-EumlPM9@<)q;m_0YEDO?O^_>%U(S4rd6U@Z`s0>`HAi@Y$^zFn@V6tDlbOi?UWp z01Tf2t)itWm|LD7x0F2pJMt%|TD<>Nr;${uBb^yiaj6XaHI)47&uMJgsD}d9l@^(D zB?12(E?D}0LB2e}F!g-PcVL{2a*UQcpOz09P9PBMWVM7kDqQuh`Y^FULaFX$aB661 zv?)XU51=Ypvy+w~IDZqB5#dk(_Yz#9PZk~!qh=%yNNyh*;lr1tHSs1QiaES#V}8CB z6yuG7OgV->6tWhncD%YP)Q`p-#uGcXo`W0gSL&&P12;XMIF5U)Z>z@spKN4T;uyD6 zz|$j4RgP+ojqegD9$rIWByb|pM`V2@pQw)#Mys8s2V7Vr_iu>(T8#2IB z&Im76M-IrblpyU2mWQweRp6$G7&_uwL!2WpbY3>HmZ__I{cm_e*bM2Vlk7;X)iCFb zl8pL(QoyaBO*=_gLy0Ocq!?+bwNX0MYOHA6T}^slqO6k`4-7hp-;TEpGG0Oln(U=L z)Ue0&%gEq4FMq)#xQivEd2Hif?|-B3L}8FK%PGIA*;m}qU9DLL zR6?%z1Z%ls5ZLaFU>8*n=EDv;&##gea>uj(YtFG&@PBXZhZE9)1Ooqr7(Su)i8YvQ zyu0x#Eo&}?1`?iXYk?4!HA6f2pw2&0lA367)DlS3Mpp+kESv4pKTB&N<^!Ss*e_g7 zOP|xzo^oI#c>V`0*5^@-X*vI+S%a1_d@)BLB)iG7QeVe1Gb1n)WW^FQL_W?jpCSr) z<0nH44S$8Mna1Bn?l_lV`@pFnv#~+~i^Db&TArd6&t7FVF|pIL^=lW-i7>s-quQ1o z_Eg=0gd!~uEwe?7Y&Rc73lfcfG(XdB_r>$fYtyp)o~82Y*G_DV_POEU)Zl$_k=P*0=^uP~4zT zlQTk#5y~AYVF$tSV7m8BU=i8L+Cqb|W#POcu>dX++6Aa1xF_Uoe)nWf@&Js`^xG&wV?efex_(>uBNIeUk#n0sv$&qV+s)?5=EMhDC4YMUT$fjTPjtzRSUE&*ER7ktrtJJ0e$Z4=tu!h$PaE6T5 zL6>K~m5H3oK6~jI{8ae{9e@j3t@gxzE1b$wDG7Jbgfe<2sMb8|Zzwo~E)zWgX@Abw zr$he}ds|SqBwlmg0)`_ZQ+4b8VuF>IXZ5Jl*+`Z!&EX0^i!o&%=^%!f8I0tck(Clu%*<%r7vXEcf9IL(t zleze)xcPB#)^EF;*U~TInM6Syl7Aspb3#GI?&RD$Wim5vBht}sZq}OtYU9k^@nguz zw4*>LLPh}OpvB$#r}=^I{J+i>(&71u$mu!=ef2|4cshQx1maTHk(wjiq~78Y3=dP@ z<_cBws>b>`!B27S=E!Ewd#A48eFV86W1|Gz2stj-V)1&ALOHr{y?h%(Lw~WtC$?YK zVp{6cfWumGTzc=(O7QKUNACofGInm>;%KN|=TkU}{LV%KMF|SDH{-BY`XIImW}l{n zgUkS{Zhg%h5T-<)xa&=C^<~zfi1;nAehcF9y>x-0k`=dcogvtu_8tGkzA18C<5h%p zyX?20Hk*Ng1-eB0vhA@zmw(&EJ6Hqye+A27sr9yde7wB2P^NgDYHF!GIXpl*J0 z|3U0ZTjMxzqtVytgK#)NwJD75@QgVFp2Z5DJ3YQTAA9kB%~&YBf%avvg#7N+mNPBA zE%o&}^R8R+EI9f2B7Z~4ImQ?vAoED5s)3v<)#w_PA26-UvtJJeA+-^`qODu>6VtY? zUB#%`j0-1Lw$rX7nkm7E9+(rC8v2U61gY7Lp|2|6x0j!fD|*jI0jt!mywY^?Np%cY zTI)auGCC-xQ}_N(_XAHGRGV%)N9MdYh~vl~<^!ha#N33DxPLk95XXO!eDUv%`pE^q zivOi3s-QHrPzRachn>Zscx7xAA59975hrxV^}misL&=IKJsU`!aYN$%c`1xWrlX_t zVFbCuZy}*2zq~k7Eqw`L(Yq45DTPH`^y3O{oQc*p$(db02Clh^=#V6=;Z$Dq( zd`1dNT+FtOJAW>o(AyZJSa{mDwI;#+iap*aB=Tk#6xdDtAvt^f81%XpJQXX?<$Tmy zTvgk1?h-HXq{;c8zgz-$6mrvdPnrdHJ{n?kj7BMsF%}|P6;xmK2jHA;f3 z4$e%Pz>Usvj+En-FDMs-Ps+0hhPr-Kw)Uop2_BZwZhr~_Nu6Dqv%4q@kz?=ET`;Yy zO8rGLsx8N|LAq}_p$~s{;UHtyUJUd80~4n|lc#oe1%w|1vPM{ZPVNvldvBVA4Qk@c zZN)>fW`-9z+bEQlk>GnrU7n~$%(=odqGyKD6dF5|T1iy#JKR!Mvb6oC}-tuPl09RFY zql&H2nmgwJo~0$=m?UB&d|*zFqFiFl+92yL8iw%w*0~d#;PZ;*^>-zWUsJ4%D%Ps$ zpH|2?>lInE@1>`Mcfl8d+MYLS0NGeNUvNskB!B0&>%k7pkitQ)h6mzqVzJdrP37ts z6>n?em~pd2J;(IZR8f=NMyoGpD{35SY>>h_q1%e@b(>n}k9v^ua70Q5_TA50S>&6P$1l8&*g&pZo@7H$ISSn+lTx`g;tZu!>43U|-F5QmspQf@j-!J`zlRevrB&5KMQgg*IYKiqfo=!~OkbvGml3FNT(6jhY$4lWKm7ibq(bQcpUS7Da{aF1Tt7BbbV6jDx_{s7 za6@Qpl&jWmN2{r+@%op{Ro_+Z6JB2QjRwMG`uRwVp!T86eBgg?t3L&5YaS0;L4iAT8H1d4pc|8N(S3l z^MxBFBH`XaO*ClRanELHY-?$$dVieg%@*)o_Xw5qQ3_D)I~0xT!`r_eM_ts>)(#q{ zPCeJE#(130Yl79$RvZff3SNJ?$-V{5%tOK82AxS!tbqmGefB{t~%`Qd+@wD)K8 z#YgMCdTE5l)W|5nY-u8ED?OK=L8Qv$hBU1L#CE{HTV#WetGfFo3>*v=g}tn9H7GDw zAhI_=c-lo8hp)9iA&)7s4)Nnt+cnFcp$4sEXU!Vb@8$x>^4vt@mVd8Mm}qBfb17mn zhr7756OUetL7IZV>JOnVnyky`viI%byJC>W4~0K4Nri7k6paDja4|USo`!7?wd)Nd zdvD~v*xI=64%21iqEqv<1&=+#cdHy`XZ-4Cw8SJO_I;a#-MYuwO)uRiG^$pLX99zH z70&sn#qxHT6vXka(|?x+;i>2(Ofa{%d#-?&pi>d6AK6?CnY8@loL;?wa2^Ut$Buc18ukOYp4lgu(=kz<-Ny{k8n)T^!oX^-dFX z414e}7wxZ?Bed>d#05M+h9*90(vu~-j?Cib27_s%<3FzjmC0SN##zPl-0BK8U= zNOzUYBkSsv4Bt6A9J}tZA`5&a=9Rz$0$=xKzxC3I@R^jIg_bGxT-K{8Kd7HB$2H3B zBkqU*xR)1-s(%X*a}v1CfFc6C?;x2X<;Lgq7O19Q80^?258L)>s)7SGaB2joJG5r@R8r9b{Wa!C^!yKhkp-n(gFSw(1AMO4|4kb-6T%; zu}8WtB!(>WPo_2WLgaq-`N&YA z=O#mNs*iUuY1J${5v@=9x3mCxK!(3xUm+S!oYhUwVNJO`3aSHO|4?$1k>R4(6j<}7 z&f#`64HnyV3JZT+()d+6Uao(Ka4TupFT;1zxEL4AetGdzUCqh|J_9jG3>%2N_t7>* z)<`hZ6oXBipNql~G8pvR3|bRGH4LfIg-aA3q7~JIw{+C@fc(ns;-X=SeW?o>*gr++ zLnX&#O*=+$Q3tU$I96nZ5VAVDbjItCAxE+%;sby-hmC)jpg@tYAAGui0~(sqpK`37 zCf83V&oS#;kB~Cdsg4Zs+cEfQ>14#;Fg-O-kPvP5Yg~6BHI^6lo=gZLOPy!97)q&4 zS_O95aI2R{Z-(?yG24JuwN$nUDHW$1Y4s}7Id}$U8zXneg`3Luo<$ZRkm90P8O=+v zSTC%Ns=a?CB5Qx1_7dG%OE5GfyUasFNm*xzOlsU0#!^k7L$fg7aavEE=i{?m*1;Wh@HosG?e1O7eE}SVYZ^S*@IgZ8 zIO&ou!-qVksZOxHn9Y2bP0= zfa~KRE9QoF*or~5$g?`>y_`#ZX95W)Hj7DVY8b%& z$`WCb*h{Qxc)%Q=9QVz5dliObNpB$XzhjNNSCk1q2so+hlvyKS((iC4r50TrQ9XY> zF2$JHSPf1Yg1u>OHZiaX=fxQwy?ds^w((QV^m!dLI6eI#%X*htoPD)`68lo!7HM&n zY<1X$PVv$JFh^1kLmj~r?C~cr`rh3FzGBc?^>se+6@{-*qd*;Z zclXf(e6!=5FxVr~#?-4u)3a?`X$R4zp|L13gxT>6n(@hqtQ?fk9_s0~Z9gaBH{I_b zhL42bywj%q9Ow6E%YBn=e|&$z*x;5RPz0h7yJ#=N-q~!z=SrPIVQr9hB?i%K3h(yi zBpfgr>2ql&Rn<@pj!{etDhOsl;JFoJ->B?NB}q^himeY~Fo{zc+UwzyY)8$A9~HVC zd+yU8WsRoxrxK>L)#!I8n}`_E5eu9j%$^hwX6L2T=;9SRcW!8-#MtV{xw+@AMlv zusns6HnN;iWtwc-U&MdScd5?sc3he$;Mmgaf~Oc7HlD{(l@f27t5{RTKpP8WR!TOricW zX`Y*!v>2dnis0n$28p?hnj!$;Lj?c?g#iFB|Cvee7yxi*0RT?_=ERo?0AM?VI#mV! zMo3ud$XY2X0_gs(!veq}Z2^$~$?h+_|C|p1q5up4@n3&?{_ZOP|9@gl3LyU9_5UQS zWH(j<0Lb3{Ye?JL1;{(~LRWK3_z1N1HL~+@>H2ih_uYpGGDjC9P72LATvkODkFrSD zPG=T1nP%4HtDrg7aSRg@9<>CN7{WWy0SXcwq7zb2<tS zrAj^V42OTBO~Zqp=LX)TbAT`3*89fm+qMYu{{KPvI2rrnMA>=bT~U8%4>TT)b$X{{ znom#|0{NVe;|MRrK1c4=lsXU*Q{Ui`7RwVB5&oR>y>h$SNa)Y6gl|8H6Xcu)`RtCb zeo&hRbs23uMexKLqf^gfRLzy_iMl&-RD8I4?i+u-JJfHlV|PX6_h8g%&)-Md%70Xu><)G@%-blH&tr2G|g@f*1{6i zK7)Un*~rM@bLe!oRfj`Mq!rDM^wvvTn87R5nQ~K8$1o+))mZUH&`^t*%kn;Aqjrp+ z==~e$Erz?lt2ga<4f{TzyS?`&#>$$uRcRYE$R9e7r=EW7C-(U^lmLBjHoo4wiM8I# zZ(`pw9CDj6z^AdT ze-+(HF0KxBDu~nT?0RYkG^m@{ifn&Q*vWA`r-GS1n@39Q-FZf2G#O7a1eJmMapeHknaJXMY&K!RLMt8mr#x2l1G{bJ3K!|za1Tzu?~j~^ z()I8KZoMyQtvvVB0|h3tqsKyVwj!r2+aIO9^?HNXqSGZ9%OL)Mc9+#c`ow>?tI}d^ z0~kS6x{@$Sr#t8?IcKQNeIEUt+!5W-W@snIDLoLYjst6286AhFDl4uA;tO)(_OCPF z8bc3S)knRsUm?4awKhlnw%2$DxQNF1A|z+-!zARWvp?|QuGqyvxVsK;TqWavET%j( z&^oth#Tzj0m0Rjqi(3K@mS2AY3V#Kj#d?4Bjn21iJ$S4oQj%=`O<`|o5g#@-w4R(8 zA?$wl+!go%g}c49N0A|5y0_e!VSH~cflo45fZBMR7SK!EsmJRG-qx=h->m7iglEm6 zh5xmZHa5o9fbAUnOTOn9gSG9sdfjsOCwtVB9UsoBk1r5hKfBvI4Mn`XX$3 za-H1HiDLYXtZSgTq(*<^64q z5SL-_UV)jONJM^V1jA-1QvrRBQ~&7f6Sg?e0FbNn5nQlOfvr@bgOgHGOqxW+jPmi9 zWT{eV);R5v^n&Syk>o zf-6|HsFdF1A(vV@q#GfZEpdWQc0y*s?-vMZ^|+ta<173|Xul=+)PKa;U(22R#R5OD z&2+K#d z;#-VslQ)UGLHvJ)KgTKeY+OXOru(7^Ii#uEg8VETgK3ME%z=@FCN~U=Noo-jw`O`l z21VPy7L*-Up}uHldJzh-iq^JXw!%BUbh6>vtsNj`&mWy?Bh}blG8^X;Um8}Dg~rKV z)DaxVZm}RDg_LCL@a9!VPfFSZEO!b#JDz{^+bSg9#4~@I0LJFFgfe1zIH|@B~w8|56wUm!!2>sA*FGfyi6$Dkk{?=ODpljB{M|I->Kxj zMl*VBT*R@K1I=oD3%Px~U?bA9K#~Q@#<^t9VQ`yiajkK5IqWisOO@4OpeHeg$%#@7 z^!G|BjD~;HpckMg(bKFJHE!;vOlj%GLoc7n(%4I&7pH{LjH%cn;Cd#jR&zB~so#o` zWtDw78lY)fG@ou-ydG}2|21s~2qf_CP3|f9zA&1p#@s7KBxVQz+Yo?aC`!R)Lvzn- zgDn)n0lA%DqBoPB@d+A%lv6f~Q7K}WaO#H!Ac;~kn8;V^waah;<1)~tND307H|7OlSvpv zktlyIMM|*}az4gkzr6sersMb)b*@Z>u zxTUaZiv9Wu4M4n5MHLEAM{ zcAQ)(2Wc6-XHSQH{x>cY?}#&(9QBD9-leTXqT#8Mgu3W&K;0*wTC)TVt2>eR12HlS zNE}F_da@c+pn1Gn$YvoIox>E#IWUb!eSx<82Y;w1axV6HF7d3c!`y}r`7b?KRX2Ze z1k)|SZV6xS@Q+o-m-1;{giwghBU(A2HbwI#7X`d=t&&{p}sU0#oaKx#owtWHV#A%cwcZi-5qEIsB(Iv)r(x3Cw5@qBs#Hv-X!g=C;tM^dzR!X`P5{ayno>*`XdyZGZaqD zD~uah%=+%ed*LXSLfgN1FBaZj7&NF4a?h+HBUTud=B1a;uw|?-p2G~YBelq#*Sxl{ zh(o0vg(Ouks+pWy!<*uZ;P-#cEc&r`db%Fc%)@Qy#sXa@rhpj@VSQ%*9p}gdo1`PF zQ1}b0bVwbddu(k%FPA-C4eRzfC;i#(M&Aqdupm3c+g-Dc?Apn+MXkkREME_7h-)K> zflk5leTJsUdsj8H7=xo@Rl>|R>p%qM`y|?)pki0CO7c)w0npk(r(}Og!&{UU#Da@? zx8(bkD*=r&QEZ_yEicSE4RVxv7mrT5xk^WhaV;`o?v#=J@)7qE(RpOMW)L^F9r}u6 z^VFNvR=%4awGP})52`uIYI6N|E|~FxEmaB5Rmg5GLX4-@@`=XsM9>IstlH3GiQebY zz7wB|z6|au<@8RbLeYOGh)XTJ!u^DSDDoP4;0JgaR=$*|0|o13uo+$*ofmc0$O*FS z!1q@w1*vQ)a<6ZdbXBsVtW24Rt~aKlnz(%S@^=Xa5q8Al5*v8l5}X1?L8I*15>uou zJ<>yy$Q$uU*XcczLI)-Av}3&8jXLJeQhNqoko%g@C?1+D5%qt?Aov{zhg4UrXH#bS zP*KAuD`R>;c#3XL_kCTEOOSAX&w)-vyHv~p8>tKu39#~P~(I@%%% zCcOqhFR zPuSqZn)~V{K84CZO#A-0v?b{kqa^WglW3&LYLndtuxNkIy&5w0s6R-%hsS}Wvm2L2Je)&#w&jdjV)E8>8hu20A28)%!kla@#4^iS?QuxRl}mtOJYJH zlvFdR&l!KGpb~!ZgIWgwbzDJ@V1TD>;Cvq`q%5A`^TTJd5zN6way1K;tA?fIzJM5f zi3=>09KA(}xCBi&COEBSEe4nzX~~ajoJukZq5S}1MFbZlCXI@u9Hi_My7)A(DabIA zFcAq{F;29qIu_lUAz@~G;mF`v8mou)BsI%*v-^J-=@~&kxJUoDLD2U-pri8q7rZ7b zhbRUzIiPA$sOnrQP2G(J{A89TfBYBz;sP|i5OCo_) z{m542D?hI;PtIGp3i}8D&yXg2LWTJ_&kyj;iK}YEZ!#$v9(SOhKqqx(KkziJj}zN{ z6#O&i5!3iVJ8kmFHB_oM$J$}LQ1$_cvf+Q2Ol(w61FdFfNd?;YwdV3XiaouZSwHnO zSJK*sK4yWQ>nwDvPvgPClg~5f{8-Qxp;$6Qt;_KWyu9Ii7CYnsYzWlPntO|uF%3|kY|n$gf}@v!zT{4RrSsn&WKUQJPvn0T zKX?qlu5DbYBn8!qk1xNPJ)zT5jLvYNi5Uc`4T1NypyF~`^i=FxLro8_rJP$^G2gw| zE*e~EvXd(#crF%v@BXzT&(EQkmwU@w96W3r2!^SC<;|eRiU4imnB+fwZtVIL*YMCZ z!}f6L4!@0bb=2n6m-l*OV4#JyTfu)$Wd3HbYQ@Tixa8HHn|`t*UJ8VzJ)P8DP$fAW zm3?}*d^^&3DZ06^)_!}RLq|ZPJ~U)UTdWy}nxG6WN_WYb(o1ZO$GPJ0eUBOIVEP5h zq2;rX6ux~>@nRCVCVfAT4SIExUc$LC?X4B);~(^-78;fAyT{wC5hTV<>{x%oaaqw1 zUNYfur|8hli~wnud*~j$;nJYFC1x2m>ChaNuWq~H^er@bw1gL-EOQ2Qe$PXn+RY`^(~!q$F4HUPoW^D%LoHw^oOgfV#M1YhIHvVL z?+NAWKe1DWz0c;rzz4LC%PiyZ-|~}a*2ClwVem*)M-nP*0eO1E0ft@#W{oE32uSym z7Aj6LkFjB~QV|_NA6SpXnpr-*Nw=K^QViHu`B|dYQh7|;g}bR*+@|-=Vf~G6y+xTk zkm^2U`~KR+KL8qE-kX1i`64;fn`pAm<8hr5R|V8T#19uv2~=+j-0x&pmAs+TOx%HS zx6=UxR|}MS_<1<=Xx~x2x1r>`ORh;7N;4%}b!G~&7d~&@2q&vf5V}2PWAa<0>6na? z7A3LO_YXKby35dYGPzx`ONhNcwdk=xQrpofQ6AdKoF*&vI4FN-A@j=8PGzqa0NUpK z)6j(NGn7>{+N+>Ts z^F_W$r;sc-l@8d*CgCZ>h3GLU9Rcx~QF<^E_~h;=9FROLv^{&3BRujm|Gm{uML(}7 z?Dz>vN-8F(XE?4XQ=Q6;)bdGJmA&2|ysx2@7CWWJ3m|{axl5+mFq}p{<@Z9NPd%-6 zp8GRLXinL#U!@)MaS<4M#SLo=Rpus@!LI??$QB0^F_71fmsm^C`BkG-6dPJyH^R4U z{p@#!ws^o>W#5SLh8KeVRj={R4HO<=`!Lb%$gS>3Y0t}wLXuCj1xRvWCfIe6b0KV}G4; zZZBdRE6_le2&*!;?hc}FSGp`wkZkFIMuEG@8I1U+zVe4x2y5e;;Xj4+v85z9I!1dMz0@R`pF!`D+W;6hH_Z04_~E`(BOdy!?|Ta$^N zJwqeE`AFiG)o>X1m;K70Pc&%bVlmWH4+1|>)F$|C%?=F%tV-TdH>U-(7#tgR!B=>S zQHOs5VoZrQNSJU+{{#b5ZEeg)7@IDkdy0QXHAk88SR5@-6;HCuJgCf(X~xGG=$7X< zIW}bCj-S*>YD1SJJrA+x!7A9ascLk{UIrfc8jt4-s~8H=K)fwlH%td2wgc0D4kve5 zNkyX~l9c9@lCfSSEZRyr4@g9zx*sW$Vo84^JoeZGuNqM7Ilm?+8y}-6^cheV7LtF< zPLYvK*V56uL@&?#vzf&1>A-g4M2d@ENmsLF52Cl;6s9DOM;0GxW78-t7e;Ls>!^6^ zYK9i}-X*5(D}l~jg5UBM4AjOYsx9fTO&i^=6J&q* zbUPf=fJ=Ds@L2YU>5o9z;`3EXf^qJF?!ri_cxOe3|35EmEGwtv8?dzHhRpivQ$+TN znnq^s$Bw*vE1Pi8G_8U8E^nhK-3jx?QAB+e5YF6zppA0l!Qb(F_-Vk5$)rT!X!eg> z%dpC#o~>zYR_2h9fj5HrX&@bQk*9w!v8l0uC^?qW!uc7}sP_OjyJMW3uZ8?L196N> z)9!@7xzKGi>9a``3kHat$9z^(GEMvV*8+iVRDV@J3iZdK#-C8(yPxZ~;iuQJLcvc< z%4`86_uX51c?7a9Hga!rs#h?a$`qxU0}C^PKz8#B`kAmQ>Qk)BFW*^wDGq<-+$oi= zcE$<2iGp&@rRz71L44?D#QgLcp)_Z6mr{2=SlXI?hx3^4w|Gu+-E}N!BRKk=y?&Fk zyug4N$D6^eXMVqzf#WMuUhtPC{Z+p;_wFseJfLjj=~--=8DI8pvK-`Qg;q=I?Hy2O zp)*iLyUI+DB|02Qr$Sfq?2dnEc&dDb-@jn%B<~bu(f!GM~J@f%f$mg5%p@-@!u0Bmm&_3R#}-!g#fm zN4+!bLms*~$eNo5?SdDc7xHIRhHO}jLqYu;2+PHFb3t^HI$Kguga3aZ5d^KK(H5tW z5tO;n{2SEmADi3kPxcVC#}Y(oWoyf)W{i@iIE}c_=Sv5Pg(;u1FmH={(|Gun-mkA* zLNM>qUh}(Ysbg;7%=osBxf$&AYs+(uw9D%Y-In_^r>)QaFHFA3PL2$`3LVurdIig9 z3{GiTwXov~e4e7qsBnMUI6lpZikR<@aEl_GK0}j4lWF2#mr$C!H%ZYkJh)*%-R3f! zc<9nlsutk3I&K2Zv*`K@=3JJU_l@SDtRQw+G`dp>+X(TWCNxoGQ5ca`zQpJ=Be_es zeRtWO0uAa##%d6Nw_|m$S;~xx@*3kcw2MW{qL$zo@n-#PoJ)V83}qC0IH;^h?+^PZ z-CLY2<~(hrH@>~8R_msXp$rn8p_#2i)`5783~=4^G3xK9eB)vm2d!$Akm*Skixf}J z4gHzwST_;!QXzzntwL#Zm?=+KcMwOg%%bf$U))3A$F$MNZ{nI>A~lG&`as3<)m`l6 zrG?oCyPTE{sVaY)HW&DvOhmevMk;%$Lig`MQA6PvKj+1Ln!n3q7^#a7`af@Uu>cv& zQlug;^>Q|wex_1BZnB!5-NByxq==Rryem&e z5cQJId)=BQ57p*(I76+6sw^Iz*O8qMZwtv_T$NM?p1BxO(ohIP@%rVf+oqdc&EZm8hJDxL$)Ee$o7b3 zG-J|~V(@cP3MrNn@lg9QcGVxSTe33C?5WY}p&lpx)wX|3{6x_G!0O zPV)qVO>zg$vq?dM8t0L)%SD=Ug0$l~GejCVc}9On)d=g}OM-)F43tR+w7=J=- z4d?NdL^B+jC0(xdPDzo5@D z>Sy(gD0TTl6tt66LsF2h=&0VoRPleREJ`7D=`Ae{G;2tTY5Gd}80W}dpA^({X*TvqmIuP6oXq-qM}fT$8`u|t zLfweh+W98eHD|nVe){QAhpC;ccvKjp2w#BYe2fz9)TvdW`Cs?>k_WygV87^3;nfYIQe#@UWWtMuI?bE|64@USd0iQ-o>MTh zdoYVyVpWjPGsu(t4#lZ)kqF|`EuK~6fWtVoC$&^H1dc4YcF_Eoo|~QG%{@QWn5Bm4 z))jH$1e16D6EGZ4jK~LB9~Vrhy5(mqQ62gBe+wbs0cR02~YU9m5?uk>$&_vkioz3TRFqraL5-J! z?)SKdpW&_N33sdCJTvuoqsq&pM?r2phCw(H5N>2(V48nI6l0JVi;gmiWN?vRz~h4dFy!!hwQ;RU2&V3R z>EyOcD17LIE0<@aB_KH*pa>uMdov3Eif6K%EB$Gn0SXfig#7Dnvv3zkirMySRgha` z7`#v-)1-iuQO0BT15zTjK^LuoGtK%m-^ew2T}a z*HnL(Dzt6}P)j5zX@4Np)K*A|dwAX?H@w{k`fX(}_XSGgY>SP-w}o$C{J5P|W8-(( zmEf^3l~)v^`=DWd)8buX-r^S?;w8TPK?cRgTseY46?$4+H4fvIIX-wfwNLFhDE!#y zCq>s=xQd!#St%ijP6;)q|Du2JGwCpLD%XEho+K}y?%TFu$Lh}#5oI}#b_DMA=6bKW zz=JCk#A}lMvOtTkgL~fPk4ikscDbHyO}~pxpL+-D0{&nGWb=RA4TAhO_hdx;49OHu zTLjq~dhLIPKma5*p^`F|SKQvi?w z04R_D`RAX1{`b^&{`u#hfByOBpZ}ZG7yt9mKmYvm&p-eC^Upv3{PWL0|EpWqfByOB zpMU=O=bwN6F9D|D{m=iOvd#ZDe{X*(_>cekdsFPRH6sAP(DC2%{+&-lB{FbhN&j(k z64mzX+sQg5ieO=nC5t1ulhjV#P?Xq_Kt0@N-DAO8Z9E=;$%J2#e$hSeV=7dk0m6ri z{r4h){Prx6-0h}#XaEkpWs>##A4{^uNm<-{j7X9huAe;5vKji+`2{-D1R;MSzX_U) z_hIzfC931DWTu2wh+=8&2k;zI+HBY-2dM#qFA8H+h9M zO%R53)lUEUnK6zmG^_PfqO3C3_F;O0XB};HslIyTVTr&Gy(_W}{hVUKKRe#`lJV>9 zTz0M=?zV1Yu3kZF%-Q!Lq>_JU#7C^tCHmQq@2}Sk?$YyE6-Q{HjAu}hU68IVW{=!j ziWFI)%q_K~U2b}uR?rM;^+yWK(V-aUMlzOHBLZAT70}EIJWpc3@tRzO$xo0~p*He{ zjm8LI8@?qb22aH-&FeWa@OTy17W#DIHs@|8L89VjUe1#vQvuqn(b#{*38L%rL7vxA z`r<%+h&h{xQ8B}Pjm4Q@fZKgJFMV4q=RzC%*X!^$PT>6+uWX8tooIs6@oc>tGG6~n ze4z>Xm(YuNM&2heeSCSTBbhl!#1*!1pD8f#EWMm!A@FF~m`Pq3V;g;ODm+8dGXQk9 zc$7~yGGx@6ZY}a z(%%x@3H=Hj;y4Z#6}oaIi;%hKNE}hSdStwlc)c#>vJ_%AKpKT~4YI<_8F{(R*THS9 zYA1KV+z&EzaWWJ7FXrhv=Z&;5`K!`fc!kT;(TFQ}n7CJl&pv#(z^skPtfx_)#6PGeb%@=e%2wsA=+h$$ z?VY0VqTjP%uHZG%G`h3y{a1cpsV_4)Fuz2n;nC#EA?Csm`cW-2BPUmcHWok+sZ0v< zp8Y2o#c3Hza=d?-8wTsEjy@RYuaUu$z1{8FN|;D=FdS5A^cGrd!fxkvh{dI6G{PLe zxG%tSXd8&OAS;CAT^F3crPLDEE&B!-u_ZZ0zuNkBu-krm?c{kbJ@Q4c;+q=^I(0u) z1&LWCP$jdtQg}hm(0tWq0GkzVt(|8KEa8928r~6wxchIp5Q2+s#f? z=bk?>TU@lN_QXpee5g?FnJrxSNZOCkas0Ppo89S5p9QP_KgA`GOppwq7y6+a!M>3W z&U25gb$zJyyO$TL+)Zi<=hUB4&TNoIr5j^VzF(V(G&Az*BDr7rY+d zW?1ol1u-qCzpcl^K#UjynfypoMx@E=FCEAZ9-EK0Ga5b}RD@wWkr}`sScoJBAiyg~ z=A>F9I~^&;eh72?xy<0tf5+d3i1VeYBS`5$2AUvHfVYI`#o9Q3ki-QRHK=?vu(k$c zvJ22?8Amer&b9q^%6N`6w=#wsbNpMqoHKuxBoLJVCm)=&lFkk!`$cZ^KP;}Cx) zsG|_hBybf}02q`R*w+>erGiDewNFI~{@I4fuD*zuo%)fsMEZ{?&yNa;ht$pwZ;s9{ zo%k8LeDi5qz5pH%ohl6FQnfm!nTlY2sNx_fVMvHIkUox*;5xV#?w-V;xRVu-iuid% zV|iNXHD@9OQQNUdr%O9>RZvYcQZaw+BCXORX9-lOs!UlcZVBb-)djyH z*b(7TVM`9z_m&Og> zwI*^G5kbBSqTHsqcHGX_d?o%a`)w&_V*80WWA{AALDbAJW`u|~k_1_np#+)}iNa9~ z5k~}U|Fm8+c=i~=oo4v>k*Hw?6zqX$8Fn>%+&S>uP*Aw%absfrW8Q!9%8(eG35+Lb z9~yvD)3osoJRp!sG}Cj(=nOA2$#HhjsO034!0fF^=$dse$KIJ z(Ut3z_;yXdyMYm%l^tG$um}(^k#pvi!LuPT5%dBB)PrpU>G}`0=_?==vuE-oPv@VM zl-zB@tAzbksfeF=vwDAS%NIHm!Rg+|&sPwuA=u2xrCy+(QN_M|W&DEax>ll(SkipMSjHv;351P!mDk}tv` zTri$-3bscFkNtm9VJimq)$YVzk|*A7=Pqo;w0vw zeINhQe2soqVRkNby6`4g1h)hHe)xDf;^xir=A+j7LOk#+r?u@Y1AHXS(EmJX0grvi zp+V%!fSiAc2)JsLT8WnZN~?L~-&k)_$F&Z>1A~JUVj7=COtwg@IFC*t4b5$-aE&3{ zua;?5edXAKZ`ysv6+%Fksbdcmx$Kf5IGu1QLNf@hP>LuKNLl+`E2kb(6N4=5(-BVH zr?1J2AGyS-N&GDu3)nP*8l4sNg^(B4srE6vclUpvs!aa7+7KhTBj32yl}Wfv&}}Y* zr4ZsmIl?QzaBMDr$OXv%Eh+Qt9)52LrP+fN2}k-cy!%;VwNJ-ljQQC# zI$eLHavK)-i==*Lovb&(qq)u#do5+O{Y;UxC2BYARJ$rwA_ZSu#2zMQW3}50s&+f5IC=Ff*W3~5< zTh`7>mO6-Z2BIBN2*zCWwg3R!1*%ssR>tUqk0g5+Qls8y_?rsLmu`y!uSHH~2)^zn zOdlV8SW|Cz7R3LiaF8f*C_w21^DZE&fyxNJ3RXo8PMW$@tN(w4 z#z=4~-~~Q22LadeD1hs{L8E&Lx@I!KaHCT3|TR_PsLKdMv#a( ze5LYwsp_jqe+TQb8TyePwV!OpuTXy&P?2P`oPFrYD;7i@!hH|7JaA)VNQeZ25Sp^U z1o8_&r8aawID8GUO|X^vBG-q-WIfZKH9BL7m+^a$`rRi?D)K4Dk$;a1>9$Wn?k$Qu zV{S<+_Hi(ANOeDe%?wckzkra1O2*W6z~sIaY;VLMR<_91)=*xs7IRw)e&&DcPTbe2 zuYc>i%<~3GfheQ}X$^*(F91vetY61@&;%2a1Ujo1%zQnkdSu5CY;Wj4hj$sNzs%*8 z-ULBG#lY)v=bHW5)9mk~P){)|QAyRuSq^_k)Vze#n_;^%$-S2&4nbiHnh(;o08+DVBowwlg$az1 z1#Jb->e9+w@nO=+N(deYf7y=AWtEmuqSTpXV&Kv>^Tn*c#eN0)CQtnF zSe8s+@i^X(lSFz9{e*}Z41oVd1-Lt9;^BdBg4H6i`_aqK+Vo(Z3HmGy%AGQ(j;12& zb=wvPYn7R8lE{X^_P!)%GGQ=$YW4PgUjB@vP3(ydUl#W#mLY$t3DNI-S!AXGz-p7D z16&YS=@5mX4h2?ls8C3JABL??{sbxkKUMmbtm+Od#G3l_VtP`N($mtU|sO5>@ zW#>QdGRA)lvb?f2K$jp~0)gY&v1O3(o1sE|VLHu~p2!izzZpygpl%<<`Q;|RC%)NF z#`K+)5!Jz*OB{ddDM@J(eya(w$awL((dgG1%de5Y5*Mb~nD4WxcB}su-evl!Pnrvf z8$=ZOhWG>?_sq!rF4B%n0-g*-KEn_7juHwAj?PIML=i!-&k%lZ-&OB>YcBJAums~* z1Tq;^%jh!rpi$OZTU~BSj!?`d6USio%Ea!VWH#M$sRe)gqd++Ytr3j!9g_j4gU&)S z0V+^%K!8fXSz-eQNt+7%-Bi$cfeZe5FBon5>@9WjR3&r5RE=OseC20Z>%%8F)+#9+ zl)y-<=AJIyz+8Jw{k!xQx+xp`X_0z@vjzwZ#t-L^vn~6Z`1ZYV=3x}0U{03VkX5M6 zF2d}268Qq{{#x-?Xd#H?Aja9FPjuXPc)Ett^3i{aFm!QEkw=D1s+KaeMpRD|9kRi5 zuA7^yy-80SwtFRqiT4>^`EICqBxfFrkJQA zP~CrGn5je{DD+VQ#Kjce6PJi%y(0EO6_y%rC`ZNf zUj{oxtuM_hD4*kD9CpWo_1UHeKZIzT1}6wR(#8ZmWfZScIE3P;++8T2V9_Bk95Oed zCb^;@0^zHWJ4kKdb_Z-sf@`I#K9+6-1Dk&#+TH|{gA@VKQHYuS-W6;WxGbzgSTX2x z0u4zyI&z-?$s;hdXQ58)rG`$Kbs;6b#?gcEa*jH~nefnz%$2S$LeD#zRi@C0^^<7b zYR-(sZ67UV?!79F&EL11WL~P#a_>!sU&i>+SN$6(4^F5C(^7X>N*PYS@+opbD-wSq zpPlzM4&?c}rPN>i$iNV|OV|Cz!)5s)n82hH^N}uS<8>fHcq+_FF+c&(iZKs1y$2L2*ZQDu5wr$&XGX0zR zzsx*MJ=Zz4&-vNJMc)FS)?LSdazxwnC8)a_hV>y>?-t6Gpqql!ZD3qAB zI7-x3pBE@VK3Y=(ykjo|k`y*6CXa&~CTAWce}A+6+Iv&Z8$eIAQLreZs0=OiQ~Ac> zPc_?ZAcL>b@9&TU9p`R9Tu1Et*z;SE8?Y9vg*Z#`15>G<8Z#%*67~R~!$Ctp3@!!^ zW%?biuFx|}(ednONDh_y7!`ly?K>xc7~J*&2=`1+14S8V2TA3mTnMKArNiHnqht%1 zIVL0=g$wKM--gQRl}1wZi)UD|jikDqD{-;lSSoFP?T>FAbl_*m)Jh%`chIVg8_~*D zR)$F3=qO;&%G=Z`>X@F|pY%@Pzc*_w(tJY>xBJC$=px+&so;A?!!dui2+_LfDn8KL zntNCdaZ!y#ouuycA|<6a?|7B@+xQ|Q<)LY{2fZ(m+s?ar*%e7AOdV3llD&p_x92GR zp!9V+*nlO3MgpOL(5Sw3Om+i`RVcx?La-516FZzl0?M@p7Zw2P=Wk6XW6YeJUY?HiLW(Qa&At&+#`U&;*{8)}ljQy; z$76PRD|x4;9A0dd|EF{Tg;vP#bz#E3m4OsPLnty>j6e%sLJ30K?+gYCn>emqymCW} zX=AmB-c&^eu<;iHZg>HF)Lc}siEx5Sy}YD*K|mctw5fB6F30K?*S681Od-PA`f6HA ztSysNZiWRrQB4QZl2a9bRcrp*6dR_4NsUXHQ9+YAF8h%cMoxLF!(1(k```#E<0*K{ zekP08egrA|@-^8@8u|KKo2;++3wcTUp3}#wcVg4)JFPq)mEF6&@o2IIe@CC342APg ztfmbyG-PYU1=^kkUAg`MW?u+IQ2-QJgdi~~mG+cMhZYSwdK1TgMf0UQTm&3c2$eP` zui>u|aYr`N5MOtpAAtM2wjA*?IGw1!;2H3O;zLa2`SxkVtAQZt;3*o<>h1%7qE$pV zugR%(Ptm)b_@73HC6}F7E!;O%V?N7>pub-?kvi42Z`K{K*ONKP57c3W}R0l(ov z^QC`xQk)H%ssb1@N{IWlA3RmJ$2>O`9~V@kAcBT1<_v5l`UH(mb+;3X&QE*&Va3El zO1lNhWv8>^i_ww2ZfN}+iKDG{d{^qjCUtogyktG{jsZr0_KL2J1`6w_r}M$fR1vLs za}z(F8u)^5MR1Ek>eGOWoP6Z2?G1`|8~(87ORX}#E*ZGtyDf$s?P$9ecVt0SNGM1) z6cil=zgS{8x>LwH8mb<6(r+bx!ZUhu3nzO#hUaaaONYe^E6Ahw1YH)E%Guy*ZhoX^ z0uTJ{2}eVJf8m2wUP#@;^)2#x@PxnpZm>mRt;gGiHYa8kB9MWeg0TT zujU8s%?4h_O#|nfBbalm9agG6#*2#qF4PnOAjL59G$4`crl3Mq>8|k=Qc&^B>w{}% zhILmlysmn{Svby|&G3qzU&{u6)d?70jeeIS`r}4_ElFQlYxnwl^Py9Bq?0QvJtAKu zn7Q7ABn>JPat>C83GxJ-fGy$}@Q%^|OEb?4dktq5RrYBKhJpTXAH6T+v4ow50O0(6 zA;AX|Lcpy2MX4nscyer+=%z1G+__h$N;p_XY4x-)^3~oZ@h${rQFU( ze5E()RF7>lKeG0a*v9NCcY|4C z_*X%qM6h9$TtP1|hJZRzaUvfP{xUeeFV-K#|0oC$=1b)mt|5l;pkg2v>hQG(6_ z(_y934z}>>Tc^G2`DRf$@nM@$AOJ;Ihe&$%^@RA|bE|ZIKcQUZbJ8|37)#W^+6Xa! zLhoX9gsHFwStMv_0M7)W@{hg!NXl@`kyQUAK|RA|Ky;a6AvAUF<&Ktk`uZCQl2*_& zH{o8mGnWYF{%i3AFmP5i*Yjl%MSVfevhKR85%|^DjnkyKKN|gRr#DK(@Zf0Mb;a;S zf0O*_>ON+ehj$t12+jsJhakfQz{!b!1A~}GSVy5}wZ%Bae-?E54)(sd!KeU*8eJ=7 z(mhCw>gw0-Z~dq0H(@h~%7B|Kh{NVH8*ShViEET2qT+oy-HqDkxu9~RR$t(;*sJzk zeeNYRb-&3Y<`F^4KLwWEDTeeomj&==+rbt`3%#Vgif{l7E~f+m*PTO#_}4-hWw$sy|gkId+_z9H3(cHzNrdoK5j++STp%+XJ$VI zk&^0`BTPPue$jbIRoIDi=y(iOfBZV~1=lEjV5P)|;W`8&)f^!3&X z3A4r&m$|;=`Tn@}qiomhRUsJTpTUl=^OOCmW^b>7+@U&oA8=iMWY}ka;IWv2KYECu z3~{;`DkNlr;IpUbSPnQ;MsP*oB|xpMMWNf%OM;te$nkMO|0piti{GG_X{VQKyVQk~ z>us6V@#Oo2FP3y3XNJV(=dO*jjAxPOZvC_-7(yP-Gg28iZoqOkz<-niolVfd5e#1# ziY5ex2DuN7N5r!^2LXzI&fzYjQr6R}?s54I!Wr#5Lj=U{X1u@lkBPG>B?#F89dQXjLFovm_ zpyndh#XbF&gvZq$7;hwr&Y+Of6c*?8O~CnIGoI}MwO^m1L)`Cw13rx{E&J~$AX}&s z0C}G8paEToPy`qmu|F&<0Nhn{tX$kiQAjN}Agqk{2hsFGfc}e@_3n;5^tmX74mQk; zZ4JB==iB?NRkyRj6W=Y_`1;e_2#Teu+c zU<@$RrJdrd*JAH~J=QCPxHk4bx;s)Emo!kFm&~Sob!t`uqG~f+owBp;NwDB%pJMPtjxrNgSVlp^O zo(T|w04O4V=YxkSQ(WDPPLxAZGQjPOfEWq!{R?< zPnK!ISH0~fePZ3t!p4temTQ#9_qm*bqXEeCezoa;KZFAn!N8EYrln?jcUYk2o)eFE zVg7>cbw~7()2{u7en_M3K%XWO-s$EJL~9o!7n4Px zdWL)OU6M`AOYLhj5#+nM^tCe_G(>Ic0y4&4#hpN}q3ZU-KqtjcL$v+=9$ZX&9xC*Y6N8V@zsOi!PGD70 ztDFz4CRn2X6D*jb0RSv$`}D|L`Wh4@e*~-oo#4P71i8~|||9uwP5MsX+$XN7tXe&45mfi)d zEM>f3|7X>a(bzt;Hr*eXq{N{;NNXm4#n%5iG=4ytgc9|uR6(r-Mu7>588rk3>ODkx z{u}U20E@|bTu$GY;t?~{t1Q-US(umwz3#lq_hPUK8Dlj~AQ!~VgM7>rywfzL_Wq-BS&ixJJAAs%>vN%d*`wrtIo#ZQqKJS$YV4OQcR3kIpu z10xrk*Z=Zt-+7f-{9oJ%ayHi*llLA8E^5E_r+y=w-|oA}^Ult{H4!GWRU`>O-{io+ zD#1D2K$*hZ1m-95a~(D4|Kap@{XM}?<XXWhbdY+YCQv#trV% zFl`B+0RY*u2Zqo#y#btdBvtEwNCWdQ!9B>zvGddX)>*DRTiPT@F%( zAg)k;6p~!PeXN6cm$q7eR!69a{tdDpat(ozc6b5?7Zkfh&MF{OkvRm*mQa5LV{6ml z53}t4smJo9#nuy&^wX_wo%=3rf2B7+%vD$BA)xCKyPtgi%$$yxuqObOtx19&8Vp(* z#m(eoX={8mzS`g_-CM30`3oE9fpC0F3QCe=utX2I%LywJqUuh6AqLCN$1p#^a(a1Y zF;1hRi@Jy@t$z3DZIz$r^2sgY?65=5%;&7Ldm&`-epQutkXmuEjatE>lFR!=6wu@dQfEoh z2}e~DSLX`(A|l;?ci>_!^cnGy@i-vOK6qiIztE(9P{>*;603R*G0a7wRvXtra(B^R z^2TvLA&%03Q>VKyh&Nai*gBRcqX!&K?DQk&-nZw(DHN)NH|Imj(8=1zwqgukCRsln z(q4j6MsUm*gcx&wU5NyT$55mngbR{|uYO~ao$oiGHxK)N@r#OI6hJx;hlXR$g`Fk6 zqTxfnGNYd6h*YaA66YLErJEOr@t$aERZgau5xc6oJ_;>^6#7Jm%E=HjpHw32WPUZq zZf$a^i>&YoxC!2JRRelhN77{v(Z&Q|`XNJR2%lURIb|@*p<@oiqd?hrLx|*r$2OKF z7kjsIQV*nmYAPcrl(MszJ>pzlu`0I9TQZL~Ce0**h8c3ia#sY6;Zae< z8kG&S{XjC1gZ};ICNaZ#P0<=KY6@f_P)5@g@O@6pTwtmlQP~y7YYq|w8GtY>_(?{k za)E=3`}&^;!hfiZGdJ|pJUa8pl!K+ZLu*Hgm=526XK1zl-u1MrAgM+JT!W^%V60Tz z#`bi(YXm!|Pu`C?sT88#vm~)DSLi4COIqFXBg>o9-1ofWOAL~3OcbPJ9)*59mben5 zfMgMVqFEsf`bUb9qsQQiQum*kSBlag2Z>7~2MI&9%)ozHVxc2?GMM|=jvst7+kJ@Z zu7A>h0fB_|wSL-V?Yb~6NUQt0pzW8R2qcDZ4l18;ir!T+GQ)d(XJv-k?Quc=^q2U%oOW?o;Rf;1JqoR(OS(=EVD#<1sXw6aZ>Y zs6T&IY(4E(6v%lp(GE{n(N5SJbh2yikp-b>nIZx16 zy@W4Ky~TAG+nDe>=7=21K;%H)n9C#Z?p}ZT8D?1kX#(%vIyl;c~CU z5-aA@vspvb?yJ%ReGCXerSFlhX}wdO0*ct(uW!{~H`D7jNypt0={=E#?|;gv2tl_0 z`v)!CSiH<*nWMjjn-q@}6TWDFuiO;6oF0U0`$RzHxiLMzugzmU55%KWR=-ou?%Tjv zQG&ii4~mf(PHkaT5jF)2%@ucP9GJ8D961a!QZt{YYlmw_wSDUOoDDPeVCJEK)3SPs z_;mV3IyxS+Q+&705KUx>BgSdT3Pm~4eCCBA)tK?&**fspW=4Y z@H6sEhJPdhR^n3A?yo%}AKTzVZP3ONtlwFpx^8;h&6x{6Aw6pH*y?L%=6u_yzWUmt zO`EmQh{OeB3E{^wq^mW5xYCL|(`HLzuoi|jX>l_3iyNRG%m;1b*>3l$(%r(!`?7QP z`JP4_FMn)_6$ZzYBj^)S|5ephg) z!*BP$J2vpGJ_r52;KixAV0M#v6S0LWBu(Va%=mZ~`wx#7nCkDHK*pAFCJ5DeZZ>7A zQ4sg%&Vuj7n>VK=`dC< z?o92J=Xr=_Xt!a1G-*H_TYjd0d1w0j72x?RTOrs(lpRxc@^yzGoWUcJGL{Uz{rLLc zhSL)r!oik;>@)(?QkBt>7NE62CDDmvL;uVdr2S3@!A-y%0?V|yL6LJdd<(-r&E9~W zrG!P&36%(vcs=~{h6&*ucxZB9X3dx1!H{Lr*uL|C_1_VHI6h{N!3Dl*f(Tw2y8fu? z7LP53K`}}yFxM?~YBW4UpcCyMKI7V$!B2;@fwNt|-aO6567j7r+!|$xr)3;P^4W8# z-!BdUzGr?o!60+?_I*~LsL>wc;1P&$7Uo!(bM*7Bi*`(YosN#)DhS}VyTLy?o?yG9l%JFoW+e(6Mr0(|4Zvx z`Q|p1_P-en@H2+a5fzY$x%i!C%m$Qpc8m^{p~`m7-t^nP!(`2LOaty`-5 zp*Lbo*vg7=R-0Ge;nlz6<&)2#n0e(T9=PJbz3px|_>)9(GygcVyPz1tnN)v_QS>D~ z)AuY0Cpie6v#XbP&09%rD)ZZNsN+}p)X4eo4&O5nIzxoC<4r5sIk2S{Nw)4e6r-v> z<$1h+7zc|*hrh_NU*~;hc6~g5 zz*o~+6m&6C{<1KeRCIJiq`2a;j`y&yOi?G*dpnEPQHtY_Ga?vpIt@!#z5bIeDjVsY zoHK9#ME{wy>ApNa99j1xBv)DfO`-GZ*~HK~>TsMbsfepP-4K?8W!#`~G&MY2R)EVE z+BUy1!5Id6Wmi3*Ts_H#+k4i}#j!bml2ROru)ysAqlK<7)L?QaV;9n-aX_kV!YT>r zu)G}kye~2+X@GeWvy0EwP8SctMjHngCzYE|a?zSZQKp+oP?#7!XqygYHsOUXf9+zU z6`2!L3sW0^4*`MgQ}U0v4SRFDzYPZ%3YbV(FMu6_*fn~eyByZfR!gh875MIdvhJP3 z@2 z?Ya?pT9wnTz1F1imheLt>qo}z`o-zyKLlQDr|c>80|^sjj?wTQqyhs+{5r5_?H7 z*0#b@+5;N5%Vt5#m|a#8LG;^C4U3j_1Ug@bXSyLKgnx|QBbV6pG#?zCA1}}E#H9Wa zV~7kH;(M?_ffW^@n4Z#2lxkvYF+wqWnLXvas&0!|SnuF~?_qU+6Gil4kfT-luBMD{ zk!F|&dcy#q_EW*2kxjAKf`j{`dJ00`(veHEiZ$B^^kuwJks|jCf{vTixCKgchX~{~ zw7MrIZPm{8=pqNj-)v<=7mET^$l`;qr_K)Ah{cJz!=vyI9MD~42{Sq2&Apm?pbcv0ur3uc6xrmj1J zvwZL!(|ZY|xEcH_AZY+|2!*KQbW}GoHukL|&9LyKAK?~%|68s^PmS9xqM90X>ySUj z(Ot~bHxoA`!MxGjM2g_2EI}vRn8zJS=gFz&U-9Z+gR{4{CPY>AGpmNuLrHPgM_`JT z%(HTHkv<34UI+>pDA%wZVg+J|^((pvA1i3K~t%1CZ{4ej(BTLEF z4cCVC>woWmx9Nz3z7JiP{mV6ob$GcI`MpjJeta555F;Ap_Tdrt75zdDK$OE)66E{D zt+mL1RSV2q!I>Nbzsd4435Q=!RJUK6nZYum0-cLk2JC{D9$;5)SnObe|TTn9j{K?4IHd#2TbAx#r&PkRuR2^j59is*3YIVg5^X+nssq9w5g!K$ioJiJ(fa^jjAk zIHXd4+u*w4PUoU!47lMT>?ek}9X`AAJ+A^YYl{pd3)qB#hJv+yi#DjQ;*fyZOxu z-QRIw400udsAI5Oyq=;}I-1-bSGgi)Tkex3 z)t>R`+814)@tN#SE@ekA1aWK~4-%JuQ{BPLtkRGo0Xr%u8pKNEXe7h{6B6PwSHar4 zq?pnM#SY7blb4WBE6Eo{-3Re*grSm6$DuYp%cl>*``YrnKt9=T*hs?xLa=}{YV`(9 z`K(7+;83zi@S_DiQh5u?j{8nX^4P;I)$9=rJc(?ui5o93@{gF7B|I|0Q*=iEBuNV2S_bL~atdr{QiZf}sdzUqW~Od`QI0CCK;pA0 zZUC!jL3hSa`i1PqK!;-0$%&Y3@WC&|%)2O;jMpBYx5KfcD1qzl70(S{&1{rW4m^ZA zZs6HoICXQ1uSn92mS)k?nNVDgVqn>>PGA^u*}z^&^!I7KQH!T`EZ!?8^(2OLlc%7g zn=!iLMq|o7FA=qJ)jT?XGRsD6%VwOZJNUu4V=~oyi0&7B@|Wu;pAp&IT7i#Dm?f>s zE^9XRD@F^7R9H+n29J|Iwfud51{lV+3TM!7-xUJ` zFbIFxpMqJH&0B1Rb5>~KLRoW{OPdi?k_t}4gIh4Pf1740?KQH#2X|XMwQ{yy+EHR+ z^4@ztI-J5V9>P>&R_T#hBcMe`Fg5(*TpM(W;SyiJh@oSw?U=K;PB=DKr;E4*?`Ks-64)LM6NzoEBJ&|Ub>sQj35bQwXj@b+{XIYb}QwlqF# zZ|pW9p(tZJnupWj{o5{r0z+qoN7wC&&P}dTX{X)hgIE23{Wf_XIyh|pyQ)sA^8q`E zUf6K8XAscrx(!j1?S)$}j+xqZE$pms&#dnFw_zR?grp2ZYF-Ez$@6ewjBv3&qOg@9 znWdbWZRTl8&Tr~^oVam#JLebGeulSoG^p^2<j$ z+9H9krqv#rD9W7j+7#T+dy{H>T`uHXw`o#ZtJSHTgLbDKQ>YZG{8L#e8Bu}57!|53 zS`Y?@f^Zx0Lo%gxpIHB^f9N`|-!6i7oI-Rr#4-PWVt3q@gvtBe`*HmaSg&B6_O zx*c0~SvbI#R6azdu>&7)s*1*BhlSQClw$cOqEo{poBJM9Es!9;f)>Ze_x2NsJ`gw? zaOJ<2-ZnbdJWPLEyfjojJ#$f%#6i%2`w|4zFo-Z!u&LV7sWsMtjB7?5|7?Q|9qvF@ zh>kgbGnj^*DrV22P-QnU?Ncc#;_`Nj9rNJFL@BdFnDnEn zGZY3>MJbH&E$u@@WN!E;w;JKzii%nq`BdUxk^+Q>ASK_C;; zH4$`uip1|dHd3867LAb!0SajlqfOdHiAfJdt&nSul_`l!)*9&s#H4uid@zoE$K8s5 zC+6V8uRoT<^HV{^)xebEYOti1SjX)k#?6hh2g2C%6xUu)mDaOy%Q1R}%IR=2;X;3Q z=n#3XQVG8K*eSVuJO6SOxZNKlQTY!^<}s$+n#B+ngYSvSHyxcXA*6Ax8#zd$j|gEg zKbQkV`VcNwL(`W*W1w+4`FMu$dd4Y#Y;%rQ+d|1|z2e0o9Y}DcCVdqJEDYK_iB|TX zd3c!=C&fE0%7ih+0!htY7i;S%JXcd+25S(aTdue7yT-{L{B&W*iBAMo@}03<QY3DewQ93C$#2oOzpwk^dd-AiE{@!7jmMpmnFYv>FF~6RVbm?sv`*z} z4ei2OAjD)i0%UiA!W`_;BGW&5Dp5ft-x02XG0uONwcK^>xVxUmTSKG_JF!tv^MDJ( zishUo$VhP!5i#T#t8SD3yrgD-wqkaDv65la%Kq(w+KpSBA6SE$NFKH#7_}lu6pTZr zga(^94^P`jtMb<1eQF<+{f@t+J~Nly@-@D&7>rEEY15o$3L3lkmO^z?6vzzVNSA@F zGn4@*PDuEM(>}!W+p{=a4Q+SkcmG>-ev=E)!*}@t7GP8a0?7i+WUJACY`vaT=U*xJ z2a;8FeURBH?8`o?dp)a0d8A8K%4(ivWX?fC2EWLfdoiM1dYjD0?m8OwKsWcXZ%710S zk?x3vWw(K3Y&R}y?7M){V&#^q#$=fYi5g^ypU{67PfnU7$VwOJ*z0rO4T*!-upk|k#Hz4=@+*|eUn#K#>WRP2?cA4CR`IK3Z1*YjcKo1mKa!` z;jyH0{RM}Aztc4%$>=@uS)%n3U%38tDO241t7)w;GLG`wBIOSZf92f|%55<*lG5#T z+Q7tvJW~tw{4$U`Wxi^JlT$j5CTE|q2}#V+nMg1m(ZROIrtDK*xP=uSwN@Qe^i^RX zUp^Xm-z2kM^<2q9DI!uGT12T@da4|rB8gHkkGNZZv^qHMkVK)Dr!E=@?>C|%73GQj z9?^IDj+0?9-IOCb_$ipIA3is$&9=G?*I`)JUtUi7To&Ft924Wlv1BD^0QxnXR4a{@ zF$4|@R%F3cmNJcEWh-igjn~EVm+&rww|t@?B(@e36Y&d}(U~KMsoCbPzMW{#lo$C- zX&&}}AS5KTh0_$FZrFnXp+)$O=T9n`E`g~p*k?>}i~CY}f&{8pcmmv)v%bp7 zs#ZNIbqpfP=UG>^cVXHbsRlEmnP=yIFbgSQeF()jC2S$)1QQQL2Vp=R-*lEmoaXTo zH*jj$otg(YIlt63cyQ%<_G+tGTGKIO@U~5V+%`B^I`FO1GBJqFj6_<~y!ji+wu&ST z21<`ViJZ_V2mFAgmrf&`U4-bbgdXE2W{d!gB39IbXnBw0cRt>`^TKWc@ZmlEcbck7 z2Dh2|d`fGgul>yAB*OMb225Q}eFlFk4h_wQgZ2~H%^k}2YGpso9S_r9QFSCK6GsN5g@EgGZQwkz!i45=eYG5zETBQpT z_0;dmYc2eWwd*;$ypp3xYBQLfN_*iDqsBh$K_gZ0z$C+e%mf}j zLf{=W<2nyZiQATxGw8g8Uj&S+Y%*OIsq4v0=Vf(iw)2^IRtY;Z;i z3U$ts**p;2LlQq_@nO#_1AumaCfoyiix}}BEb1?PqRtJmSp@Ag@#G})eeQhN{Id0r zjQU;|hL-K{t=895J6W1H87Hm~6)MV4AYNZksCAZOZiadI;@SG^QltT7zlTIU(4xo< znCxuVbHV^D7f-x z>P`~f=AA{CS(PU) z6qU^m0BO^3r1tH=Hz8PmFw4~SD8%_UnRFx_>+K>?RtSNRahmf^@n@h4Bm?%kV))*<84uHcEbl9;`Cp>TAFiS% z#;wO3hyWGx(|`np!`vCT;5SAhci@ zced-Zbk`}xB71;{p0Ee$6CBXre>V^Rlal(thf@4BebPwjJ8}$(IB-p}Fp{tsG$+(u z9U>@5P7O-js$ETgb+cNL)zjT?u3g^M$q(+s)5I)%!mCzB7IK|+qN~}Ll^bGzH@>zu zH3di9bY4EyAG{D*`72UU1L&FR>DLT@^4@R4o28~Q%Y={oSsX+EdDy?w4OGSt_)$-< z$>+awav5EwcaU|;<8;`MXS(HIxPSWI)^(YBdBXiVRaxeL@%5w^_edIPJy_Eiv52OI zh{&(VO`vtE`qZ9UT{))T?9y!2@*J z0%M@iucUN;U2h`tlig~I1PB?g_wVa39$izjmmBjG>T%C=i4U6{H<`F$0-jJVzgK0{ zaLYP@*PHT7r}p%s(!V}C#oJXjMJOey3M*t0MuqahM`ve&wi$UeB~oNhyHIVqIygo6 zN@Xu@!>nZ|dkJq(v2^rGjBtM{Fs?XfEN?P~1Rk${%XSv`eB0cxHD0UqU)<#SKhOEU zp39R>U%ua3NA)UE6WkUFky}E1yTP3OMFpjqJgPP6HRbWCJe+*BHFb{2S?9Qhl;nJw z!|#-G`dmTBKd53}Xp-6&n^S9_F^~H5x!vJ}_l)ij!{3lYi*(pr5?2)-BMb|Va@?KGsskFBt%|sahFVV?@4YwdXyn&`q zg5DIQPZZs;ziU;J)!DEya(QTIbh_CA^Q`xOm?W<2c3J=DPxYGf`Ll1rn@~uAg?xLR z%U@NFef>xuxv`PTxUg5&uNxv9pOf$xJ&VNAwS6;_iDB)+tpxnJk3I3DkNnm7BDtez{TR8Y{6aA#kr!V*+5O5%xe;2za~ zFTb2Sb`$NHBw=7meJE8QT83^OusYC5w0s0e(Mvd|^-L=)d+z+=S}cgOQINw=Oj#nx zHTh|R6YC(2>7_l8W2PpFFPvCQjpAicHzEpFf~%zF-}xpgq{lS={3Z{MqSa;kI%kg; zfO;oDCR2X8;2rKVt8RVv-_HvTW#q4a-Ei})q@qe*t&?PEc!Y`4aH?QZOj?+R7p18q zQ?`1|+%o*Y)1UI`{()z^pZyu+<>Q1H?y^oTjqyQ`mhI1i>F602S(S)9pbfjLIvQ8E zHgF+MKF;EPGEm{(1E1n~=}=OwAp`{pr?vku2w2{J!J{#K)aG&sN{`Gct@k#_IlHy>74y8x zyLEG?&XLwtQgt~l21d|J{b6hoymv|rLn2@Fr<7Jr z{E?qu@uELfyxNv+BR9e1u@l5bE>E+`*#GpyfauXo zOm#|j-?Q4UqK+RcsD<4!@&RNSqby3nKQ*Vp|1=u?kmZ_-y<*1FzaFviyucH9?1u1& z_^)0p8=rj<@7k8fF`o`e%4BOLsnsj2%qj_g1<2mg&Dpd3txF&*ylAT3Id-|v=TYi& zEz!;!bGqsJTYXo5_a$dn>gqL-( zv~*riJx?g@G(Kz~M39n@9C@M7L#$%c=bS(s0+M}i64v_1o zRGGV?@5gLVd3-Cn3}?uVfvkbUZHxUYX3C0w_r+5mc#E*+L?zwO#_;ng43=0ZpZB+= zn;dN=GZR;Th*||+_O?Z|Tfg^)u50JqCBe3Tp>^q73|({L!{8lsyorZ?7HhjvVSk!R zfgVZV4}7Cfv8+-W_}Lj|wa?|~+mB_x=8nD~&Z^ivvkfxLz_}9Csr=pVjCF`iVn|e` z%>k!Z#Wo9;xMzzJM*8gO*ziSjMSPxtlk*87%DNKbw{?=`SX!!*UwUBo38*t!*P0D~wX1t`8Dohprj{H&Dcg3hh-+*4?k9RcsUwls z>BLHDDP1*r@2B1o_Ij)VE3H8cC8KhdtI8#6;Adr>)UWZUNq_WNRh{)cgw`U{BZ^8> zA#Aw6JV9ETA;AGAym@o-rrI<0m449e zmzZ~>z=edwF-1JKuZ4sU66&BcHKU#Tu<&24l+=(x*H4(r^x+aeY znSIk$wes#e_stWDmND>@B=$ zrfU@DB0F|#?bb6zUh%`*cC3VC+yul4jJ2#C2+En%t1ZwgLw7VZrY5cUz$cx>&V6zvThiAay+4fH!)3Hm z8pov!1{=Gmoi)Z}nLUbe^GmTR7^>BV3grDFaxJY}TNt~4H}6^1w86-UPC>pFno2I_ z788PbIKMeGxp_v7t6DNQ>i^)$M#KZG^a^`X^NC=4f#u-O} z!J@`8RB*)&1{Dzf(o9earZ^(%dLyB$dEe2;z3;Y6Ec&$&z$+pfseP45H{|h2Cf|m| zvAxfYcMF|=TTx}Z04fUX+U=SUG^0;x{=JwfpFobU%PZRf_0IiaC+bWxWfhWvx$=A*p#^M$nz?#34Vn|jV-HRPFo z{ZO_WsVkZ)Ups%*0-Y{P+~n z?*&bNOc!!Tdrt|y!Z;)$0pPIzlzQyU=?Ci=1*3I=nbznFBwPl?Hh6xinFGeVxuJ z#JevV^8{6qAm}YC!7$f!{U@iiglXZk9~4G^pN=7Fk{T+0{4Y+M(uZ}me_X%uo&3USC!KACiC+uCkjbw;aL@yRHFv9v+ss8GWTGW6B@mRAe003O@pW7du5qei(V7lroC$74`a}w%?J*z8l@{^V>aI zPi1RVNHpY#|W#8@~CEL5KJqd8rgj{IbN-k=M!5@6a(YBCIt zGn%a1g+wyS(x9o617+g~cJ-r|t}2sb`adEspB!BN7iE=zCSMvgFmg%}Sz%{?AiF;% zpTlehCLn5@EJ_=_?ujYm{3Bg&@XSi5tYQF3K(@bN1^b{i2*4i*TB=R>qG_dxbQM%s z6kn}HDWtIe62h@r_Ke-V!fA{MItuU8Sj~#5V<8-~+0;Mb?yEIn*hpUyf zI?{W-uBgb0-hS@KNO_KrHGO9H<5`z&Xa%g0j5UMHN{Op%^W4G9>N+Q-nm^&cFxV3n zjN})ncOb&_86<1{Z=ssXj+=7-s3v7|KXv}9erZ>nJ}2NEKjNBQfZ^bU^#HTke?my( z*rB5wcVE_gN1 z*X;pAIY#MJrJ7*oPikfhU+Z-wk=|&RX_*Ns;X`hbDpQcgsiLFUUdAL|PQqq2uly3r zs5XMYt&Y;HemZVlt!;Yn+O%{vqsUN1hdXP%X~uP{;yyE2vXbS20tnvH7cD?_JOMm1Wl9PIlpwjL{1h^ zFQC;xg_FYwJbPy>e1Wzw7A3HW&durns6K{rvi<(vCA-qT{M?nbK6~>V1fA}GGTChX zZrk|1GQY3wfA^wDW$d+wWw)Qs@Mbi*`0L8m?e;RijyP-S5#!d0JLC ztexqr*XpF{Y0C+6ywCp;NjFGT)I_c>P)I{yZoV&|Kx$DF_MjqK+Bzj|{~pAi2d3Em zdBcC~u=<=@J6POl>iqWq#jK|Dz~)-DegB(pST04V&QzW8qZKU=8;ejmVe}qw+SR7U z`&fl9e^eILWK~cr)GU}W?8{^PJt1!#@9kS$M`?A}!+bT@mC;K6WvLAe{3Hbi?suy~ zQs~x?OAT`!!>D;+au#^Q;$gcap@4$b75K`ddnaX9BgLj6fgC*oBDWHH>=18xGA802X!*k0`=isK@C!5lo@=e?y}mff#hkK9RPDcSUfF?crAe=V#k!Q0CiUk?h-A8e6=DP*6XeTJ1*#V$kHGN0b-uuoZr>DNwNlh(q%%#EvR0Ig?*hBqSNjA4 zf0tvma1XAnS{y+V!_!EJVoW7dlCW(df|X7a(ri#%2e=U?t3+LsLY_coENx|(N2I@0 z0FtC&ZG_mQO`1_p^k7+_f85CB^|rX%rq>gpkwR6=cz3}al1PR1x9MGBzPSL|ZqfN| zE7tjLGxqsn==rnFvQ_^^o_~++C&D~0fA4mP5wUJ^%P#649<0R$@9lkk_)Cle;aR^271+%i;h#XK8C}QTCfYNv3zGuHS~`+J71hI z7J{+uj3~hx)fAIzK;-AoCCdm7zcefN6hua@I)zkH#j&hdxe5_gQjn1!KW#@~aKc7} z%hdM04g_?sd#Ren8Nv=-BTIUs_2_6_-g%T&yyIsussHadrPM#~;97eOf71fiX`a=- z)cbCi<+D^3TeDqSRico)HIZHvH#`eM!{?$H@}4_}VtMU@pFbG=k7zV(zV@hPvrk4}(l*WFoV>#ca6TEOE8;7& z6wx@9iBhcyX2%z1iSY1Hg*+a@nPiw2k(*^dhx(Sb)bILu4vK;)e=ZrGD@=q+|_4`e!gzCXMG_8bIX>@NIgf|x5 zKO4Qn!{wX~RRZ1EQZ@Chx1qEsn%%ZEd#0Cb%piz+h?!H@L%0GL}w{ z#LzyU!S`?WwoV7o)RppYimcKtY%4LMfUY!_`pKZ{Cq9Pjxf1`%s=g0|?_yc$ydNcO z*rC1KM+j4`e+gtcKTGKisi-TaqM9fem3;IRR+Yx`9!bvK6sCh@3K^=FFX~;p=N%4I z0^QhKQl^|u8w-zQCy|!(G7Hz%>8CQNWGP}{IrX9+4WSn{8v2z0UckofJAOyf49LMO zY<4J8-Jh|v#mA#js6U5BbGa{YI0Sa4srVp)V|X7Te~CUp2Lzee>K8qvNB$t1gR zy403EWs_;$V;M6nZmm?VN1PBQ&OJ>_FiqSoBQ?>l)mpI}CzF6APhoXk0!!8y$Z%Gq zz(I?i^SV#n5Zke8ea?cBEX%XgO>RWP+U(OEwM#3Dg43W#BdTaJCc5NZ{}+VD2z?O$ zuefWwf3#R!@ulk;xK(N8=FyNzK!a?kiTGw}tNkWH_T!BKk_o=k&D_+R5+ojQDq*WR zVT~dV&v@@80c7U~V!$@LG8#r& z;B$e91dNN3u{xvW{=4Sf9^ zeK5`^)bMX z0&^H364?Qsv5+-)L(}wYg?Wdj<*(`?z{D+Vb1F4SlqvvnlK+&k=Guj0=608CBc2ZN zaOuwMzFpGPNKp#d$~0e?baDd4Q~)3)e-sSRZX6?9dX@s01GR7$23-yfwbESjJ3M!+ za?@selk7La5c*qIdQnnWpo9py$4qHjHoV3D8;jgHN5&KX>v~DiL@$l-P9}=4O>J3O zr1#A%?Y*kkJ25cu>6_K)k56KfK*oZe^iayIL}MaJLEHSQe{GDa z9q=Lmh0~tKtMzoSjI0z6*U-@@sDkl3MX*-`amW{CR~>sQWPJME0=Cx zb~|6VahvGU73|(E{D;DzNeD7#KuP12`_mUz*^75v_qhYJoaW7uk+>(gp-wJYYFM zRsc!EigoQceeaj<%IV_~)!E5OD3@n?blBC3g$ph1cX0z`TVS0y^oxlee`QHew{+`r z(ZU_nCO)3X#cNyK(ofCf=x31iSWwTy5y+UF`5kOU*ILHN3 zBOu3B)HDW$MPp0HNMrFhhtoTRcs$PO`@`|f+}vU<3~p^mKy+Y;nnVUUB=qvQ<^1ed z>3U&y^xKu0uIFA%jFkRG9b=x0!sgyt;11Rflh19BlJWl~g1fG6e`!)fRB~K1cDoD4 zpt;y$P3lgy@GBC|h7p>fWdbd!bg@hK-4@pN*sYKjkL|!(cQV9_h6;xe(p#6(V&HZP z+4cV}pZ3?I5Mx@4XuH!{hiP_Q(_ETZZ2!1db@T&K=Mkd0W~HS%M{?a5Pvv9h>+-|Z z&VK}9tI-4hr+yP=Vl(?dB8N=w&jxgC|ynxH=%1OYhFqG$;0 zNO0w9f^Pu^c9~AXIW+(URnQ=0YNHsl^7IP>Cg*PHHUztEZa_$#GV(Puo-<`>+Vspy zMrL3@5Q5hV%{$pJZKBB6NPpj3l=sKlzR6S2^N777rYP2ke2x3GDyj zPFyT6w1~8rw_q$QX|$tF?}&Siwbj0m!-oab|w)CHYNI3abbo6}f0JvddHb zJL_c1buQR6IIT*p(d*7?L@j2*!3vE)=GuR-(-H@V*oQ|*xR=h8%;S9np(#}sl04=1 zTC{-zY@SMZf0?K!Xzm4$MNo(@zsUT*o@BKubMDmBpcv9+k*a3h4grnd^~(PqFGr$o zkU)Cz8VheMl*h|RG)?>J^W&oTbKf#Sz?(AqlkGsdErgnA=s@^tGLXf*vyTxyu~a2- z`=6?p#K-9I$xQ)4Q8L`QpLAb8Xl%-w)=nKJ|L}SMV#|dU#6d$I7ED8 z+nw~O_hG?SXowVE^3|83bPxO1O8HJ?uz`2IM~h7ow(YlJnxrzsl6 zq8jJCq}wAJZ4^Zy2eD+qhJ}Y?WapH$bx64Se}uKDLE~uyiW~u_eu|w^+*7i}kcLDh zsbB$}-+#T^20)b?a*ZvR&yf9xalSWNq{M!)AjwCg7-Zc2*1+K!GWc?3Xn|0pE^Zxq z(JF-;k7yzfVmdv5u)O|D-Te3IYUEv!vi06vZ#2rBFUiUcEF}(Tu3vP4&mJze`E}+$ ze--H78x4Z$XI4-sps32})-bAR|I1wW{+N#GIi*a|Z5x$otfGnjAh2fS70d8bqf5>} z!0(kZ_%wIA6z>}Vcm`Pg5!wK+mUvdXsuV^(ewg=lKHs(SJvjb6q;ybUi_&_<0$V(t zVqUI8IS?IC4B#DMiiQRSn%cTjO9q4)mI`!=*e zF}qqVsRSt%91G4V9%$GfLfIqGI>Y(i)}A}iL8A#*dW>3&W`gP31F(kGDQ~jLA{0`x zIA5p#EgI*4W4+>nL=}Q)bbc@@tD2CVlQ_EN$0Hbm&`A^9|nt}O2|6Cf17E^ z1^4ldg92LXJZH9@-xnFp_oaxn%{HCWvG5t|L4~q3(o=@SrT@qVE@xJ93l>mM<<hvx_N<9%XIMp{qTe+SIgMC|PEia}P&Sf2k>AW16{U zuS-u*wsv61nR60NkxRbSaLPzF#b`W$Jmxo&3EcsN9E2#QV6ZSAhtIM?ICnzQ_FDLB zvd({Ok^B9a_v2-BbLO#7`0Cw_;f9^>DD`kz21|NC&A8}nu(7;ireLE|Z_=9&7b3-~ zF`d8Cn+J{m5!!jWBYX?ZfA+g#=e!*wo$>p*S`iy3`Nfdmt&ssmi)2q5k8^%nRd)`w zUT+&(eL};iVMO3jxR2qRQBpE$2$ub9*B4rj1fY_l(l(R|w@a^DPAoep5U4)Lb@ka0 z6s%g5jP14eCg0M+(h3*gf`X!_2QHyEa2_VRTeS74-)K+^fhDZKf7c=n%XE3E$RigQBBcIyY>ohj_A7=9!w0OEu-FEhGCyTFsOeWAMGB{Yooz*LnwD6OQxerz}* zHS7CCE#rGXJjngkMOw4Ud0DR;adJZ1z6c4+Si)SDuN)~Hl5*_i z^IN-Xcge^yp%P9_e_yI=&&Vdr&nt7#>&?kTd(<>u;DY?(^{hoF88PY`8zE7?`vn;9 z_o)?ux)eYb#a9qdH0b4#34w2s+b5BoNR8r8|4X+ZfoW|)X<`}i5ij&r1Ce(6om!>+ zul>&72Vq{diZj|OPIUz(6>)ms{LJ2XB&?s@NAi&=NbaIle+e?d5T1DmwF-;h3hML0 z^&X%$<$db~tI#ZR8)KPuhaY+FCj7O4Ncx=W#UV|r5F0d#> z2@-(>CeX2`kOi$3y3TsjZu;&;p1s+PE92vvUAEDLcblI=Qy+yrl*|gK*?%lPC^`I0h-LWR zHf@~u@1jO1g#)&dbpn?pH?m1vxg`Gp;5&q8X5~Gje^9E{RfUR_MtsUdE+)Pv&enzK zXhq*6BT!EA-6T+?yph89MI|Mwy1nzQfgg)AMoCM$(;r@#^e9(cECPawF5F7Ls)(sn zRDEg)GUQI5Y0Ga&AOYX0>;_R{p_JDw{>On+`5CGg#218{`4lCby~be7Gte)#e6pV$ zT0bGBf1;s(IRz&P-Zm9{!CMnhuf0DvGhGWa!kJK+y7dl@ox8F9kJcwo%#G?`*r)`W z)DkK}#s}QfKdn0_Wa@igm+I3kWm!@SaB5J&MLbPX0HR4ALzMoxB!2T}`RGYhl@}Iu zdecQ$9j?=>^QFD+^)$Uj+$x0wc_`Rv$6bvqf2l^R$oS|Ipllwh_xZhfN_hEbwj_}? zG>$w7h3*jy0jrUY2PR>9zas3ieF_w>U{GOnpiSr{xu!VZYqS-EgjlyN87$d_=F&m% zlpgR1)g}NjjRd=|$hRM*`YELvzUu}u95e6K9LKZ%b6xm9j!m7G^5+W7h&}2V`ZcUx ze-0pAm~Z|6Satp)#2*i|_oNtEMTOTTlDW40;ZQ6{PoPAG^~sySSB?Oa#gw)DNF;N6 z{lCw49&65$@$-u8ZC3C-2Hxd!I7$L`s4F;yWIL9EQ|Z=qnZvw#C{L?q5o|_y>1HLD2LqF|f}K8S#`)eC?>tfW&kery>i4B_U>E}@M*KoRmS!?B zhtB%nbGPVx2(DgCouNGUt><4a|N52OTfW&nv}}19jcuZw_8K&2`gc?8akX}E91l!F zkssk||B`$Z27|L{eI=(7!RDUue`3N$)m0WOo1TiI7gYKMIDb<6$1nA=UB>~cJVWIQs5;&A-j!ds zNG`EJU4PX`K4+O27&tmzwXxS@;_5mbn235!x?i38Y+1U?`QHEJD4l(2`y?KyF#-lUrVaW+2R^QMR9c6YeP z|I;+lV{+^7*Y9bjg?^L+ztG4(ZNgvq@m(1s_fpDCpq2x;Ld>!Pe-exI$`tDz%(VBy zjn#@B3N&M8@o3`geM>syuG1q)Rz#Ie;i;D>%Ai@?*i<4H*G|7c;0>dr?cNEf`&Tvn-f>_P8NL@tf{FAST^bxf+L;$(Q%Pf79pjf|bUVdus4H$P52E zO#D@|i^D~v(Gb;uLPJZp05C?^6JTW+Xk`bNjcSF+!cH9G>~HUO#Em z$s(hsgf|%EKKw?D-O;v-~8%IU!0E}wvC((B0TTDyMPp6cF+13 zYxzc?77drr=atwEM5~#B=h5F)(Ptwt8B4Nz)_wTEG<`dh8mka1qfBXIzUHUSu`57LOG!oZSxQ2G9 z=|JKiQn?f7jk}*Zm+a}&6Jf{_am|Y(PqC_s+d;46L_C72`pM6!qtUQ|_4z2?husu5 z_Exe?HRUt$m?}mO$i;l(cfOmR7M|^|WNip@RL&1wMAM^Y+csp)_l@qIajm zIRXagfBS(yx9qL!fl2u9Tc5{u6m@@3N}0YyqhPwY3P=elN3L_fwD74G^SML@46IR4 z+(HFM0QCs8Z&oOfALker7WG(e)oJz4?@_u0Z=+eKXsc7Ab4>#g*2b&2{ZSIVZ{pxM zPneHeR@E}vP^lC|7_2LCf`<}TZLiRlw^aW6e_A3FshQUMu;yB!!WVEjCA5=xA1l2# z3A z!CUE=;BAA0HtYciqIJllRh3|4;GUlXbR{L+)egT{P#{PP{ z+p?pIjw=1mmq6qndOVJ)flNI)FxVLZ*)AmF`P9rs)`}E;72G1RjBELD^d+xkUF%>Wt(!=8rOw5~t z$eyf(*!c`XA00B?*;%QD|G-b5w*H4y+s_C7a=U4>#IGv-K2D3l;>BM1e_P4%+6f8x z-zPrjyZm2>#N3erbOHhssUds@8KihvIDe|iZakO6((z()^8QnH7Pa~;E{{{kvBdkc zT}oc`FewEhwE`~xTom+NvS(M)`gMc|F80Mam8gY~=Ers5Sin-Cx}>#$m??ciy*qW&QB3~r|FL-3%mUwRfX9DHYX1 z-zy!eiy{J(>PMVyOKF15wA2t&HJ*z}8^6)J<`>ucRLC3EOk!N6U~<)iNo=E{Ugwrn zJ3W`%u5excC*~yAL3D4#@;!pbIfDc_!x>qbZ_t-dTezHSh5m<C^Pa4@vowjxRhkyFS$JhLhmouoWZ;l6`!xjbrX~q*P(6 zsZ!9y2K%35e#71QADN6`OqE4NLKHVoy37T{KoF#*f`tn_o{4YU_Gy^TS2*x?l{4pN zmFA~Dg^37tna}K%f3fk(dcDa3%`=7*mG$6s9hqU?HjAk_qBa`dr{glKXfA4gksnD)W6lnK>1+e=pVN zyxsEj*BRSPgDy$o(6ybcM~`z)$KY$6t&T^p>(lpH%yUvYG0N!!!|ye`N#d%%}V$hk!oO5 z?a4leX#lE2e^O4S*e$kPw#Ea`oT47*7M$glPsxbZk?xfQP_%+Q_f2)an3*D^(T0h}6&_*6NLTaa?){GXf^6PR3Q zHx!{pMn^(CgW3pKYh!yuRHI^aU$xT*#kI2b^qX9dq3!x ze@MtA5%GLjmji2#A0voOlB$-uJ=N;{KB3BaZigy@POqo5yD!n?E4G<^Cx<^dcPhWc zRuZyTKgT|dQKiJ@7I%E&?Y1Qz-(-uYsZr5-HAO;koX1wRTSh}FG zc4ho;fG2jp=zm?VEo^ooLO6WgNXZxwe@Pz$DGGcD>5gN2=AI%Mr-lUmJz(%{J_zv@ z&E0QzhimCQIm7tB2(6Q;1+EIMDui%U1UI*EuXSQdH54RC4vAe-}&) zeET^eJT?SK6r`YslD(5lbGq05^WK^poyuf-ZEQC8A}c~81@&qm(DCUvys9!JsC_g8 zRR@U2>&-l3l`O4k5SpCt^LIvP@qZxD?t6llZ$6L)z#la-<~k+a6o~@1wCV*md)8fA~7QT50KMc{YZf&mc-rNGQ>}bWd~$JVz6Y?UukT z+e&^GF{NcJs0w1UM6e-036ZNby;j`VEq+B6lFL}m`+cFncfRyb`(2q^2LwOaY?DtF zBY_0D@oSp`44vuYk9mU%RB@i;*uWZX-$@o$Kfy_7xqoASr*rzBsBV9wf7%QJ#ugYg zFC=l&Nkj9)VQ=k*AGCqT)a3DZ*VexiIZ97(IZ_g9_Irz9sNgn=KrGV7^{ByO!{`~FrIzN|wD`&VIs|9|) zlJduY>ux(9yYI?R-_FFEZ%cLhY`*w?34g2_{IHV~9G|oC9YKezf7S|bJHeYj1gUZY zl$U$RQjFa10X3r9p|ASUsqWI5Sx*-hJtb05QW9z4G-<;+JX547d~h2IxL z!T|$@wYT_J*l3{;azzc{bI#&q7Kp3rCIrS>YMHZzasII#Saw5MQ7#smeRCUB^S~Y< zoGA)$Jww9B?@lFxf48jOY_`4c)|Ow2f@w;NOUihEraw$GyFSBVRL_r($Qp08GT(u; z1$MCLa7Lja73;PRkl**RSPFDznztKqR8-blO5Z5D)`WMuCq6Qar~}$*If&oF*vU#3 zG)yRB%OqhXNKgb!ln z)*?=WWkr`JNk}wiWfypSL791JLxjqhNoK&S*TF1+Dmwi^P#_>GID3kYO$^t6U4pl! zmhdnQ*2|Xl0DAM3Hka%9pD@47ws*4ZHoG}z`C5slf95V;f@aVNO}HBPEHktUsx`QH zMn7$|ELW~A+HuRJY-{YEGQRmHo+zW(gLLVm;RAV(glP!oD{yRFlGLz)En!O-iQ(A% zV}lsTAeE_U_wbQwN4T{UuhtX~E04D!zy8xhjD-4lohrf#8qi1u09{a*aG+Uow5PYM z*8I-mf3>eR1xF}suB*p+6aHPhUQhp)t1gSFqaVNPAYF%!0%d5jhp5Y?hc%KMwmw^7 z;M*k3&J6qlM*^gh5vXOnr?~`3tOokgN1Qz2LAi)5@6-0Et%79u6GS!tTe>oXAJ;&FrFOCC=bB@w%behwes(zgr z89ANz4~6rws@Cf*20w);p*SI}Yl5V#sY)4pv0_+E0W&f)2`@}o!oWq{;6%Ht_~@0tVKMF0CPzQ`L#F#>iO?*UA&kWPa#3{yzo_1 zDmw0y6a3p4fs1jPVz+@P)2cg!ljVAAe`2$A$s#L;zJgyUcsXO`EY_`XlyEo;lFi9) zUTNXJ1q{6PullcN$-%<9UIGW<=g)S3{Z@!;TT_&*4+9b)s(l<2`srMTYSd=jxhjef zKpR+5r?4LCs8*bwn;@f1JTGbNd<%yNNny6zr0_@V71O(a+SaBS}Ow73G|;K8WuSWhGC2qIM|u{`1FBOD^qHwqxH z5!c1m7nSO0Q`6VS9|r5xe`r>)aa5zUxupLbq}#umNUhv*7Z(`*klSkW`aDMN z%eq*xov`UO3?Rv6@sS$!n&7uoTBxQ=Dlx!6tE0-um9(lS8?al%yj1`aPo|NXX}-3o zWKghP)dL$Em%5_7(Z==`kz0UW8d<*60vQ@{oj`Y4L|?sCJ+FW5f6h_|Sib|bA0rYG z#jG#o_vN(`GOfwxLrcnP zgbI_C^t{i!Ikpw1m#)k)O62<#a2xOY4!;t=sD8W96+M)|i`2oSqF2=1mqIqRVvQsJ zz4m;K{%F1yLGfJ;f53CCG?S5k(}9O)~+^iZ98Wm-(XAQ5(-Ap&L1KAUAz{~O)pHkt$sZmc4e*)I}_nFSrlZ@4%{h@k` z@F1#Ch!LZ4V1VnYvQQ0YD8U$7YFcQ48!re%m6nx~Lt17L&&UW1+J74#2~qc# zkKlVK-R)BGn>H);r6?`AVP&3{p+ZBUwWK9130m{FC}i@3+y-v=SzI~_4TQ(bs;rLj z)%q3IGx0|Uja>9A(}5= z3wu*eRN7%+0wIwf7MNbx?ZczAZ_(t3m$(8a<-ouRODq+ zu(l?E;nTOKNBxkt2r}g(^kg!O*HFsIrD~fQDpIPnqpPe5^=af{#keKPNa_s~HDA%jcG%TZ zyFXo=o)&AopZx2}zX~hGW8<8vwiL9q7p0O@I~%K&YuPZY$-$SlO!QQNBSp+qbOV_Z z(#PCBmr8iGQIxeRD?@qw9YlK_3zXBse*-Z6EdE&CR!2_$F#IC$kNyCSjblfLFF-~A zKQEXI$Nj$x=3AgHIA@)I4|h*&;G(+H4c;&cSe#Tuiz1Uf3le9B zP>e^JU3c_`G(6}=pB+QWf*DYZ0ssI|5-<=36yzcL0ErJoO?fa$E4e38*b^q}2qkI? zEq!Pe{g4$(5-s%xeB}@Q$a&LJe~qq~UEJS=#BPc!GEmk6G{6M}0YCsm;ODAvB9!8z ziowkz2`QuSVV6;Ai0$oDV`!FD?%jJHU)aJ5+4nRUmx~BCt#ZT-?o98%9M`NbC0_f3&=VQb5sn9i}JztDAWdqY;PH{gV~#j?;v|H5J(2ra)3uz8lW^FO2jv{M8mZb z9Z~;0sAZ48B1*O*uJ4>Wpu>duFJ+$9jj0rN>aO{VP-o8z{&gq z+}e^Rgmi$k!#F^UBt*3*9*vzk^OG&~z+xT*j_DsLZ0C~ga)k}2k*G$KDYuy^(d0|S zuoXct?t$)^4@|FQe~=go&_o1bHQ*Z%QmR{Sf0=u``$#oEI2pzev&Bg0T%Y7Ic?wm- z-M%9r|9Fya45*V&qX{d$Cqnf}ko`b0P87&@bBEN>mAjiGQlT;HbHzDxBvFDH4@w8- zWz!llM}TPx2!PhYH3sOZYl*2#s=YurAKL?YS)4%79BdH(f7rVizr@_+e4zSa8xYh7 z!V+Tr(mp0ri@b!TF(+3i2>S1bic4Jyc29 zyQ1Qj)?0Mz_?n_NB1DeM9nxXQ%otc+rKuv3ACeK!2gMeYzQ}Yh+5w7rkRGytswTyi z8RkuV-X&AWe?J=tG4>||_AgrkKmZ6B0V=>70hNQ(hH#gVedFTpxeQXod157WIB_{J zbXUKrUa$X%NCc=6R0;8Y9tTM%40Rkr}IhK|<}xe`iqefeArKCoFDX#O49n97#y~ zT*6SjYNCYeNm<@Kh@c|Cf0Ny7{Z6o5xp;E6!_%}RZ}+n?ig;=BXLOJF5>tRs;H z+ud;_JAP?fo#M0sX`H|2!|Ti@=B#MurjX}NkEE$9ZTZqTqK<&qV}7%d>+6rNMFL)l zKwTIqe|m-08?TLw2e9(&SoVOvF=M)%?zAi9ymL5$9x<`7|EO_u=R>Gu03qsb2z$;; zW9~m%sgLm4z~~K42JP$7mp~M_5+QsU(3*&cm6)%WpVRt$82a+r@BqI86ik14L%tZR zRLu)k7ZAF*^ntw-DbrpYqbcC|;u>4)i+Ji&e^X?TcyK~+4Oj!AGyo8Q5#g6axmi1+yIo*k%gPAhCe8B9OQrp4Gc&I1LTPzK6Cic>kKZ&Hn3(h7D!S7{SsmEi$HAqXC9_#_4Pp*QwDxukba1+t=GU$1#)FoELQ_XE$I3c|jX)Ra|WV#(-k9 z6f94uk~co~KffT?T>es%IY*8bteHU6e^efeB|rfl`{dykMyIEUly?7s*V6Pwwt21PQn_&9;z1d>05SmJ07e1V@?jU^ z(Ejh>f1dND$BOiB(=QR=j*wQu3b+8;AjiQN3ZO*yxmwn7fuw)&t2155f8~g51 z)oA|ljVEUk>1JFkJRbiBppbyj0Aye?tA<kT9f;3J%vere|SD>7U`_(v}syzDeD?ui$41_r*@C$j4FB{lKxe;oc;GbRBO z2t~#e0TCcZ4=b4ae#2dIzcjk$f4KzN#?}@bFluc8+eJW7@evfD%fR{q7ct43tmfP) zO6bUSt(`mUVgC(8k-QR_;R95_m&Ob$THfKeEjOK@&UBranw-HJ6i>3B3Rc_##14=E z0D?v=5&&%{nH}%^8R)Lhe^-P`<6_M6!5XxxN=y*{tPwwkG7xlo#~%* zoSqp0MOY);hEJifU;!Tk;{jBN%0l=73_GVanGMQgKIKxok_^>@Q zF|7Rgtj+yk8a|1_!MdB?HVK*pD+7aCf8xMdE&N>hmE(@{=xKk|4MA*R6#Xdd!6^bV z6o9D$fL00;FmTG~%PR_+`dFN)s(Rb?6b*ikpCiMGP6B5r6;+4@3!Mf15jB(5q(t1;#s&@Z#Lg z=_yBGLNbj=jD-$pZQbhyhqspNA4%@B{}{UZsv$dn?GnUqb>r^q1A^JSXe{M&hKGHXt$yqm zm)}%w;na{U1^*vTzNx(uu8A_XPTa9=+v+z?$F^}|f7>=Y={OzRwr$(?i8DRlGrwT= z^{%a2d#zPBH4{3gFQRlO3I(RxCqd##zTx#P&9&xWIMP87M|EuP{<0auil&Am#Z zWi>nBZ}xbYTWQxuY>c&!)~`2hFQSa(9*HBCAo}bgEX_q#U7(VA0&HY)?;s!j#9~&a zs%`?Lf5*GGe&e}#T)VaN8uYXQ)-pc3)1FMj z3j^CaVqdP@(J0a}!qLVK@~?*%T*|0G^$6RaUSyP>W} zix+jh-{9~F_~%0N{3tn=)(}ngj;)c8>QELk+x`;1d_8%9OAP&*Yu(A;>zkYVqR&`) z&}A#DTEyJnH-(p_A%ZO=AuUqD<#$e7L(>f$o^i>jo)o;sY(NtB#aCujROK1^7ue9j z=O_N%X@4=7q%S!ordz%fcLfy%YupP~AcAy;B=yEO6}Ff@w=PRiLhh`{-{?LB=l2G( zgfe=y{l~n+_RBpBJ8yF9$rJDg!IUx7N_V~Bu;6Mk7OZUS4$Bt8(emBvM(wO1uYmL~ z&V5lHKccZ|xBmrR8B7KJm?^0Ej1MvD3fV)cJ%3211fuWqaHdL-x0TdGlw=sF-TlISQP#GA4^FLIhbRcFam< zQml`z+RiD9UWT_|p1WCK-kJ0&TtVbNqC!FT)-n3~ocqjX&iE>%3}^JCTpTU7&{$+p zxqlZxvJmz{7`R4}9u4K-mVq+qODHn?=uA+qa1jix@|{4rvXD>Mer&dBmb$;eXIPm>%3cXGF&iy67eGrz}U47x^{~dX)2PJO2e?h;-_n~HiC8QK;DgRByM|BXsS2nPUbPNjJ zE8^a&^IcYq_&~lz`W3FxUg74|OY4o5W{@R>bq5I( zI1JPxB9P=yKuEkt!@YU5ANF1(%73rOwjNmPoqLF}xEVAY#S!&sHy#1JM~C0xTEK0a z49{gn4u-wlvSK-xL4%su&ham&NmIeCCx#WWW1;j*hh(}0ZbOtw4&bz!~%BY!#;)I&r5 z@8NQabzym3?Wo+`3m`7%$0s7c=F73h`k!d~+9p;GmvV1qwceTswt&EM6p9?t%WS_j z^PaGDzTrI?3!>Yfe$Ve7W3hw9)cgeI$o}vC8>V-^_5WM(oM>VT3@fy>L#6wZEb_0U z5M@+tCO;!6VY`7^L-+r2dVc^HzXwjGUrR=2`Hmj)cc1%+5TzkZN2n`Na>l!^c}Cxk zp4@V(>{|3r1f7P+dfrkubexM~Ba(K8M;hk8Ts13uXC9SISZ8#qPw$VCo#06)o)5f3 z;vK!Aq`#dRX`a8E*uvDq=hppHlN1mrz>>uZA+!laoVqglC#kdg?tjCFpt=VVM+GvH zFZW|vlUj%WeLNx}W2~&nX_de5&yO5YW(2%lQLXi>!=D_#Yw9Gi3?l zC`yFnIFUpA-;iPzLb_m%{UNFMzRcm6(m%hIVf(j*&24$KhVy1mw>tY&N0auD z6#0`*%}&^V5NhBI+M7`D#K{>;HZb2FZAGx{ghaIeZVZboYW$FUn6a>3jy|kiW@s}| z+O*qLh)WPbue1u6i9&J7uj3})xwHqsu;ckHMfJ-&?SHRF_j)M|%`Xn+w>Qv+EB#k4 z1$u@lJJnpMC1Br30*Gmqg*v9i;udZ8=i7MqKcYaH&cDhcmq)x?z6T3UwO0lrd>nIb zh-J^r;1?M|btAf2bv8o4(5>f@znL!B@J<=3{1O8Zj3h7;0u=rbgE0L%+_fHe$$?9# z{@~GyCx4c43Lh)9?XT~|EBV3(z}u0ng#-hSjz%UwzS=*uxEnk3#5-?wH|%UqNv8D~ z5{SbNVg-V5oYH-E$(xZZb;w!6exn5we-KqYa7|C;s90ZvwuJWTjVG0I%_2)i33Yddef5uj}J_@ zoj1Pl@Z>U7Y2q!<=b_E#G8@xdkaMvspm9<(S)L|n7?1)oMC50pSV(ryi0aHAyfOW% zL`BD`Yl>*)irWuPmjp%%{Tiqx^Dzg! zi+@_=M6A(QXnix(i#9^Mk#CvaxE|$~`psBw-c6BBqq@`q0vCa}JjQ=>j&Q{ZVdxqx&bHR7Vh+5D2H50ev`kDSHYzG{tJVfhhA{WLS!Z`9rwaa1z zUJ*Dva%$!Wm7|XaA1GE=tpjNjtEC~xvVW!N;_$V&99bf=I{9tHR4`0NAnxtMTOiBR z-f3P(bx%a9L7SMA258P-= zdB_@D8&a+;k*b3E80}g*OEZnnh2-O*(>R09(91C#J_7rH81*l2U~)NnPm8I{q<=)5 zmiC$s*sPlsz-QA-xDGJoFS<_{HC!_6I-Z4L4(2OjDM&I zYGT!1Rbj3gYd-Jg-pN1vQV$;(b2s4Gq`e{J35~pCzsquq-1*QjnhEK#1PRH|9?dApj~_^g%GvDd?jREp!kZhFtC@FwK%(WJsJ8F zA1UjhkAWvG5+Wr@V<(yQZshU`efc(x9{>X49(3%445UW+XA<9ZKYy=XZF~{d^WL%7 zrJt=bOm+1Xc`kz}Q@`<*j##LEAZ3r-S5yO!E|R~T6R+P=6&Jb^M)Rql>3>QGNrnL; z%J||5RSDNInN*QfeBoVRi~I$3?w?BZ7**;}iC}kGy>TYcMfI@Bmf~4B1JedwiIfiS zN!(U^w$hKwrBs;UVn)2eniw9hQfKb7@QalOi6MnNU9Y2slkN8NiF=0?0NdD zA=CeQWNCPng(@zp^oe>WYAABHUwzR5VqtN*H}!_Bi{k{ylko;T4Slza1ns<$U6|!t zp{%kgNqo=^^E7qQHdqXW)*qeZrUwddj=t>vmAq;rD-IbDPnBcR8GpaGsYywkaxVI2 zD0-J0CG^kp**6OSV+ja=ps|GFf&$zwK%0DI4K%VHJSzSK)%C1c|A-~G)fJ_T)t+Is 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', e) log.exception('Error in process') log.error(f'Task processing failed {e} : {taskid}') else: diff --git a/backend/dataall/aws/handlers/stepfunction.py b/backend/dataall/aws/handlers/stepfunction.py index 9b2916cec..9d497d63d 100644 --- a/backend/dataall/aws/handlers/stepfunction.py +++ b/backend/dataall/aws/handlers/stepfunction.py @@ -18,7 +18,7 @@ def run_pipeline(state_machine_name, env: models.Environment, stage='Test'): ) response = client.start_execution(stateMachineArn=arn) - print(response) + return response['executionArn'] diff --git a/backend/dataall/aws/handlers/sts.py b/backend/dataall/aws/handlers/sts.py index fe0d21d8c..d55e23a06 100644 --- a/backend/dataall/aws/handlers/sts.py +++ b/backend/dataall/aws/handlers/sts.py @@ -81,9 +81,7 @@ def get_secret(cls, secret_name): try: session = SessionHelper.get_session() client = session.client('secretsmanager', region_name=region) - secret_string = client.get_secret_value(SecretId=secret_name).get( - 'SecretString' - ) + secret_string = client.get_secret_value(SecretId=secret_name).get('SecretString') log.debug(f'Found Secret {secret_name}|{secret_string}') except ClientError as e: log.warning(f'Secret {secret_name} not found: {e}') @@ -97,9 +95,7 @@ def get_external_id_secret(cls): :return: :rtype: """ - return SessionHelper.get_secret( - secret_name=f'dataall-externalId-{os.getenv("envname", "local")}' - ) + return SessionHelper.get_secret(secret_name=f'dataall-externalId-{os.getenv("envname", "local")}') @classmethod def get_delegation_role_name(cls): @@ -107,17 +103,10 @@ def get_delegation_role_name(cls): Returns: string: name of the assumed role """ - return ( - SessionHelper.get_secret( - secret_name=f'dataall-pivot-role-name-{os.getenv("envname", "local")}' - ) - or 'dataallPivotRole' - ) + return SessionHelper.get_secret(secret_name=f'dataall-pivot-role-name-{os.getenv("envname", "local")}') @classmethod - def get_console_access_url( - cls, boto3_session, region='eu-west-1', bucket=None, redshiftcluster=None - ): + def get_console_access_url(cls, boto3_session, region='eu-west-1', bucket=None, redshiftcluster=None): """Returns an AWS Console access url for the boto3 session Args: boto3_session(object): a boto3 session @@ -133,9 +122,7 @@ def get_console_access_url( request_parameters = '?Action=getSigninToken' # request_parameters = "&SessionDuration=43200" - request_parameters += '&Session=' + urllib.parse.quote_plus( - json_string_with_temp_credentials - ) + request_parameters += '&Session=' + urllib.parse.quote_plus(json_string_with_temp_credentials) request_url = 'https://signin.aws.amazon.com/federation' + request_parameters r = urllib.request.urlopen(request_url).read() @@ -145,20 +132,15 @@ def get_console_access_url( request_parameters += '&Issuer=Example.org' if bucket: request_parameters += '&Destination=' + quote_plus( - 'https://{}.console.aws.amazon.com/s3/buckets/{}/'.format( - region, bucket - ) + 'https://{}.console.aws.amazon.com/s3/buckets/{}/'.format(region, bucket) ) elif redshiftcluster: request_parameters += '&Destination=' + quote_plus( - f'https://{region}.console.aws.amazon.com/redshiftv2/' - f'home?region={region}#query-editor:' + f'https://{region}.console.aws.amazon.com/redshiftv2/' f'home?region={region}#query-editor:' ) else: - request_parameters += '&Destination=' + urllib.parse.quote_plus( - f'https://{region}.console.aws.amazon.com/' - ) + request_parameters += '&Destination=' + urllib.parse.quote_plus(f'https://{region}.console.aws.amazon.com/') request_parameters += '&SigninToken=' + signin_token['SigninToken'] request_url = 'https://signin.aws.amazon.com/federation' + request_parameters @@ -173,9 +155,18 @@ def get_delegation_role_arn(cls, accountid): Returns: string : arn of the delegation role on the target aws account id """ - return 'arn:aws:iam::{}:role/{}'.format( - accountid, cls.get_delegation_role_name() - ) + return 'arn:aws:iam::{}:role/{}'.format(accountid, cls.get_delegation_role_name()) + + @classmethod + def get_cdk_look_up_role_arn(cls, accountid, region): + """Returns the name that will be assumed to perform IAM actions on a given AWS accountid using CDK Toolkit role + Args: + accountid(string) : aws account id + Returns: + string : arn of the CDKToolkit role on the target aws account id + """ + log.info(f"Getting CDK look up role: arn:aws:iam::{accountid}:role/cdk-hnb659fds-lookup-role-{accountid}-{region}") + return 'arn:aws:iam::{}:role/cdk-hnb659fds-lookup-role-{}-{}'.format(accountid, accountid, region) @classmethod def get_delegation_role_id(cls, accountid): @@ -191,22 +182,27 @@ def get_delegation_role_id(cls, accountid): return response['Role']['RoleId'] @classmethod - def remote_session(cls, accountid): + def remote_session(cls, accountid, role=None): """Creates a remote boto3 session on the remote AWS account , assuming the delegation Role Args: accountid(string) : aws account id + role(string) : arn of the IAM role to assume in the boto3 session Returns : - boto3.session.Session: boto3 Session, on the target aws accountid, assuming the delegation role + boto3.session.Session: boto3 Session, on the target aws accountid, assuming the delegation role or a provided role """ base_session = cls.get_session() - session = SessionHelper.get_session( - base_session=base_session, role_arn=cls.get_delegation_role_arn(accountid) - ) + if role: + log.info(f"Remote boto3 session using role={role} for account={accountid}") + role_arn = role + else: + log.info(f"Remote boto3 session using pivot role for account= {accountid}") + role_arn = cls.get_delegation_role_arn(accountid=accountid) + session = SessionHelper.get_session(base_session=base_session, role_arn=role_arn) return session @classmethod def get_account(cls, session=None): - """Returns the aws account id associated with the default session, or the priovided session + """Returns the aws account id associated with the default session, or the provided session Args: session(object, optional) : boto3 session Returns : @@ -279,11 +275,7 @@ def filter_roles_in_account(accountid, arns): Return : list : list of all arns within the account """ - return [ - arn - for arn in arns - if SessionHelper.extract_account_from_role_arn(arn) == accountid - ] + return [arn for arn in arns if SessionHelper.extract_account_from_role_arn(arn) == accountid] @staticmethod def get_role_ids(accountid, arns): @@ -317,32 +309,20 @@ def get_session_by_access_key_and_secret_key(cls, access_key_id, secret_key): if not access_key_id or not secret_key: raise ValueError('Passed access_key_id and secret_key are invalid') - return boto3.Session( - aws_access_key_id=access_key_id, aws_secret_access_key=secret_key - ) + return boto3.Session(aws_access_key_id=access_key_id, aws_secret_access_key=secret_key) @staticmethod - def generate_console_url( - credentials, session_duration=None, region='eu-west-1', bucket=None - ): + def generate_console_url(credentials, session_duration=None, region='eu-west-1', bucket=None): json_string_with_temp_credentials = '{' - json_string_with_temp_credentials += ( - '"sessionId":"' + credentials['AccessKeyId'] + '",' - ) - json_string_with_temp_credentials += ( - '"sessionKey":"' + credentials['SecretAccessKey'] + '",' - ) - json_string_with_temp_credentials += ( - '"sessionToken":"' + credentials['SessionToken'] + '"' - ) + json_string_with_temp_credentials += '"sessionId":"' + credentials['AccessKeyId'] + '",' + json_string_with_temp_credentials += '"sessionKey":"' + credentials['SecretAccessKey'] + '",' + json_string_with_temp_credentials += '"sessionToken":"' + credentials['SessionToken'] + '"' json_string_with_temp_credentials += '}' request_parameters = '?Action=getSigninToken' if session_duration: request_parameters += '&SessionDuration={}'.format(session_duration) - request_parameters += '&Session=' + quote_plus( - json_string_with_temp_credentials - ) + request_parameters += '&Session=' + quote_plus(json_string_with_temp_credentials) request_url = 'https://signin.aws.amazon.com/federation' + request_parameters r = urlopen(request_url).read() @@ -352,14 +332,10 @@ def generate_console_url( request_parameters += '&Issuer=Example.org' if bucket: request_parameters += '&Destination=' + quote_plus( - 'https://{}.console.aws.amazon.com/s3/buckets/{}/'.format( - region, bucket - ) + 'https://{}.console.aws.amazon.com/s3/buckets/{}/'.format(region, bucket) ) else: - request_parameters += '&Destination=' + quote_plus( - 'https://{}.console.aws.amazon.com/'.format(region) - ) + request_parameters += '&Destination=' + quote_plus('https://{}.console.aws.amazon.com/'.format(region)) request_parameters += '&SigninToken=' + signin_token['SigninToken'] request_url = 'https://signin.aws.amazon.com/federation' + request_parameters diff --git a/backend/dataall/cdkproxy/assets/datalakelocationcustomresource/__init__.py b/backend/dataall/cdkproxy/assets/datalakelocationcustomresource/__init__.py new file mode 100644 index 000000000..6c32d76cc --- /dev/null +++ b/backend/dataall/cdkproxy/assets/datalakelocationcustomresource/__init__.py @@ -0,0 +1 @@ +from .index import * diff --git a/backend/dataall/cdkproxy/assets/datalakelocationcustomresource/index.py b/backend/dataall/cdkproxy/assets/datalakelocationcustomresource/index.py new file mode 100644 index 000000000..216c8b23f --- /dev/null +++ b/backend/dataall/cdkproxy/assets/datalakelocationcustomresource/index.py @@ -0,0 +1,89 @@ +import logging +import os +import json +import boto3 +from botocore.exceptions import ClientError + +logger = logging.getLogger() +logger.setLevel(os.environ.get("LOG_LEVEL", "INFO")) +log = logging.getLogger(__name__) + +lf_client = boto3.client("lakeformation", region_name=os.environ.get("AWS_REGION")) + + +def on_event(event, context): + request_type = event["RequestType"] + if request_type == "Create": + return on_create(event) + if request_type == "Update": + return on_update(event) + if request_type == "Delete": + return on_delete(event) + raise Exception(f"Invalid request type: {request_type}") + + +def on_create(event): + """ Checks if the S3 location is already registered in Lake Formation. + If already registered it updated the roleArn for the location. + If not registered, it registers the location. + """ + props = event["ResourceProperties"] + if not _is_resource_registered(props["ResourceArn"]): + register(props) + else: + update(props) + + +def _is_resource_registered(resource_arn: str): + try: + lf_client.describe_resource(ResourceArn=resource_arn) + log.info(f"LakeFormation Resource: {resource_arn} already registered") + return True + except ClientError as client_error: + if client_error.response["Error"]["Code"] == "EntityNotFoundException": + log.info(f"LakeFormation Resource: {resource_arn} not found") + return False + else: + raise client_error + + +def register(props): + resource_arn = props["ResourceArn"] + role_arn = props["RoleArn"] + log.info(f"Registering LakeFormation Resource: {resource_arn} and roleArn: {role_arn}") + try: + lf_client.register_resource( + ResourceArn=resource_arn, + UseServiceLinkedRole=props["UseServiceLinkedRole"] == "True", + RoleArn=role_arn, + ) + except ClientError as e: + log.exception(f"Could not register LakeFormation resource: {resource_arn}") + raise Exception(f"Could not register LakeFormation resource: {resource_arn} , received {str(e)}") + + +def on_update(event): + on_create(event) + + +def update(props): + resource_arn = props["ResourceArn"] + role_arn = props["RoleArn"] + log.info(f"Updating LakeFormation Resource: {resource_arn} with roleArn: {role_arn}") + try: + lf_client.update_resource(RoleArn=role_arn, ResourceArn=resource_arn) + except ClientError as e: + log.exception(f"Could not update LakeFormation resource: {resource_arn}") + raise Exception(f"Could not update LakeFormation resource: {resource_arn}, received {str(e)}") + + +def on_delete(event): + """ Deregisters the S3 location from Lake Formation + """ + resource_arn = event["ResourceProperties"]["ResourceArn"] + log.info(f"Unregistering LakeFormation Resource: {resource_arn}") + try: + lf_client.deregister_resource(ResourceArn=resource_arn) + except ClientError as e: + log.exception(f"Could not unregister LakeFormation resource: {resource_arn}") + raise Exception(f"Could not unregister LakeFormation Resource: {resource_arn}, received {str(e)}") diff --git a/backend/dataall/cdkproxy/assets/gluedatabasecustomresource/index.py b/backend/dataall/cdkproxy/assets/gluedatabasecustomresource/index.py index 07e679b01..6c83b8e73 100644 --- a/backend/dataall/cdkproxy/assets/gluedatabasecustomresource/index.py +++ b/backend/dataall/cdkproxy/assets/gluedatabasecustomresource/index.py @@ -1,7 +1,21 @@ import os +import json import boto3 from botocore.exceptions import ClientError import uuid +import logging + +logger = logging.getLogger() +logger.setLevel(os.environ.get("LOG_LEVEL", "INFO")) +log = logging.getLogger(__name__) + +AWS_ACCOUNT = os.environ.get('AWS_ACCOUNT') +AWS_REGION = os.environ.get('AWS_REGION') +DEFAULT_ENV_ROLE_ARN = os.environ.get('DEFAULT_ENV_ROLE_ARN') +DEFAULT_CDK_ROLE_ARN = os.environ.get('DEFAULT_CDK_ROLE_ARN') + +glue_client = boto3.client('glue', region_name=AWS_REGION) +lf_client = boto3.client('lakeformation', region_name=AWS_REGION) def clean_props(**props): @@ -10,9 +24,6 @@ def clean_props(**props): def on_event(event, context): - AWS_ACCOUNT = os.environ.get('AWS_ACCOUNT') - AWS_REGION = os.environ.get('AWS_REGION') - DEFAULT_ENV_ROLE_ARN = os.environ.get('DEFAULT_ENV_ROLE_ARN') request_type = event['RequestType'] if request_type == 'Create': @@ -25,31 +36,28 @@ def on_event(event, context): def on_create(event): - AWS_ACCOUNT = os.environ.get('AWS_ACCOUNT') - AWS_REGION = os.environ.get('AWS_REGION') - DEFAULT_ENV_ROLE_ARN = os.environ.get('DEFAULT_ENV_ROLE_ARN') - DEFAULT_CDK_ROLE_ARN = os.environ.get('DEFAULT_CDK_ROLE_ARN') + """Creates if it does not exist Glue database for the data.all Dataset + Grants permissions to Database Administrators = dataset Admin team IAM role, pivotRole, dataset IAM role + """ props = clean_props(**event['ResourceProperties']) - print('Create new resource with props %s' % props) - glue = boto3.client('glue', region_name=AWS_REGION) - lf = boto3.client('lakeformation', region_name=AWS_REGION) + log.info('Create new resource with props %s' % props) + exists = False try: - glue.get_database(Name=props['DatabaseInput']['Name']) + glue_client.get_database(Name=props['DatabaseInput']['Name']) exists = True except ClientError as e: pass if not exists: try: - response = glue.create_database( + response = glue_client.create_database( CatalogId=props.get('CatalogId'), DatabaseInput=props.get('DatabaseInput'), ) except ClientError as e: - raise Exception( - f"Could not create Glue Database {props['DatabaseInput']['Name']} in aws://{AWS_ACCOUNT}/{AWS_REGION}, received {str(e)}" - ) + log.exception(f"Could not create Glue Database {props['DatabaseInput']['Name']} in aws://{AWS_ACCOUNT}/{AWS_REGION}, received {str(e)}") + raise Exception(f"Could not create Glue Database {props['DatabaseInput']['Name']} in aws://{AWS_ACCOUNT}/{AWS_REGION}, received {str(e)}") Entries = [] for i, role_arn in enumerate(props.get('DatabaseAdministrators')): @@ -67,11 +75,13 @@ def on_create(event): 'Alter'.upper(), 'Create_table'.upper(), 'Drop'.upper(), + 'Describe'.upper(), ], 'PermissionsWithGrantOption': [ 'Alter'.upper(), 'Create_table'.upper(), 'Drop'.upper(), + 'Describe'.upper(), ], } ) @@ -90,7 +100,7 @@ def on_create(event): 'PermissionsWithGrantOption': ['SELECT', 'ALTER', 'DESCRIBE'], } ) - lf.batch_grant_permissions(CatalogId=props['CatalogId'], Entries=Entries) + lf_client.batch_grant_permissions(CatalogId=props['CatalogId'], Entries=Entries) physical_id = props['DatabaseInput']['Name'] return {'PhysicalResourceId': physical_id} @@ -101,23 +111,20 @@ def on_update(event): def on_delete(event): - AWS_ACCOUNT = os.environ.get('AWS_ACCOUNT') - AWS_REGION = os.environ.get('AWS_REGION') - DEFAULT_ENV_ROLE_ARN = os.environ.get('DEFAULT_ENV_ROLE_ARN') + """ Deletes the created Glue database. + With this action, Lake Formation permissions are also deleted. + """ physical_id = event['PhysicalResourceId'] - print('delete resource %s' % physical_id) - glue = boto3.client('glue', region_name=AWS_REGION) + log.info('delete resource %s' % physical_id) try: - glue.get_database(Name=physical_id) + glue_client.get_database(Name=physical_id) except ClientError as e: + log.exception(f'Resource {physical_id} does not exists') raise Exception(f'Resource {physical_id} does not exists') try: - response = glue.delete_database(CatalogId=AWS_ACCOUNT, Name=physical_id) - print( - f'Successfully deleted database {physical_id} in aws://{AWS_ACCOUNT}/{AWS_REGION}' - ) + response = glue_client.delete_database(CatalogId=AWS_ACCOUNT, Name=physical_id) + log.info(f'Successfully deleted database {physical_id} in aws://{AWS_ACCOUNT}/{AWS_REGION}') except ClientError as e: - raise Exception( - f'Could not delete databse {physical_id} in aws://{AWS_ACCOUNT}/{AWS_REGION}' - ) + log.exception(f'Could not delete databse {physical_id} in aws://{AWS_ACCOUNT}/{AWS_REGION}') + raise Exception(f'Could not delete databse {physical_id} in aws://{AWS_ACCOUNT}/{AWS_REGION}') diff --git a/backend/dataall/cdkproxy/assets/gluedatabasecustomresource_nodelete/__init__.py b/backend/dataall/cdkproxy/assets/gluedatabasecustomresource_nodelete/__init__.py new file mode 100644 index 000000000..6c32d76cc --- /dev/null +++ b/backend/dataall/cdkproxy/assets/gluedatabasecustomresource_nodelete/__init__.py @@ -0,0 +1 @@ +from .index import * diff --git a/backend/dataall/cdkproxy/assets/gluedatabasecustomresource_nodelete/index.py b/backend/dataall/cdkproxy/assets/gluedatabasecustomresource_nodelete/index.py new file mode 100644 index 000000000..69abcd85c --- /dev/null +++ b/backend/dataall/cdkproxy/assets/gluedatabasecustomresource_nodelete/index.py @@ -0,0 +1,118 @@ +import os +import json +import boto3 +from botocore.exceptions import ClientError +import uuid +import logging + +logger = logging.getLogger() +logger.setLevel(os.environ.get("LOG_LEVEL", "INFO")) +log = logging.getLogger(__name__) + +AWS_ACCOUNT = os.environ.get('AWS_ACCOUNT') +AWS_REGION = os.environ.get('AWS_REGION') +DEFAULT_ENV_ROLE_ARN = os.environ.get('DEFAULT_ENV_ROLE_ARN') +DEFAULT_CDK_ROLE_ARN = os.environ.get('DEFAULT_CDK_ROLE_ARN') + +glue_client = boto3.client('glue', region_name=AWS_REGION) +lf_client = boto3.client('lakeformation', region_name=AWS_REGION) + + +def clean_props(**props): + data = {k: props[k] for k in props.keys() if k != 'ServiceToken'} + return data + + +def on_event(event, context): + + request_type = event['RequestType'] + if request_type == 'Create': + return on_create(event) + if request_type == 'Update': + return on_update(event) + if request_type == 'Delete': + return on_delete(event) + raise Exception('Invalid request type: %s' % request_type) + + +def on_create(event): + """Creates if it does not exist Glue database for the data.all Dataset + Grants permissions to Database Administrators = dataset Admin team IAM role, pivotRole, dataset IAM role + """ + props = clean_props(**event['ResourceProperties']) + log.info('Create new resource with props %s' % props) + + exists = False + try: + glue_client.get_database(Name=props['DatabaseInput']['Name']) + exists = True + except ClientError as e: + pass + + if not exists: + try: + response = glue_client.create_database( + CatalogId=props.get('CatalogId'), + DatabaseInput=props.get('DatabaseInput'), + ) + except ClientError as e: + log.exception(f"Could not create Glue Database {props['DatabaseInput']['Name']} in aws://{AWS_ACCOUNT}/{AWS_REGION}, received {str(e)}") + raise Exception(f"Could not create Glue Database {props['DatabaseInput']['Name']} in aws://{AWS_ACCOUNT}/{AWS_REGION}, received {str(e)}") + + Entries = [] + for i, role_arn in enumerate(props.get('DatabaseAdministrators')): + Entries.append( + { + 'Id': str(uuid.uuid4()), + 'Principal': {'DataLakePrincipalIdentifier': role_arn}, + 'Resource': { + 'Database': { + # 'CatalogId': AWS_ACCOUNT, + 'Name': props['DatabaseInput']['Name'] + } + }, + 'Permissions': [ + 'Alter'.upper(), + 'Create_table'.upper(), + 'Drop'.upper(), + 'Describe'.upper(), + ], + 'PermissionsWithGrantOption': [ + 'Alter'.upper(), + 'Create_table'.upper(), + 'Drop'.upper(), + 'Describe'.upper(), + ], + } + ) + Entries.append( + { + 'Id': str(uuid.uuid4()), + 'Principal': {'DataLakePrincipalIdentifier': role_arn}, + 'Resource': { + 'Table': { + 'DatabaseName': props['DatabaseInput']['Name'], + 'TableWildcard': {}, + 'CatalogId': props.get('CatalogId'), + } + }, + 'Permissions': ['SELECT', 'ALTER', 'DESCRIBE'], + 'PermissionsWithGrantOption': ['SELECT', 'ALTER', 'DESCRIBE'], + } + ) + lf_client.batch_grant_permissions(CatalogId=props['CatalogId'], Entries=Entries) + physical_id = props['DatabaseInput']['Name'] + + return {'PhysicalResourceId': physical_id} + + +def on_update(event): + return on_create(event) + + +def on_delete(event): + """ Does not Delete the created Glue database. + This is a risky action which would be done manually by customers + """ + physical_id = event['PhysicalResourceId'] + log.info('Keeping resources %s' % physical_id) diff --git a/backend/dataall/cdkproxy/assets/lakeformationdefaultsettings/index.py b/backend/dataall/cdkproxy/assets/lakeformationdefaultsettings/index.py index bc9e9ad7e..c6f706fa8 100644 --- a/backend/dataall/cdkproxy/assets/lakeformationdefaultsettings/index.py +++ b/backend/dataall/cdkproxy/assets/lakeformationdefaultsettings/index.py @@ -1,6 +1,16 @@ import os import boto3 from botocore.exceptions import ClientError +import logging + +logger = logging.getLogger() +logger.setLevel(os.environ.get("LOG_LEVEL", "INFO")) +log = logging.getLogger(__name__) + +AWS_ACCOUNT = os.environ.get('AWS_ACCOUNT') +AWS_REGION = os.environ.get('AWS_REGION') +lf_client = boto3.client("lakeformation", region_name=os.environ.get("AWS_REGION")) +iam_client = boto3.client('iam') def clean_props(**props): @@ -8,10 +18,21 @@ def clean_props(**props): return data +def validate_principals(principals): + validated_principals = [] + for principal in principals: + if ":role/" in principal: + log.info(f'Principal {principal} is an IAM role, validating....') + try: + iam_client.get_role(RoleName=principal.split("/")[-1]) + log.info(f'Adding principal {principal} to validated principals') + validated_principals.append(principal) + except Exception as e: + log.exception(f'Failed to get role {principal} due to: {e}') + return validated_principals + + def on_event(event, context): - AWS_ACCOUNT = os.environ.get('AWS_ACCOUNT') - AWS_REGION = os.environ.get('AWS_REGION') - DEFAULT_ENV_ROLE_ARN = os.environ.get('DEFAULT_ENV_ROLE_ARN') request_type = event['RequestType'] if request_type == 'Create': @@ -24,14 +45,12 @@ def on_event(event, context): def on_create(event): - AWS_ACCOUNT = os.environ.get('AWS_ACCOUNT') - AWS_REGION = os.environ.get('AWS_REGION') + """"Adds the PivotRole to the existing Data Lake Administrators + Before adding any principal, it validates it exists if it is an IAM role + """ props = clean_props(**event['ResourceProperties']) try: - client = boto3.client('lakeformation', region_name=AWS_REGION) - - response = client.get_data_lake_settings(CatalogId=AWS_ACCOUNT) - + response = lf_client.get_data_lake_settings(CatalogId=AWS_ACCOUNT) existing_admins = response.get('DataLakeSettings', {}).get('DataLakeAdmins', []) if existing_admins: existing_admins = [ @@ -40,21 +59,22 @@ def on_create(event): new_admins = props.get('DataLakeAdmins', []) new_admins.extend(existing_admins or []) + validated_new_admins = validate_principals(new_admins) - response = client.put_data_lake_settings( + response = lf_client.put_data_lake_settings( CatalogId=AWS_ACCOUNT, DataLakeSettings={ 'DataLakeAdmins': [ {'DataLakePrincipalIdentifier': principal} - for principal in new_admins + for principal in validated_new_admins ] }, ) - print( - f'Successfully configured AWS LakeFormation data lake admins: {new_admins}| {response}' - ) + log.info(f'Successfully configured AWS LakeFormation data lake admins: {validated_new_admins}| {response}') + except ClientError as e: - print(f'Failed to setup AWS LakeFormation data lake admins due to: {e}') + log.exception(f'Failed to setup AWS LakeFormation data lake admins due to: {e}') + raise Exception(f'Failed to setup AWS LakeFormation data lake admins due to: {e}') return { 'PhysicalResourceId': f'LakeFormationDefaultSettings{AWS_ACCOUNT}{AWS_REGION}' @@ -66,4 +86,38 @@ def on_update(event): def on_delete(event): - pass + """"Removes the PivotRole from the existing Data Lake Administrators + Before adding any principal, it validates it exists if it is an IAM role + """ + props = clean_props(**event['ResourceProperties']) + try: + response = lf_client.get_data_lake_settings(CatalogId=AWS_ACCOUNT) + existing_admins = response.get('DataLakeSettings', {}).get('DataLakeAdmins', []) + if existing_admins: + existing_admins = [ + admin['DataLakePrincipalIdentifier'] for admin in existing_admins + ] + + added_admins = props.get('DataLakeAdmins', []) + for added_admin in added_admins: + existing_admins.remove(added_admin) + + validated_new_admins = validate_principals(existing_admins) + response = lf_client.put_data_lake_settings( + CatalogId=AWS_ACCOUNT, + DataLakeSettings={ + 'DataLakeAdmins': [ + {'DataLakePrincipalIdentifier': principal} + for principal in validated_new_admins + ] + }, + ) + log.info(f'Successfully configured AWS LakeFormation data lake admins: {validated_new_admins}| {response}') + + except ClientError as e: + log.exception(f'Failed to setup AWS LakeFormation data lake admins due to: {e}') + raise Exception(f'Failed to setup AWS LakeFormation data lake admins due to: {e}') + + return { + 'PhysicalResourceId': f'LakeFormationDefaultSettings{AWS_ACCOUNT}{AWS_REGION}' + } diff --git a/backend/dataall/cdkproxy/cdk_cli_wrapper.py b/backend/dataall/cdkproxy/cdk_cli_wrapper.py index 8066d9350..fccd192cf 100644 --- a/backend/dataall/cdkproxy/cdk_cli_wrapper.py +++ b/backend/dataall/cdkproxy/cdk_cli_wrapper.py @@ -29,17 +29,8 @@ def aws_configure(profile_name='default'): print(' Running configure ') print('..............................................') print(f"AWS_CONTAINER_CREDENTIALS_RELATIVE_URI: {os.getenv('AWS_CONTAINER_CREDENTIALS_RELATIVE_URI')}") - cmd = [ - 'curl', - '169.254.170.2$AWS_CONTAINER_CREDENTIALS_RELATIVE_URI' - ] - process = subprocess.run( - ' '.join(cmd), - text=True, - shell=True, # nosec - encoding='utf-8', - capture_output=True - ) + cmd = ['curl', '169.254.170.2$AWS_CONTAINER_CREDENTIALS_RELATIVE_URI'] + process = subprocess.run(' '.join(cmd), text=True, shell=True, encoding='utf-8', capture_output=True) # nosec creds = None if process.returncode == 0: creds = ast.literal_eval(process.stdout) @@ -55,9 +46,7 @@ def update_stack_output(session, stack): try: stack_outputs = cfn.Stack(f'{stack.name}').outputs except ClientError as e: - logger.warning( - f'Failed to retrieve stack output for stack {stack.name} due to: {e}' - ) + logger.warning(f'Failed to retrieve stack output for stack {stack.name} due to: {e}') if stack_outputs: for output in stack_outputs: outputs[output['OutputKey']] = output['OutputValue'] @@ -76,25 +65,29 @@ def deploy_cdk_stack(engine: Engine, stackid: str, app_path: str = None, path: s with engine.scoped_session() as session: try: stack: models.Stack = session.query(models.Stack).get(stackid) - logger.warning(f"stackuri = {stack.stackUri}, stackId = {stack.stackid}") + logger.warning(f'stackuri = {stack.stackUri}, stackId = {stack.stackid}') stack.status = 'PENDING' session.commit() - if stack.stack == "cdkpipeline" or stack.stack == "template": + if stack.stack == 'cdkpipeline' or stack.stack == 'template': cdkpipeline = CDKPipelineStack(stack.targetUri) venv_name = cdkpipeline.venv_name if cdkpipeline.venv_name else None pipeline = Pipeline.get_pipeline_by_uri(session, stack.targetUri) - path = f"./cdkpipeline/{pipeline.repo}/" + path = f'./cdkpipeline/{pipeline.repo}/' app_path = './app.py' if not venv_name: - logger.info("Successfully Updated CDK Pipeline") + logger.info('Successfully Updated CDK Pipeline') meta = describe_stack(stack) stack.stackid = meta['StackId'] stack.status = meta['StackStatus'] update_stack_output(session, stack) return - cwd = os.path.join(os.path.dirname(os.path.abspath(__file__)), path) if path else os.path.dirname(os.path.abspath(__file__)) + cwd = ( + os.path.join(os.path.dirname(os.path.abspath(__file__)), path) + if path + else os.path.dirname(os.path.abspath(__file__)) + ) python_path = '/:'.join(sys.path)[1:] + ':/code' logger.info(f'python path = {python_path}') @@ -113,7 +106,7 @@ def deploy_cdk_stack(engine: Engine, stackid: str, app_path: str = None, path: s 'AWS_SESSION_TOKEN': creds.get('Token'), } ) - if stack.stack == "template": + if stack.stack == 'template': resp = subprocess.run( ['. ~/.nvm/nvm.sh && cdk ls'], cwd=cwd, @@ -121,18 +114,16 @@ def deploy_cdk_stack(engine: Engine, stackid: str, app_path: str = None, path: s shell=True, # nosec encoding='utf-8', stdout=subprocess.PIPE, - env=env + env=env, ) - logger.info(f"CDK Apps: {resp.stdout}") + logger.info(f'CDK Apps: {resp.stdout}') stack.name = resp.stdout.split('\n')[0] app_path = app_path or './app.py' logger.info(f'app_path: {app_path}') - cmd = [ - '' - '. ~/.nvm/nvm.sh &&', + '' '. ~/.nvm/nvm.sh &&', 'cdk', 'deploy --all', '--require-approval', @@ -159,9 +150,9 @@ def deploy_cdk_stack(engine: Engine, stackid: str, app_path: str = None, path: s '--verbose', ] - if stack.stack == "template" or stack.stack == "cdkpipeline": - if stack.stack == "template": - cmd.insert(0, f"source {venv_name}/bin/activate;") + if stack.stack == 'template' or stack.stack == 'cdkpipeline': + if stack.stack == 'template': + cmd.insert(0, f'source {venv_name}/bin/activate;') aws = SessionHelper.remote_session(stack.accountid) creds = aws.get_credentials() env.update( @@ -172,7 +163,7 @@ def deploy_cdk_stack(engine: Engine, stackid: str, app_path: str = None, path: s 'CDK_DEFAULT_ACCOUNT': stack.accountid, 'AWS_ACCESS_KEY_ID': creds.access_key, 'AWS_SECRET_ACCESS_KEY': creds.secret_key, - 'AWS_SESSION_TOKEN': creds.token + 'AWS_SESSION_TOKEN': creds.token, } ) @@ -186,8 +177,8 @@ def deploy_cdk_stack(engine: Engine, stackid: str, app_path: str = None, path: s env=env, cwd=cwd, ) - if stack.stack == "cdkpipeline" or stack.stack == "template": - CDKPipelineStack.clean_up_repo(path=f"./{pipeline.repo}") + if stack.stack == 'cdkpipeline' or stack.stack == 'template': + CDKPipelineStack.clean_up_repo(path=f'./{pipeline.repo}') if process.returncode == 0: meta = describe_stack(stack) @@ -196,9 +187,7 @@ def deploy_cdk_stack(engine: Engine, stackid: str, app_path: str = None, path: s update_stack_output(session, stack) else: stack.status = 'CREATE_FAILED' - logger.error( - f'Failed to deploy stack {stackid} due to {str(process.stderr)}' - ) + logger.error(f'Failed to deploy stack {stackid} due to {str(process.stderr)}') AlarmService().trigger_stack_deployment_failure_alarm(stack=stack) except Exception as e: @@ -219,9 +208,7 @@ def describe_stack(stack, engine: Engine = None, stackid: str = None): meta = resource.Stack(f'{stack.name}') return {'StackId': meta.stack_id, 'StackStatus': meta.stack_status} except ClientError as e: - logger.warning( - f'Failed to retrieve stack output for stack {stack.name} due to: {e}' - ) + logger.warning(f'Failed to retrieve stack output for stack {stack.name} due to: {e}') meta = resource.Stack(stack.stackid) return {'StackId': meta.stack_id, 'StackStatus': meta.stack_status} diff --git a/backend/dataall/cdkproxy/stacks/dataset.py b/backend/dataall/cdkproxy/stacks/dataset.py index cd5fbb4c7..410d4b79d 100644 --- a/backend/dataall/cdkproxy/stacks/dataset.py +++ b/backend/dataall/cdkproxy/stacks/dataset.py @@ -17,12 +17,11 @@ Tags, ) from aws_cdk.aws_glue import CfnCrawler -from sqlalchemy import and_, or_ from .manager import stack from ... import db -from ...aws.handlers.quicksight import Quicksight from ...aws.handlers.lakeformation import LakeFormation +from ...aws.handlers.quicksight import Quicksight from ...aws.handlers.sts import SessionHelper from ...db import models from ...db.api import Environment @@ -34,6 +33,14 @@ @stack(stack='dataset') class Dataset(Stack): + """Deploy common dataset resources: + - dataset S3 Bucket + KMS key (If S3 Bucket not imported) + - dataset IAM role + - custom resource to create glue database and grant permissions + - custom resource to register S3 location in LF + - Glue crawler + - Glue profiling job + """ module_name = __file__ def get_engine(self) -> db.Engine: @@ -71,84 +78,6 @@ def get_target(self) -> models.Dataset: raise Exception('ObjectNotFound') return dataset - def get_shared_tables(self) -> typing.List[models.ShareObjectItem]: - engine = self.get_engine() - with engine.scoped_session() as session: - tables = ( - session.query( - models.DatasetTable.GlueDatabaseName.label('GlueDatabaseName'), - models.DatasetTable.GlueTableName.label('GlueTableName'), - models.DatasetTable.AWSAccountId.label('SourceAwsAccountId'), - models.DatasetTable.region.label('SourceRegion'), - models.Environment.AwsAccountId.label('TargetAwsAccountId'), - models.Environment.region.label('TargetRegion'), - ) - .join( - models.ShareObjectItem, - and_( - models.ShareObjectItem.itemUri == models.DatasetTable.tableUri - ), - ) - .join( - models.ShareObject, - models.ShareObject.shareUri == models.ShareObjectItem.shareUri, - ) - .join( - models.Environment, - models.Environment.environmentUri - == models.ShareObject.environmentUri, - ) - .filter( - and_( - models.DatasetTable.datasetUri == self.target_uri, - models.DatasetTable.deleted.is_(None), - models.ShareObjectItem.status.in_(self.shared_states) - ) - ) - .all() - ) - logger.info(f'found {len(tables)} shared tables') - return tables - - def get_shared_folders(self) -> typing.List[models.DatasetStorageLocation]: - engine = self.get_engine() - with engine.scoped_session() as session: - locations = ( - session.query( - models.DatasetStorageLocation.locationUri.label('locationUri'), - models.DatasetStorageLocation.S3BucketName.label('S3BucketName'), - models.DatasetStorageLocation.S3Prefix.label('S3Prefix'), - models.Environment.AwsAccountId.label('AwsAccountId'), - models.Environment.region.label('region'), - ) - .join( - models.ShareObjectItem, - and_( - models.ShareObjectItem.itemUri - == models.DatasetStorageLocation.locationUri - ), - ) - .join( - models.ShareObject, - models.ShareObject.shareUri == models.ShareObjectItem.shareUri, - ) - .join( - models.Environment, - models.Environment.environmentUri - == models.ShareObject.environmentUri, - ) - .filter( - and_( - models.DatasetStorageLocation.datasetUri == self.target_uri, - models.DatasetStorageLocation.deleted.is_(None), - models.ShareObjectItem.status.in_(self.shared_states) - ) - ) - .all() - ) - logger.info(f'found {len(locations)} shared folders') - return locations - def __init__(self, scope, id, target_uri: str = None, **kwargs): super().__init__( scope, @@ -160,31 +89,19 @@ def __init__(self, scope, id, target_uri: str = None, **kwargs): )[:1024], **kwargs) - # Required for dynamic stack tagging + # Read input self.target_uri = target_uri - - self.shared_states = [ - models.Enums.ShareItemStatus.Share_Succeeded.value, - models.Enums.ShareItemStatus.Revoke_Approved.value, - models.Enums.ShareItemStatus.Revoke_In_Progress.value, - models.Enums.ShareItemStatus.Revoke_Failed.value - ] - - pivot_role_name = SessionHelper.get_delegation_role_name() - + self.pivot_role_name = SessionHelper.get_delegation_role_name() dataset = self.get_target() - env = self.get_env(dataset) - env_group = self.get_env_group(dataset) quicksight_default_group_arn = None if env.dashboardsEnabled: - quicksight_default_group = Quicksight.create_quicksight_group( - dataset.AwsAccountId, 'dataall' - ) + quicksight_default_group = Quicksight.create_quicksight_group(AwsAccountId=env.AwsAccountId) quicksight_default_group_arn = quicksight_default_group['Group']['Arn'] + # Dataset S3 Bucket and KMS key if dataset.imported and dataset.importedS3Bucket: dataset_bucket = s3.Bucket.from_bucket_name( self, f'ImportedBucket{dataset.datasetUri}', dataset.S3BucketName @@ -204,7 +121,7 @@ def __init__(self, scope, id, target_uri: str = None, **kwargs): principals=[ iam.AccountPrincipal(account_id=dataset.AwsAccountId), iam.ArnPrincipal( - f'arn:aws:iam::{env.AwsAccountId}:role/{pivot_role_name}' + f'arn:aws:iam::{env.AwsAccountId}:role/{self.pivot_role_name}' ), ], actions=['kms:*'], @@ -245,14 +162,6 @@ def __init__(self, scope, id, target_uri: str = None, **kwargs): bucket_key_enabled=True, ) - # dataset_bucket.add_to_resource_policy( - # permission=iam.PolicyStatement( - # actions=['s3:*'], - # resources=[dataset_bucket.bucket_arn], - # principals=[iam.AccountPrincipal(account_id=dataset.AwsAccountId)], - # ) - # ) - dataset_bucket.add_lifecycle_rule( abort_incomplete_multipart_upload_after=Duration.days(7), noncurrent_version_transitions=[ @@ -278,7 +187,7 @@ def __init__(self, scope, id, target_uri: str = None, **kwargs): enabled=True, ) - # Dataset Admin and ETL User + # Dataset IAM role - ETL policies dataset_admin_policy = iam.Policy( self, 'DatasetAdminPolicy', @@ -390,58 +299,61 @@ def __init__(self, scope, id, target_uri: str = None, **kwargs): iam.AccountPrincipal(os.environ.get('CURRENT_AWS_ACCOUNT')), iam.AccountPrincipal(dataset.AwsAccountId), iam.ArnPrincipal( - f'arn:aws:iam::{dataset.AwsAccountId}:role/{pivot_role_name}' + f'arn:aws:iam::{dataset.AwsAccountId}:role/{self.pivot_role_name}' ), ), ) dataset_admin_policy.attach_to_role(dataset_admin_role) - glue_db_handler_arn = ssm.StringParameter.from_string_parameter_name( - self, - 'GlueDbCRArnParameter', - string_parameter_name=f'/dataall/{dataset.environmentUri}/cfn/custom-resources/lambda/arn', - ) - - glue_db_handler = _lambda.Function.from_function_attributes( - self, - 'CustomGlueDatabaseHandler', - function_arn=glue_db_handler_arn.string_value, - same_environment=True, - ) - - GlueDatabase = cr.Provider( - self, - f'{env.resourcePrefix}GlueDbCustomResourceProvider', - on_event_handler=glue_db_handler, - ) - - existing_location = LakeFormation.describe_resource( + # Datalake location custom resource: registers the S3 location in LakeFormation + registered_location = LakeFormation.check_existing_lf_registered_location( resource_arn=f'arn:aws:s3:::{dataset.S3BucketName}', - role_arn=f'arn:aws:iam::{env.AwsAccountId}:role/{pivot_role_name}', accountid=env.AwsAccountId, region=env.region ) - if not existing_location: + if not registered_location: storage_location = CfnResource( self, 'DatasetStorageLocation', type='AWS::LakeFormation::Resource', properties={ 'ResourceArn': f'arn:aws:s3:::{dataset.S3BucketName}', - 'RoleArn': f'arn:aws:iam::{env.AwsAccountId}:role/{pivot_role_name}', + 'RoleArn': f'arn:aws:iam::{env.AwsAccountId}:role/{self.pivot_role_name}', 'UseServiceLinkedRole': False, }, ) + + # Define dataset admin groups (those with data access grant) dataset_admins = [ dataset_admin_role.role_arn, - f'arn:aws:iam::{env.AwsAccountId}:role/{pivot_role_name}', + f'arn:aws:iam::{env.AwsAccountId}:role/{self.pivot_role_name}', env_group.environmentIAMRoleArn, ] if quicksight_default_group_arn: dataset_admins.append(quicksight_default_group_arn) - glue_db = CustomResource( + # Glue Database custom resource: creates the Glue database and grants the default permissions (dataset role, admin, pivotrole, QS group) + # Old provider, to be deleted in future release + glue_db_handler_arn = ssm.StringParameter.from_string_parameter_name( + self, + 'GlueDbCRArnParameter', + string_parameter_name=f'/dataall/{dataset.environmentUri}/cfn/custom-resources/lambda/arn', + ) + + glue_db_handler = _lambda.Function.from_function_attributes( + self, + 'CustomGlueDatabaseHandler', + function_arn=glue_db_handler_arn.string_value, + same_environment=True, + ) + + GlueDatabase = cr.Provider( + self, + f'{env.resourcePrefix}GlueDbCustomResourceProvider', + on_event_handler=glue_db_handler, + ) + old_glue_db = CustomResource( self, f'{env.resourcePrefix}DatasetDatabase', service_token=GlueDatabase.service_token, @@ -460,6 +372,33 @@ def __init__(self, scope, id, target_uri: str = None, **kwargs): }, ) + # Get the Provider service token from SSM, the Lambda and Provider are created as part of the environment stack + glue_db_provider_service_token = ssm.StringParameter.from_string_parameter_name( + self, + 'GlueDatabaseProviderServiceToken', + string_parameter_name=f'/dataall/{dataset.environmentUri}/cfn/custom-resources/gluehandler/provider/servicetoken', + ) + + glue_db = CustomResource( + self, + f'{env.resourcePrefix}GlueDatabaseCustomResource', + service_token=glue_db_provider_service_token.string_value, + resource_type='Custom::GlueDatabase', + properties={ + 'CatalogId': dataset.AwsAccountId, + 'DatabaseInput': { + 'Description': 'dataall database {} '.format( + dataset.GlueDatabaseName + ), + 'LocationUri': f's3://{dataset.S3BucketName}/', + 'Name': f'{dataset.GlueDatabaseName}', + 'CreateTableDefaultPermissions': [], + }, + 'DatabaseAdministrators': dataset_admins + }, + ) + + # Support resources: GlueCrawler for the dataset, Profiling Job and Trigger crawler = glue.CfnCrawler( self, dataset.GlueCrawlerName, @@ -503,7 +442,7 @@ def __init__(self, scope, id, target_uri: str = None, **kwargs): 'DatasetGlueProfilingJob', name=dataset.GlueProfilingJobName, role=iam.ArnPrincipal( - f'arn:aws:iam::{env.AwsAccountId}:role/{pivot_role_name}' + f'arn:aws:iam::{env.AwsAccountId}:role/{self.pivot_role_name}' ).arn, allocated_capacity=10, execution_property=glue.CfnJob.ExecutionPropertyProperty( diff --git a/backend/dataall/cdkproxy/stacks/environment.py b/backend/dataall/cdkproxy/stacks/environment.py index e54b24988..e004c1f6e 100644 --- a/backend/dataall/cdkproxy/stacks/environment.py +++ b/backend/dataall/cdkproxy/stacks/environment.py @@ -1,3 +1,4 @@ +import json import logging import os import pathlib @@ -5,6 +6,7 @@ from aws_cdk import ( custom_resources as cr, + aws_ec2 as ec2, aws_s3 as s3, aws_s3_deployment, aws_iam as iam, @@ -15,27 +17,23 @@ aws_sqs as sqs, aws_sns_subscriptions as sns_subs, aws_kms as kms, - aws_ec2 as ec2, - aws_sagemaker as sagemaker, aws_athena, RemovalPolicy, + CfnOutput, Stack, Duration, CustomResource, Tags, ) from constructs import DependencyGroup -from botocore.exceptions import ClientError from .manager import stack +from .pivot_role import PivotRole +from .sagemakerstudio import SageMakerDomain from .policies.data_policy import DataPolicy from .policies.service_policy import ServicePolicy from ... import db -from ...aws.handlers.quicksight import Quicksight from ...aws.handlers.parameter_store import ParameterStoreManager -from ...aws.handlers.sagemaker_studio import ( - SagemakerStudio, -) from ...aws.handlers.sts import SessionHelper from ...db import models from ...utils.cdk_nag_utils import CDKNagUtil @@ -46,11 +44,25 @@ @stack(stack='environment') class EnvironmentSetup(Stack): + """Deploy common environment resources: + - default environment S3 Bucket + - Lambda + Provider for dataset Glue Databases custom resource + - Lambda + Provider for dataset Data Lake location custom resource + - SSM parameters for the Lambdas and Providers + - pivotRole (if configured) + - SNS topic (if subscriptions are enabled) + - SM Studio domain (if ML studio is enabled) + - Deploy team specific resources: teams IAM roles, Athena workgroups + - Set PivotRole as Lake formation data lake Admin - lakeformationdefaultsettings custom resource + """ module_name = __file__ + @staticmethod + def get_env_name(): + return os.environ.get('envname', 'local') + def get_engine(self): - envname = os.environ.get('envname', 'local') - engine = db.get_engine(envname=envname) + engine = db.get_engine(envname=self.get_env_name()) return engine def get_target(self, target_uri) -> models.Environment: @@ -61,33 +73,6 @@ def get_target(self, target_uri) -> models.Environment: raise Exception('ObjectNotFound') return target - def get_environment_defautl_vpc(self, engine, environmentUri) -> models.Vpc: - with engine.scoped_session() as session: - return db.api.Vpc.get_environment_default_vpc(session, environmentUri) - - def init_quicksight(self, environment: models.Environment): - Quicksight.create_quicksight_group(environment.AwsAccountId, 'dataall') - - def check_sagemaker_studio(self, engine, environment: models.Environment): - logger.info('check sagemaker studio domain creation') - - try: - dataall_created_domain = ParameterStoreManager.client( - AwsAccountId=environment.AwsAccountId, - region=environment.region - ).get_parameter( - Name=f'/dataall/{environment.environmentUri}/sagemaker/sagemakerstudio/domain_id' - ) - return None - except ClientError as e: - logger.info(f'check sagemaker studio domain created outside of data.all. Parameter data.all not found: {e}') - existing_domain = SagemakerStudio.get_sagemaker_studio_domain( - environment.AwsAccountId, environment.region - ) - existing_domain_id = existing_domain.get('DomainId', False) - if existing_domain_id: - return existing_domain_id - @staticmethod def get_environment_group_permissions(engine, environmentUri, group): with engine.scoped_session() as session: @@ -103,9 +88,7 @@ def get_environment_group_permissions(engine, environmentUri, group): return permission_names @staticmethod - def get_environment_groups( - engine, environment: models.Environment - ) -> [models.EnvironmentGroup]: + def get_environment_groups(engine, environment: models.Environment) -> [models.EnvironmentGroup]: with engine.scoped_session() as session: return db.api.Environment.list_environment_invited_groups( session, @@ -117,9 +100,7 @@ def get_environment_groups( ) @staticmethod - def get_environment_admins_group( - engine, environment: models.Environment - ) -> [models.EnvironmentGroup]: + def get_environment_admins_group(engine, environment: models.Environment) -> [models.EnvironmentGroup]: with engine.scoped_session() as session: return db.api.Environment.get_environment_group( session, @@ -128,9 +109,7 @@ def get_environment_admins_group( ) @staticmethod - def get_environment_group_datasets( - engine, environment: models.Environment, group: str - ) -> [models.Dataset]: + def get_environment_group_datasets(engine, environment: models.Environment, group: str) -> [models.Dataset]: with engine.scoped_session() as session: return db.api.Environment.list_group_datasets( session, @@ -142,9 +121,7 @@ def get_environment_group_datasets( ) @staticmethod - def get_all_environment_datasets( - engine, environment: models.Environment - ) -> [models.Dataset]: + def get_all_environment_datasets(engine, environment: models.Environment) -> [models.Dataset]: with engine.scoped_session() as session: return ( session.query(models.Dataset) @@ -155,45 +132,41 @@ def get_all_environment_datasets( ) def __init__(self, scope, id, target_uri: str = None, **kwargs): - super().__init__(scope, - id, - description="Cloud formation stack of ENVIRONMENT: {}; URI: {}; DESCRIPTION: {}".format( - self.get_target(target_uri=target_uri).label, - target_uri, - self.get_target(target_uri=target_uri).description, - )[:1024], - **kwargs) - - # Required for dynamic stack tagging + super().__init__( + scope, + id, + description='Cloud formation stack of ENVIRONMENT: {}; URI: {}; DESCRIPTION: {}'.format( + self.get_target(target_uri=target_uri).label, + target_uri, + self.get_target(target_uri=target_uri).description, + )[:1024], + **kwargs, + ) + # Read input self.target_uri = target_uri - self.pivot_role_name = SessionHelper.get_delegation_role_name() - + self.external_id = SessionHelper.get_external_id_secret() + self.dataall_central_account = SessionHelper.get_account() + pivot_role_as_part_of_environment_stack = ParameterStoreManager.get_parameter_value( + region=os.getenv('AWS_REGION', 'eu-west-1'), + parameter_path=f"/dataall/{os.getenv('envname', 'local')}/pivotRole/enablePivotRoleAutoCreate" + ) + self.create_pivot_role = True if pivot_role_as_part_of_environment_stack == "True" else False self.engine = self.get_engine() self._environment = self.get_target(target_uri=target_uri) - self.environment_groups: [models.EnvironmentGroup] = self.get_environment_groups(self.engine, environment=self._environment) - - self.environment_admins_group: models.EnvironmentGroup = self.get_environment_admins_group(self.engine, self._environment) + self.environment_groups: [models.EnvironmentGroup] = self.get_environment_groups( + self.engine, environment=self._environment + ) - self.all_environment_datasets = self.get_all_environment_datasets( + self.environment_admins_group: models.EnvironmentGroup = self.get_environment_admins_group( self.engine, self._environment ) - roles_sagemaker_dependency_group = DependencyGroup() - - if self._environment.dashboardsEnabled: - logger.warning('ensure_quicksight_default_group') - self.init_quicksight(environment=self._environment) - - group_roles = self.create_or_import_environment_groups_roles() - - for group_role in group_roles: - roles_sagemaker_dependency_group.add(group_role) - - central_account = SessionHelper.get_account() + self.all_environment_datasets = self.get_all_environment_datasets(self.engine, self._environment) + # Environment S3 Bucket default_environment_bucket = s3.Bucket( self, 'EnvironmentDefaultBucket', @@ -252,11 +225,7 @@ def __init__(self, scope, id, target_uri: str = None, **kwargs): ) profiling_assetspath = self.zip_code( - os.path.realpath( - os.path.abspath( - os.path.join(__file__, '..', '..', 'assets', 'glueprofilingjob') - ) - ) + os.path.realpath(os.path.abspath(os.path.join(__file__, '..', '..', 'assets', 'glueprofilingjob'))) ) aws_s3_deployment.BucketDeployment( @@ -267,25 +236,37 @@ def __init__(self, scope, id, target_uri: str = None, **kwargs): destination_key_prefix='profiling/code', ) + # Create or import team IAM roles default_role = self.create_or_import_environment_default_role() - roles_sagemaker_dependency_group.add(default_role) + group_roles = self.create_or_import_environment_groups_roles() self.create_default_athena_workgroup( default_environment_bucket, self._environment.EnvironmentDefaultAthenaWorkGroup, ) + self.create_athena_workgroups(self.environment_groups, default_environment_bucket) + + # Create or import Pivot role + if self.create_pivot_role is True: + config = { + 'roleName': self.pivot_role_name, + 'accountId': self.dataall_central_account, + 'externalId': self.external_id, + 'resourcePrefix': self._environment.resourcePrefix, + } + pivot_role_stack = PivotRole(self, 'PivotRoleStack', config) + self.pivot_role = pivot_role_stack.pivot_role + else: + self.pivot_role = iam.Role.from_role_arn( + self, + f'PivotRole{self._environment.environmentUri}', + f'arn:aws:iam::{self._environment.AwsAccountId}:role/{self.pivot_role_name}', + ) - pivot_role = iam.Role.from_role_arn( - self, - f'PivotRole{self._environment.environmentUri}', - f'arn:aws:iam::{self._environment.AwsAccountId}:role/{self.pivot_role_name}', - ) - - # Lakeformation default settings + # Lakeformation default settings custom resource + # Set PivotRole as Lake Formation data lake admin entry_point = str( - pathlib.PosixPath( - os.path.dirname(__file__), '../assets/lakeformationdefaultsettings' - ).resolve() + pathlib.PosixPath(os.path.dirname(__file__), '../assets/lakeformationdefaultsettings').resolve() ) lakeformation_cr_dlq = self.set_dlq( @@ -295,7 +276,7 @@ def __init__(self, scope, id, target_uri: str = None, **kwargs): self, 'LakeformationDefaultSettingsHandler', function_name=f'{self._environment.resourcePrefix}-lf-settings-handler-{self._environment.environmentUri}', - role=pivot_role, + role=self.pivot_role, handler='index.on_event', code=_lambda.Code.from_asset(entry_point), memory_size=1664, @@ -313,6 +294,23 @@ def __init__(self, scope, id, target_uri: str = None, **kwargs): on_failure=lambda_destination.SqsDestination(lakeformation_cr_dlq), runtime=_lambda.Runtime.PYTHON_3_9, ) + LakeformationDefaultSettingsProvider = cr.Provider( + self, + f'{self._environment.resourcePrefix}LakeformationDefaultSettingsProvider', + on_event_handler=lf_default_settings_custom_resource, + ) + + default_lf_settings = CustomResource( + self, + f'{self._environment.resourcePrefix}DefaultLakeFormationSettings', + service_token=LakeformationDefaultSettingsProvider.service_token, + resource_type='Custom::LakeformationDefaultSettings', + properties={ + 'DataLakeAdmins': [ + f'arn:aws:iam::{self._environment.AwsAccountId}:role/{self.pivot_role_name}', + ] + }, + ) ssm.StringParameter( self, @@ -327,23 +325,16 @@ def __init__(self, scope, id, target_uri: str = None, **kwargs): string_value=lf_default_settings_custom_resource.function_name, parameter_name=f'/dataall/{self._environment.environmentUri}/cfn/lf/defaultsettings/lambda/name', ) - - # Glue database custom resource - + # Glue database custom resource - Old, to be deleted in future release entry_point = str( - pathlib.PosixPath( - os.path.dirname(__file__), '../assets/gluedatabasecustomresource' - ).resolve() - ) - - gluedb_cr_dlq = self.set_dlq( - f'{self._environment.resourcePrefix}-gluedbcr-{self._environment.environmentUri}' + pathlib.PosixPath(os.path.dirname(__file__), '../assets/gluedatabasecustomresource_nodelete').resolve() ) + gluedb_cr_dlq = self.set_dlq(f'{self._environment.resourcePrefix}-gluedbcr-{self._environment.environmentUri}') gluedb_custom_resource = _lambda.Function( self, 'GlueDatabaseCustomResourceHandler', function_name=f'{self._environment.resourcePrefix}-gluedb-handler-{self._environment.environmentUri}', - role=pivot_role, + role=self.pivot_role, handler='index.on_event', code=_lambda.Code.from_asset(entry_point), memory_size=1664, @@ -363,7 +354,6 @@ def __init__(self, scope, id, target_uri: str = None, **kwargs): tracing=_lambda.Tracing.ACTIVE, runtime=_lambda.Runtime.PYTHON_3_9, ) - ssm.StringParameter( self, 'GlueCustomResourceFunctionArn', @@ -377,29 +367,127 @@ def __init__(self, scope, id, target_uri: str = None, **kwargs): string_value=gluedb_custom_resource.function_name, parameter_name=f'/dataall/{self._environment.environmentUri}/cfn/custom-resources/lambda/name', ) + # Glue database custom resource - New + # This Lambda is triggered with the creation of each dataset, it is not executed when the environment is created + entry_point = str( + pathlib.PosixPath(os.path.dirname(__file__), '../assets/gluedatabasecustomresource').resolve() + ) - LakeformationDefaultSettingsProvider = cr.Provider( + gluedb_lf_cr_dlq = self.set_dlq(f'{self._environment.resourcePrefix}-gluedb-lf-cr-{self._environment.environmentUri}') + gluedb_lf_custom_resource = _lambda.Function( self, - f'{self._environment.resourcePrefix}LakeformationDefaultSettingsProvider', - on_event_handler=lf_default_settings_custom_resource, + 'GlueDatabaseLFCustomResourceHandler', + function_name=f'{self._environment.resourcePrefix}-gluedb-lf-handler-{self._environment.environmentUri}', + role=self.pivot_role, + handler='index.on_event', + code=_lambda.Code.from_asset(entry_point), + memory_size=1664, + description='This Lambda function is a cloudformation custom resource provider for Glue database ' + 'as Cfn currently does not support the CreateTableDefaultPermissions parameter', + timeout=Duration.seconds(5 * 60), + environment={ + 'envname': self._environment.name, + 'LOG_LEVEL': 'DEBUG', + 'AWS_ACCOUNT': self._environment.AwsAccountId, + 'DEFAULT_ENV_ROLE_ARN': self._environment.EnvironmentDefaultIAMRoleArn, + 'DEFAULT_CDK_ROLE_ARN': self._environment.CDKRoleArn, + }, + dead_letter_queue_enabled=True, + dead_letter_queue=gluedb_lf_cr_dlq, + on_failure=lambda_destination.SqsDestination(gluedb_lf_cr_dlq), + tracing=_lambda.Tracing.ACTIVE, + runtime=_lambda.Runtime.PYTHON_3_9, ) - default_lf_settings = CustomResource( + glue_db_provider = cr.Provider( self, - f'{self._environment.resourcePrefix}DefaultLakeFormationSettings', - service_token=LakeformationDefaultSettingsProvider.service_token, - resource_type='Custom::LakeformationDefaultSettings', - properties={ - 'DataLakeAdmins': [ - f'arn:aws:iam::{self._environment.AwsAccountId}:role/{self.pivot_role_name}', - ] + f'{self._environment.resourcePrefix}GlueDbCustomResourceProvider', + on_event_handler=gluedb_lf_custom_resource + ) + ssm.StringParameter( + self, + 'GlueLFCustomResourceFunctionArn', + string_value=gluedb_lf_custom_resource.function_arn, + parameter_name=f'/dataall/{self._environment.environmentUri}/cfn/custom-resources/gluehandler/lambda/arn', + ) + + ssm.StringParameter( + self, + 'GlueLFCustomResourceFunctionName', + string_value=gluedb_lf_custom_resource.function_name, + parameter_name=f'/dataall/{self._environment.environmentUri}/cfn/custom-resources/gluehandler/lambda/name', + ) + + ssm.StringParameter( + self, + 'GlueLFCustomResourceProviderServiceToken', + string_value=glue_db_provider.service_token, + parameter_name=f'/dataall/{self._environment.environmentUri}/cfn/custom-resources/gluehandler/provider/servicetoken', + ) + + # Data lake location custom resource + entry_point = str( + pathlib.PosixPath( + os.path.dirname(__file__), "../assets/datalakelocationcustomresource" + ).resolve() + ) + + datalakelocation_cr_dlq = self.set_dlq( + f'{self._environment.resourcePrefix}-datalakelocationcr-{self._environment.environmentUri}' + ) + datalake_location_custom_resource = _lambda.Function( + self, + "DatalakeLocationCustomResourceHandler", + function_name=f'{self._environment.resourcePrefix}-datalakelocation-handler-{self._environment.environmentUri}', + role=self.pivot_role, + handler="index.on_event", + code=_lambda.Code.from_asset(entry_point), + memory_size=1664, + description='This Lambda function is a cloudformation custom resource provider for LakeFormation Storage Locations ' + 'as the Cfn resource cannot handle pivotRole updates', + timeout=Duration.seconds(5 * 60), + environment={ + 'envname': self._environment.name, + 'LOG_LEVEL': 'DEBUG', + 'AWS_ACCOUNT': self._environment.AwsAccountId, + 'DEFAULT_ENV_ROLE_ARN': self._environment.EnvironmentDefaultIAMRoleArn, + 'DEFAULT_CDK_ROLE_ARN': self._environment.CDKRoleArn, }, + dead_letter_queue_enabled=True, + dead_letter_queue=datalakelocation_cr_dlq, + on_failure=lambda_destination.SqsDestination(datalakelocation_cr_dlq), + tracing=_lambda.Tracing.ACTIVE, + runtime=_lambda.Runtime.PYTHON_3_9, + ) + + datalake_location_provider = cr.Provider( + self, + f"{self._environment.resourcePrefix}DatalakeLocationProvider", + on_event_handler=datalake_location_custom_resource + ) + + ssm.StringParameter( + self, + "DatalakeLocationCustomResourceFunctionArn", + string_value=datalake_location_custom_resource.function_arn, + parameter_name=f"/dataall/{self._environment.environmentUri}/cfn/custom-resources/datalocationhandler/lambda/arn", ) - self.create_athena_workgroups( - self.environment_groups, default_environment_bucket + ssm.StringParameter( + self, + "DatalakeLocationCustomResourceFunctionName", + string_value=datalake_location_custom_resource.function_name, + parameter_name=f"/dataall/{self._environment.environmentUri}/cfn/custom-resources/datalocationhandler/lambda/name", + ) + + ssm.StringParameter( + self, + 'DataLocationCustomResourceProviderServiceToken', + string_value=datalake_location_provider.service_token, + parameter_name=f'/dataall/{self._environment.environmentUri}/cfn/custom-resources/datalocationhandler/provider/servicetoken', ) + # Create SNS topics for subscriptions if self._environment.subscriptionsEnabled: queue_key = kms.Key( self, @@ -451,7 +539,7 @@ def __init__(self, scope, id, target_uri: str = None, **kwargs): else: topic = self.create_topic( self._environment.subscriptionsProducersTopicName, - central_account, + self.dataall_central_account, self._environment, ) @@ -465,7 +553,7 @@ def __init__(self, scope, id, target_uri: str = None, **kwargs): policy.document.add_statements( iam.PolicyStatement( - principals=[iam.AccountPrincipal(central_account)], + principals=[iam.AccountPrincipal(self.dataall_central_account)], effect=iam.Effect.ALLOW, actions=[ 'sqs:ReceiveMessage', @@ -502,93 +590,36 @@ def __init__(self, scope, id, target_uri: str = None, **kwargs): self.create_topic( self._environment.subscriptionsConsumersTopicName, - central_account, + self.dataall_central_account, self._environment, ) - self.sagemaker_domain_exists = self.check_sagemaker_studio(engine=self.engine, environment=self._environment) - - if self._environment.mlStudiosEnabled and not (self.sagemaker_domain_exists): - - sagemaker_domain_role = iam.Role( - self, - 'RoleForSagemakerStudioUsers', - assumed_by=iam.ServicePrincipal('sagemaker.amazonaws.com'), - role_name="RoleSagemakerStudioUsers", - managed_policies=[iam.ManagedPolicy.from_managed_policy_arn( - self, - id="SagemakerFullAccess", - managed_policy_arn="arn:aws:iam::aws:policy/AmazonSageMakerFullAccess"), - iam.ManagedPolicy.from_managed_policy_arn( - self, - id="S3FullAccess", - managed_policy_arn="arn:aws:iam::aws:policy/AmazonS3FullAccess") - ] - ) - - sagemaker_domain_key = kms.Key( - self, - 'SagemakerDomainKmsKey', - alias="SagemakerStudioDomain", - enable_key_rotation=True, - policy=iam.PolicyDocument( - assign_sids=True, - statements=[ - iam.PolicyStatement( - resources=['*'], - effect=iam.Effect.ALLOW, - principals=[ - iam.AccountPrincipal(account_id=self._environment.AwsAccountId), - sagemaker_domain_role, - default_role, - ] + group_roles, - actions=['kms:*'], - ) - ], - ), - ) - sagemaker_domain_key.node.add_dependency(roles_sagemaker_dependency_group) - - try: - default_vpc = ec2.Vpc.from_lookup(self, 'VPCStudio', is_default=True) - vpc_id = default_vpc.vpc_id - subnet_ids = [private_subnet.subnet_id for private_subnet in default_vpc.private_subnets] - subnet_ids += [public_subnet.subnet_id for public_subnet in default_vpc.public_subnets] - subnet_ids += [isolated_subnet.subnet_id for isolated_subnet in default_vpc.isolated_subnets] - except Exception as e: - logger.error(f"Default VPC not found, Exception: {e}. If you don't own a default VPC, modify the networking configuration, or disable ML Studio upon environment creation.") - - sagemaker_domain = sagemaker.CfnDomain( - self, - "SagemakerStudioDomain", - domain_name=f"SagemakerStudioDomain-{self._environment.region}-{self._environment.AwsAccountId}", - auth_mode="IAM", - - default_user_settings=sagemaker.CfnDomain.UserSettingsProperty( - execution_role=sagemaker_domain_role.role_arn, - - security_groups=[], - - sharing_settings=sagemaker.CfnDomain.SharingSettingsProperty( - notebook_output_option="Allowed", - s3_kms_key_id=sagemaker_domain_key.key_id, - s3_output_path=f"s3://sagemaker-{self._environment.region}-{self._environment.AwsAccountId}", - ) - ), + # Create or import SageMaker Studio domain if ML Studio enabled + domain = SageMakerDomain( + stack=self, + id='SageMakerDomain', + environment=self._environment + ) + self.existing_sagemaker_domain = domain.check_existing_sagemaker_studio_domain() + if self._environment.mlStudiosEnabled and not self.existing_sagemaker_domain: + # Create dependency group - Sagemaker depends on group IAM roles + sagemaker_dependency_group = DependencyGroup() + sagemaker_dependency_group.add(default_role) + for group_role in group_roles: + sagemaker_dependency_group.add(group_role) - vpc_id=vpc_id, - subnet_ids=subnet_ids, - app_network_access_type="VpcOnly", - kms_key_id=sagemaker_domain_key.key_id, - ) + sagemaker_domain = domain.create_sagemaker_domain_resources(sagemaker_principals=[default_role] + group_roles) - ssm.StringParameter( - self, - 'SagemakerStudioDomainId', - string_value=sagemaker_domain.attr_domain_id, - parameter_name=f'/dataall/{self._environment.environmentUri}/sagemaker/sagemakerstudio/domain_id', - ) + sagemaker_domain.node.add_dependency(sagemaker_dependency_group) + # print the IAM role arn for this service account + CfnOutput( + self, + 'pivotRoleName', + export_name='pivotRoleName', + value=self.pivot_role_name, + description='pivotRoleName', + ) TagsUtil.add_tags(self) CDKNagUtil.check_rules(self) @@ -606,8 +637,8 @@ def create_or_import_environment_default_role(self): tag_key='Team', tag_value=self._environment.SamlGroupName, resource_prefix=self._environment.resourcePrefix, - name=f'{self._environment.resourcePrefix}-{self._environment.SamlGroupName}-default-services-policy', - id=f'{self._environment.resourcePrefix}-{self._environment.SamlGroupName}-default-services-policy', + name=f'{self._environment.resourcePrefix}-{self._environment.SamlGroupName}-{self._environment.environmentUri}-default-services-policy', + id=f'{self._environment.resourcePrefix}-{self._environment.SamlGroupName}-{self._environment.environmentUri}-default-services-policy', account=self._environment.AwsAccountId, region=self._environment.region, role_name=self._environment.EnvironmentDefaultIAMRoleName, @@ -665,7 +696,7 @@ def create_or_import_environment_groups_roles(self): iam.Role.from_role_arn( self, f'{group.groupUri + group.environmentIAMRoleName}', - role_arn=f'arn:aws:iam::{self.environment.AwsAccountId}:role/{group.environmentIAMRoleName}', + role_arn=f'arn:aws:iam::{self._environment.AwsAccountId}:role/{group.environmentIAMRoleName}', ) return group_roles @@ -679,8 +710,8 @@ def create_group_environment_role(self, group): tag_key='Team', tag_value=group.groupUri, resource_prefix=self._environment.resourcePrefix, - name=f'{self._environment.resourcePrefix}-{group.groupUri}-services-policy', - id=f'{self._environment.resourcePrefix}-{group.groupUri}-services-policy', + name=f'{self._environment.resourcePrefix}-{group.groupUri}-{self._environment.environmentUri}-services-policy', + id=f'{self._environment.resourcePrefix}-{group.groupUri}-{self._environment.environmentUri}-services-policy', role_name=group.environmentIAMRoleName, account=self._environment.AwsAccountId, region=self._environment.region, @@ -698,9 +729,7 @@ def create_group_environment_role(self, group): region=self._environment.region, environment=self._environment, team=group, - datasets=self.get_environment_group_datasets( - self.engine, self._environment, group.groupUri - ), + datasets=self.get_environment_group_datasets(self.engine, self._environment, group.groupUri), ).generate_data_access_policy() group_role = iam.Role( @@ -730,9 +759,7 @@ def create_default_athena_workgroup(self, output_bucket, workgroup_name): def create_athena_workgroups(self, environment_groups, default_environment_bucket): for group in environment_groups: - self.create_athena_workgroup( - default_environment_bucket, group.environmentAthenaWorkGroup - ) + self.create_athena_workgroup(default_environment_bucket, group.environmentAthenaWorkGroup) def create_athena_workgroup(self, output_bucket, workgroup_name): athena_workgroup_output_location = ''.join( @@ -780,9 +807,7 @@ def create_topic(self, construct_id, central_account, environment): alias=f'{construct_id}-topic-key', enable_key_rotation=True, ) - topic = sns.Topic( - self, f'{construct_id}', topic_name=f'{construct_id}', master_key=topic_key - ) + topic = sns.Topic(self, f'{construct_id}', topic_name=f'{construct_id}', master_key=topic_key) topic.add_to_resource_policy( iam.PolicyStatement( principals=[iam.AccountPrincipal(central_account)], @@ -804,9 +829,7 @@ def create_topic(self, construct_id, central_account, environment): @staticmethod def zip_code(assetspath, s3_key='profiler'): logger.info('Zipping code') - shutil.make_archive( - base_name=f'{assetspath}/{s3_key}', format='zip', root_dir=f'{assetspath}' - ) + shutil.make_archive(base_name=f'{assetspath}/{s3_key}', format='zip', root_dir=f'{assetspath}') return assetspath def set_dlq(self, queue_name) -> sqs.Queue: diff --git a/backend/dataall/cdkproxy/stacks/pivot_role.py b/backend/dataall/cdkproxy/stacks/pivot_role.py new file mode 100644 index 000000000..b4c340d31 --- /dev/null +++ b/backend/dataall/cdkproxy/stacks/pivot_role.py @@ -0,0 +1,890 @@ +from constructs import Construct +from aws_cdk import Duration, aws_iam as iam, NestedStack + + +class PivotRole(NestedStack): + def __init__(self, scope: Construct, construct_id: str, config, **kwargs) -> None: + super().__init__(scope, construct_id, **kwargs) + # Create Pivot IAM Role + self.pivot_role = self.create_pivot_role( + name=config['roleName'], + principal_id=config['accountId'], + external_id=config['externalId'], + env_resource_prefix=config['resourcePrefix'], + ) + # Data.All IAM Lake Formation service role creation + self.lf_service_role = iam.CfnServiceLinkedRole( + self, 'LakeFormationSLR', aws_service_name='lakeformation.amazonaws.com' + ) + + def create_pivot_role(self, name: str, principal_id: str, external_id: str, env_resource_prefix: str) -> iam.Role: + """ + Creates an IAM Role that will enable data.all to interact with this Data Account + + :param str name: Role name + :param str principal_id: AWS Account ID of central data.all + :param str external_id: External ID provided by data.all + :param str env_resource_prefix: Environment Resource Prefix provided by data.all + :returns: Created IAM Role + :rtype: iam.Role + """ + + role = iam.Role( + self, + 'DataAllPivotRole-cdk', + role_name=name, + assumed_by=iam.CompositePrincipal( + iam.ServicePrincipal('glue.amazonaws.com'), + iam.ServicePrincipal('lakeformation.amazonaws.com'), + iam.ServicePrincipal('lambda.amazonaws.com'), + ), + path='/', + max_session_duration=Duration.hours(12), + managed_policies=[ + self._create_dataall_policy0(env_resource_prefix), + self._create_dataall_policy1(env_resource_prefix), + self._create_dataall_policy2(env_resource_prefix), + self._create_dataall_policy3(env_resource_prefix, name), + ], + ) + + role.assume_role_policy.add_statements( + iam.PolicyStatement( + effect=iam.Effect.ALLOW, + principals=[iam.AccountPrincipal(account_id=principal_id)], + actions=['sts:AssumeRole'], + conditions={'StringEquals': {'sts:ExternalId': external_id}}, + ) + ) + + return role + + def _create_dataall_policy0(self, env_resource_prefix: str) -> iam.ManagedPolicy: + """ + Creates the first managed IAM Policy required for the Pivot Role used by data.all + + :param str env_resource_prefix: Environment Resource Prefix provided by data.all + :returns: Created IAM Policy + :rtype: iam.ManagedPolicy + """ + return iam.ManagedPolicy( + self, + 'PivotRolePolicy0', + managed_policy_name=f'{env_resource_prefix}-pivotrole-cdk-policy-0', + statements=[ + # Athena permissions + iam.PolicyStatement( + sid='Athena', + effect=iam.Effect.ALLOW, + resources=['*'], + actions=[ + 'athena:GetQuery*', + 'athena:StartQueryExecution', + 'athena:ListWorkGroups' + ], + ), + # Athena Workgroups permissions + iam.PolicyStatement( + sid='AthenaWorkgroups', + effect=iam.Effect.ALLOW, + actions=[ + 'athena:GetWorkGroup', + 'athena:CreateWorkGroup', + 'athena:UpdateWorkGroup', + 'athena:DeleteWorkGroup', + 'athena:TagResource', + 'athena:UntagResource', + 'athena:ListTagsForResource', + ], + resources=[f'arn:aws:athena:*:{self.account}:workgroup/{env_resource_prefix}*'], + ), + # AWS Glue Crawler Bucket + iam.PolicyStatement( + sid='AwsGlueCrawlerBucket', + effect=iam.Effect.ALLOW, + actions=['s3:GetObject'], + resources=['arn:aws:s3:::crawler-public*'], + ), + # S3 Access points + iam.PolicyStatement( + sid='ManagedAccessPoints', + effect=iam.Effect.ALLOW, + actions=[ + 's3:GetAccessPoint', + 's3:GetAccessPointPolicy', + 's3:ListAccessPoints', + 's3:CreateAccessPoint', + 's3:DeleteAccessPoint', + 's3:GetAccessPointPolicyStatus', + 's3:DeleteAccessPointPolicy', + 's3:PutAccessPointPolicy', + ], + resources=[f'arn:aws:s3:*:{self.account}:accesspoint/*'], + ), + # S3 Managed Buckets + iam.PolicyStatement( + sid='ManagedBuckets', + effect=iam.Effect.ALLOW, + actions=[ + 's3:List*', + 's3:Delete*', + 's3:Get*', + 's3:Put*' + ], + resources=[f'arn:aws:s3:::{env_resource_prefix}*'], + ), + # S3 Imported Buckets + iam.PolicyStatement( + sid='ImportedBuckets', + effect=iam.Effect.ALLOW, + actions=[ + 's3:List*', + 's3:GetBucket*', + 's3:GetLifecycleConfiguration', + 's3:GetObject', + 's3:PutBucketPolicy', + 's3:PutBucketTagging', + 's3:PutObject', + 's3:PutObjectAcl', + 's3:PutBucketOwnershipControls', + ], + resources=['arn:aws:s3:::*'], + ), + # AWS Logging Buckets + iam.PolicyStatement( + sid='AWSLoggingBuckets', + effect=iam.Effect.ALLOW, + actions=[ + 's3:PutBucketAcl', + 's3:PutBucketNotification' + ], + resources=[f'arn:aws:s3:::{env_resource_prefix}-logging-*'], + ), + # Read Buckets + iam.PolicyStatement( + sid='ReadBuckets', + effect=iam.Effect.ALLOW, + actions=[ + 's3:ListAllMyBuckets', + 's3:GetBucketLocation', + 's3:PutBucketTagging' + ], + resources=['*'], + ), + # CloudWatch Metrics + iam.PolicyStatement( + sid='CWMetrics', + effect=iam.Effect.ALLOW, + actions=[ + 'cloudwatch:PutMetricData', + 'cloudwatch:GetMetricData', + 'cloudwatch:GetMetricStatistics' + ], + resources=['*'], + ), + # Logs + iam.PolicyStatement( + sid='Logs', + effect=iam.Effect.ALLOW, + actions=[ + 'logs:CreateLogGroup', + 'logs:CreateLogStream', + 'logs:PutLogEvents' + ], + resources=[ + f'arn:aws:logs:*:{self.account}:log-group:/aws-glue/*', + f'arn:aws:logs:*:{self.account}:log-group:/aws/lambda/*', + f'arn:aws:logs:*:{self.account}:log-group:/{env_resource_prefix}*', + ], + ), + # Logging + iam.PolicyStatement( + sid='Logging', effect=iam.Effect.ALLOW, actions=['logs:PutLogEvents'], resources=['*'] + ), + # EventBridge (CloudWatch Events) + iam.PolicyStatement( + sid='CWEvents', + effect=iam.Effect.ALLOW, + actions=[ + 'events:DeleteRule', + 'events:List*', + 'events:PutRule', + 'events:PutTargets', + 'events:RemoveTargets', + ], + resources=['*'], + ), + # Glue + iam.PolicyStatement( + sid='Glue', + effect=iam.Effect.ALLOW, + actions=[ + 'glue:BatchCreatePartition', + 'glue:BatchDeletePartition', + 'glue:BatchDeleteTable', + 'glue:CreateCrawler', + 'glue:CreateDatabase', + 'glue:CreatePartition', + 'glue:CreateTable', + 'glue:DeleteCrawler', + 'glue:DeleteDatabase', + 'glue:DeleteJob', + 'glue:DeletePartition', + 'glue:DeleteTable', + 'glue:DeleteTrigger', + 'glue:BatchGet*', + 'glue:Get*', + 'glue:List*', + 'glue:StartCrawler', + 'glue:StartJobRun', + 'glue:StartTrigger', + 'glue:SearchTables', + 'glue:UpdateDatabase', + 'glue:UpdatePartition', + 'glue:UpdateTable', + 'glue:UpdateTrigger', + 'glue:UpdateJob', + 'glue:TagResource', + 'glue:UpdateCrawler', + ], + resources=['*'], + ), + # KMS + iam.PolicyStatement( + sid='KMS', + effect=iam.Effect.ALLOW, + actions=[ + 'kms:Decrypt', + 'kms:Encrypt', + 'kms:GenerateDataKey*', + 'kms:PutKeyPolicy', + 'kms:ReEncrypt*', + 'kms:TagResource', + 'kms:UntagResource', + ], + resources=['*'], + ), + iam.PolicyStatement( + sid='KMSAlias', + effect=iam.Effect.ALLOW, + actions=['kms:DeleteAlias'], + resources=[f'arn:aws:kms:*:{self.account}:alias/{env_resource_prefix}*'], + ), + iam.PolicyStatement( + sid='KMSCreate', + effect=iam.Effect.ALLOW, + actions=[ + 'kms:List*', + 'kms:DescribeKey', + 'kms:CreateAlias', + 'kms:CreateKey' + ], + resources=['*'], + ), + # AWS Organizations + iam.PolicyStatement( + sid='Organizations', + effect=iam.Effect.ALLOW, + actions=['organizations:DescribeOrganization'], + resources=['*'], + ), + # Resource Tags + iam.PolicyStatement( + sid='ResourceGroupTags', + effect=iam.Effect.ALLOW, + actions=[ + 'tag:*', + 'resource-groups:*' + ], + resources=['*'], + ), + # SNS + iam.PolicyStatement( + sid='SNSPublish', + effect=iam.Effect.ALLOW, + actions=[ + 'sns:Publish', + 'sns:SetTopicAttributes', + 'sns:GetTopicAttributes', + 'sns:DeleteTopic', + 'sns:Subscribe', + 'sns:TagResource', + 'sns:UntagResource', + 'sns:CreateTopic', + ], + resources=[f'arn:aws:sns:*:{self.account}:{env_resource_prefix}*'], + ), + iam.PolicyStatement( + sid='SNSList', effect=iam.Effect.ALLOW, actions=['sns:ListTopics'], resources=['*'] + ), + # SQS + iam.PolicyStatement( + sid='SQSList', effect=iam.Effect.ALLOW, actions=['sqs:ListQueues'], resources=['*'] + ), + iam.PolicyStatement( + sid='SQS', + effect=iam.Effect.ALLOW, + actions=[ + 'sqs:ReceiveMessage', + 'sqs:SendMessage' + ], + resources=[f'arn:aws:sqs:*:{self.account}:{env_resource_prefix}*'], + ), + ], + ) + + def _create_dataall_policy1(self, env_resource_prefix: str) -> iam.ManagedPolicy: + """ + Creates the second managed IAM Policy required for the Pivot Role used by data.all + + :param str env_resource_prefix: Environment Resource Prefix provided by data.all + :returns: Created IAM Policy + :rtype: iam.ManagedPolicy + """ + return iam.ManagedPolicy( + self, + 'PivotRolePolicy1', + managed_policy_name=f'{env_resource_prefix}-pivotrole-cdk-policy-1', + statements=[ + # Redshift + iam.PolicyStatement( + sid='Redshift', + effect=iam.Effect.ALLOW, + actions=[ + 'redshift:DeleteTags', + 'redshift:ModifyClusterIamRoles', + 'redshift:DescribeClusterSecurityGroups', + 'redshift:DescribeClusterSubnetGroups', + 'redshift:pauseCluster', + 'redshift:resumeCluster', + ], + resources=['*'], + conditions={'StringEquals': {'aws:ResourceTag/dataall': 'true'}}, + ), + iam.PolicyStatement( + sid='RedshiftRead', + effect=iam.Effect.ALLOW, + actions=[ + 'redshift:DescribeClusters', + 'redshift:CreateTags', + 'redshift:DescribeClusterSubnetGroups', + ], + resources=['*'], + ), + iam.PolicyStatement( + sid='RedshiftCreds', + effect=iam.Effect.ALLOW, + actions=['redshift:GetClusterCredentials'], + resources=[ + f'arn:aws:redshift:*:{self.account}:dbgroup:*/*', + f'arn:aws:redshift:*:{self.account}:dbname:*/*', + f'arn:aws:redshift:*:{self.account}:dbuser:*/*', + ], + ), + iam.PolicyStatement( + sid='AllowRedshiftSubnet', + effect=iam.Effect.ALLOW, + actions=['redshift:CreateClusterSubnetGroup'], + resources=['*'], + ), + iam.PolicyStatement( + sid='AllowRedshiftDataApi', + effect=iam.Effect.ALLOW, + actions=[ + 'redshift-data:ListTables', + 'redshift-data:GetStatementResult', + 'redshift-data:CancelStatement', + 'redshift-data:ListSchemas', + 'redshift-data:ExecuteStatement', + 'redshift-data:ListStatements', + 'redshift-data:ListDatabases', + 'redshift-data:DescribeStatement', + ], + resources=['*'], + ), + # EC2 + iam.PolicyStatement( + sid='EC2SG', + effect=iam.Effect.ALLOW, + actions=[ + 'ec2:CreateSecurityGroup', + 'ec2:CreateNetworkInterface', + 'ec2:Describe*' + ], + resources=['*'], + ), + iam.PolicyStatement( + sid='TagsforENI', + effect=iam.Effect.ALLOW, + actions=[ + 'ec2:CreateTags', + 'ec2:DeleteTags' + ], + resources=[f'arn:aws:ec2:*:{self.account}:network-interface/*'], + ), + iam.PolicyStatement( + sid='DeleteENI', + effect=iam.Effect.ALLOW, + actions=['ec2:DeleteNetworkInterface'], + resources=[f'arn:aws:ec2:*:{self.account}:network-interface/*'], + ), + # SageMaker + iam.PolicyStatement( + sid='SageMakerNotebookActions', + effect=iam.Effect.ALLOW, + actions=[ + 'sagemaker:ListTags', + 'sagemaker:DescribeUserProfile', + 'sagemaker:DeleteNotebookInstance', + 'sagemaker:StopNotebookInstance', + 'sagemaker:CreatePresignedNotebookInstanceUrl', + 'sagemaker:DescribeNotebookInstance', + 'sagemaker:StartNotebookInstance', + 'sagemaker:AddTags', + 'sagemaker:DescribeDomain', + 'sagemaker:CreatePresignedDomainUrl', + ], + resources=[ + f'arn:aws:sagemaker:*:{self.account}:notebook-instance/{env_resource_prefix}*', + f'arn:aws:sagemaker:*:{self.account}:domain/*', + f'arn:aws:sagemaker:*:{self.account}:user-profile/*/*', + ], + ), + iam.PolicyStatement( + sid='SageMakerNotebookInstances', + effect=iam.Effect.ALLOW, + actions=[ + 'sagemaker:ListNotebookInstances', + 'sagemaker:ListDomains', + 'sagemaker:ListApps', + 'sagemaker:DeleteApp', + ], + resources=['*'], + ), + # RAM + iam.PolicyStatement( + sid='RamTag', + effect=iam.Effect.ALLOW, + actions=['ram:TagResource'], + resources=['*'], + conditions={'ForAllValues:StringLike': {'ram:ResourceShareName': ['LakeFormation*']}}, + ), + iam.PolicyStatement( + sid='RamCreateResource', + effect=iam.Effect.ALLOW, + actions=['ram:CreateResourceShare'], + resources=['*'], + conditions={ + 'ForAllValues:StringEquals': { + 'ram:RequestedResourceType': ['glue:Table', 'glue:Database', 'glue:Catalog'] + } + }, + ), + iam.PolicyStatement( + sid='RamUpdateResource', + effect=iam.Effect.ALLOW, + actions=['ram:UpdateResourceShare'], + resources=[f'arn:aws:ram:*:{self.account}:resource-share/*'], + conditions={ + 'StringEquals': {'aws:ResourceTag/dataall': 'true'}, + 'ForAllValues:StringLike': {'ram:ResourceShareName': ['LakeFormation*']}, + }, + ), + iam.PolicyStatement( + sid='RamAssociateResource', + effect=iam.Effect.ALLOW, + actions=[ + 'ram:AssociateResourceShare', + 'ram:DisassociateResourceShare' + ], + resources=[f'arn:aws:ram:*:{self.account}:resource-share/*'], + conditions={'ForAllValues:StringLike': {'ram:ResourceShareName': ['LakeFormation*']}}, + ), + iam.PolicyStatement( + sid='RamDeleteResource', + effect=iam.Effect.ALLOW, + actions=['ram:DeleteResourceShare'], + resources=[f'arn:aws:ram:*:{self.account}:resource-share/*'], + ), + iam.PolicyStatement( + sid='RamInvitations', + effect=iam.Effect.ALLOW, + actions=[ + 'ram:AcceptResourceShareInvitation', + 'ram:RejectResourceShareInvitation', + 'ec2:DescribeAvailabilityZones', + 'ram:EnableSharingWithAwsOrganization', + ], + resources=['*'], + ), + iam.PolicyStatement( + sid='RamReadGlue', + effect=iam.Effect.ALLOW, + actions=[ + 'glue:PutResourcePolicy', + 'glue:DeleteResourcePolicy', + 'ram:Get*', + 'ram:List*' + ], + resources=['*'], + ), + # Security Groups + iam.PolicyStatement( + sid='SGCreateTag', + effect=iam.Effect.ALLOW, + actions=['ec2:CreateTags'], + resources=[f'arn:aws:ec2:*:{self.account}:security-group/*'], + conditions={'StringEquals': {'aws:RequestTag/dataall': 'true'}}, + ), + iam.PolicyStatement( + sid='SGandRedshift', + effect=iam.Effect.ALLOW, + actions=[ + 'ec2:DeleteTags', + 'ec2:DeleteSecurityGroup', + 'redshift:DeleteClusterSubnetGroup' + ], + resources=['*'], + conditions={'ForAnyValue:StringEqualsIfExists': {'aws:ResourceTag/dataall': 'true'}}, + ), + # Redshift + iam.PolicyStatement( + sid='RedshiftDataApi', + effect=iam.Effect.ALLOW, + actions=[ + 'redshift-data:ListTables', + 'redshift-data:GetStatementResult', + 'redshift-data:CancelStatement', + 'redshift-data:ListSchemas', + 'redshift-data:ExecuteStatement', + 'redshift-data:ListStatements', + 'redshift-data:ListDatabases', + 'redshift-data:DescribeStatement', + ], + resources=['*'], + conditions={'StringEqualsIfExists': {'aws:ResourceTag/dataall': 'true'}}, + ), + # Dev Tools + iam.PolicyStatement( + sid='DevTools0', + effect=iam.Effect.ALLOW, + actions=['cloudformation:ValidateTemplate'], + resources=['*'], + ), + iam.PolicyStatement( + sid='DevTools1', + effect=iam.Effect.ALLOW, + actions=[ + 'secretsmanager:CreateSecret', + 'secretsmanager:DeleteSecret', + 'secretsmanager:TagResource', + 'codebuild:DeleteProject', + ], + resources=['*'], + conditions={'StringEquals': {'aws:ResourceTag/dataall': 'true'}}, + ), + iam.PolicyStatement( + sid='DevTools2', + effect=iam.Effect.ALLOW, + actions=[ + 'codebuild:CreateProject', + 'ecr:CreateRepository', + 'ssm:PutParameter', + 'ssm:AddTagsToResource', + ], + resources=['*'], + conditions={'StringEquals': {'aws:RequestTag/dataall': 'true'}}, + ), + iam.PolicyStatement( + sid='CloudFormation', + effect=iam.Effect.ALLOW, + actions=[ + 'cloudformation:DescribeStacks', + 'cloudformation:DescribeStackResources', + 'cloudformation:DescribeStackEvents', + 'cloudformation:DeleteStack', + 'cloudformation:CreateStack', + 'cloudformation:GetTemplate', + 'cloudformation:ListStackResources', + 'cloudformation:DescribeStackResource', + ], + resources=[ + f'arn:aws:cloudformation:*:{self.account}:stack/{env_resource_prefix}*/*', + f'arn:aws:cloudformation:*:{self.account}:stack/CDKToolkit/*', + f'arn:aws:cloudformation:*:{self.account}:stack/*/*', + ], + ), + ], + ) + + def _create_dataall_policy2(self, env_resource_prefix: str) -> iam.ManagedPolicy: + """ + Creates the third managed IAM Policy required for the Pivot Role used by data.all + + :param str env_resource_prefix: Environment Resource Prefix provided by data.all + :returns: Created IAM Policy + :rtype: iam.ManagedPolicy + """ + return iam.ManagedPolicy( + self, + 'PivotRolePolicy2', + managed_policy_name=f'{env_resource_prefix}-pivotrole-cdk-policy-2', + statements=[ + # LakeFormation + iam.PolicyStatement( + sid='LakeFormation', + effect=iam.Effect.ALLOW, + actions=[ + 'lakeformation:RegisterResource', + 'lakeformation:DeregisterResource', + 'lakeformation:UpdateResource', + 'lakeformation:DescribeResource', + 'lakeformation:AddLFTagsToResource', + 'lakeformation:RemoveLFTagsFromResource', + 'lakeformation:GetResourceLFTags', + 'lakeformation:ListLFTags', + 'lakeformation:CreateLFTag', + 'lakeformation:GetLFTag', + 'lakeformation:UpdateLFTag', + 'lakeformation:DeleteLFTag', + 'lakeformation:SearchTablesByLFTags', + 'lakeformation:SearchDatabasesByLFTags', + 'lakeformation:ListResources', + 'lakeformation:ListPermissions', + 'lakeformation:GrantPermissions', + 'lakeformation:BatchGrantPermissions', + 'lakeformation:RevokePermissions', + 'lakeformation:BatchRevokePermissions', + 'lakeformation:PutDataLakeSettings', + 'lakeformation:GetDataLakeSettings', + 'lakeformation:GetDataAccess', + 'lakeformation:GetWorkUnits', + 'lakeformation:StartQueryPlanning', + 'lakeformation:GetWorkUnitResults', + 'lakeformation:GetQueryState', + 'lakeformation:GetQueryStatistics', + 'lakeformation:StartTransaction', + 'lakeformation:CommitTransaction', + 'lakeformation:CancelTransaction', + 'lakeformation:ExtendTransaction', + 'lakeformation:DescribeTransaction', + 'lakeformation:ListTransactions', + 'lakeformation:GetTableObjects', + 'lakeformation:UpdateTableObjects', + 'lakeformation:DeleteObjectsOnCancel', + ], + resources=['*'], + ), + # Compute + iam.PolicyStatement( + sid='Compute', + effect=iam.Effect.ALLOW, + actions=[ + 'lambda:CreateFunction', + 'lambda:AddPermission', + 'lambda:InvokeFunction', + 'lambda:RemovePermission', + 'lambda:GetFunction', + 'lambda:GetFunctionConfiguration', + 'lambda:DeleteFunction', + 'ecr:CreateRepository', + 'ecr:SetRepositoryPolicy', + 'ecr:DeleteRepository', + 'ecr:DescribeImages', + 'ecr:BatchDeleteImage', + 'codepipeline:GetPipelineState', + 'codepipeline:DeletePipeline', + 'codepipeline:GetPipeline', + 'codepipeline:CreatePipeline', + 'codepipeline:TagResource', + 'codepipeline:UntagResource', + ], + resources=[ + f'arn:aws:lambda:*:{self.account}:function:{env_resource_prefix}*', + f'arn:aws:s3:::{env_resource_prefix}*', + f'arn:aws:codepipeline:*:{self.account}:{env_resource_prefix}*', + f'arn:aws:ecr:*:{self.account}:repository/{env_resource_prefix}*', + ], + ), + # Databrew + iam.PolicyStatement( + sid='DatabrewList', effect=iam.Effect.ALLOW, actions=['databrew:List*'], resources=['*'] + ), + iam.PolicyStatement( + sid='DatabrewPermissions', + effect=iam.Effect.ALLOW, + actions=[ + 'databrew:BatchDeleteRecipeVersion', + 'databrew:Delete*', + 'databrew:Describe*', + 'databrew:PublishRecipe', + 'databrew:SendProjectSessionAction', + 'databrew:Start*', + 'databrew:Stop*', + 'databrew:TagResource', + 'databrew:UntagResource', + 'databrew:Update*', + ], + resources=[f'arn:aws:databrew:*:{self.account}:*/{env_resource_prefix}*'], + ), + # QuickSight + iam.PolicyStatement( + sid='QuickSight', + effect=iam.Effect.ALLOW, + actions=[ + 'quicksight:CreateGroup', + 'quicksight:DescribeGroup', + 'quicksight:ListDashboards', + 'quicksight:DescribeDataSource', + 'quicksight:DescribeDashboard', + 'quicksight:DescribeUser', + 'quicksight:SearchDashboards', + 'quicksight:GetDashboardEmbedUrl', + 'quicksight:GenerateEmbedUrlForAnonymousUser', + 'quicksight:UpdateUser', + 'quicksight:ListUserGroups', + 'quicksight:RegisterUser', + 'quicksight:DescribeDashboardPermissions', + 'quicksight:UpdateDashboardPermissions', + 'quicksight:GetAuthCode', + 'quicksight:CreateGroupMembership', + 'quicksight:DescribeAccountSubscription', + ], + resources=[ + f'arn:aws:quicksight:*:{self.account}:group/default/*', + f'arn:aws:quicksight:*:{self.account}:user/default/*', + f'arn:aws:quicksight:*:{self.account}:datasource/*', + f'arn:aws:quicksight:*:{self.account}:user/*', + f'arn:aws:quicksight:*:{self.account}:dashboard/*', + f'arn:aws:quicksight:*:{self.account}:namespace/default', + f'arn:aws:quicksight:*:{self.account}:account/*', + f'arn:aws:quicksight:*:{self.account}:*', + ], + ), + iam.PolicyStatement( + sid='QuickSightSession', + effect=iam.Effect.ALLOW, + actions=['quicksight:GetSessionEmbedUrl'], + resources=['*'], + ), + ], + ) + + def _create_dataall_policy3(self, env_resource_prefix: str, role_name: str) -> iam.ManagedPolicy: + """ + Creates the fourth managed IAM Policy required for the Pivot Role used by data.all + + :param str env_resource_prefix: Environment Resource Prefix provided by data.all + :param str role_name: IAM Role name + :returns: Created IAM Policy + :rtype: iam.ManagedPolicy + """ + return iam.ManagedPolicy( + self, + 'PivotRolePolicy3', + managed_policy_name=f'{env_resource_prefix}-pivotrole-cdk-policy-3', + statements=[ + # SSM Parameter Store + iam.PolicyStatement( + sid='ParameterStore', + effect=iam.Effect.ALLOW, + actions=['ssm:GetParameter'], + resources=[ + f'arn:aws:ssm:*:{self.account}:parameter/{env_resource_prefix}/*', + f'arn:aws:ssm:*:{self.account}:parameter/dataall/*', + f'arn:aws:ssm:*:{self.account}:parameter/ddk/*', + ], + ), + # Secrets Manager + iam.PolicyStatement( + sid='SecretsManager', + effect=iam.Effect.ALLOW, + actions=[ + 'secretsmanager:DescribeSecret', + 'secretsmanager:GetSecretValue' + ], + resources=[ + f'arn:aws:secretsmanager:*:{self.account}:secret:{env_resource_prefix}*', + f'arn:aws:secretsmanager:*:{self.account}:secret:dataall*', + ], + ), + iam.PolicyStatement( + sid='SecretsManagerList', + effect=iam.Effect.ALLOW, + actions=['secretsmanager:ListSecrets'], + resources=['*'], + ), + # IAM + iam.PolicyStatement( + sid='IAMListGet', + effect=iam.Effect.ALLOW, + actions=[ + 'iam:ListRoles', + 'iam:Get*' + ], resources=['*'] + ), + iam.PolicyStatement( + sid='IAMRolePolicy', + effect=iam.Effect.ALLOW, + actions=[ + 'iam:PutRolePolicy', + 'iam:DeleteRolePolicy' + ], + resources=['*'], + ), + iam.PolicyStatement( + sid='IAMPassRole', + effect=iam.Effect.ALLOW, + actions=['iam:PassRole'], + resources=[ + f'arn:aws:iam::{self.account}:role/{env_resource_prefix}*', + f'arn:aws:iam::{self.account}:role/{role_name}', + f'arn:aws:iam::{self.account}:role/cdk-*', + ], + ), + # STS + iam.PolicyStatement( + sid='STS', + effect=iam.Effect.ALLOW, + actions=['sts:AssumeRole'], + resources=[ + f'arn:aws:iam::{self.account}:role/{env_resource_prefix}*', + f'arn:aws:iam::{self.account}:role/ddk-*', + ], + ), + # Step Functions + iam.PolicyStatement( + sid='StepFunctions', + effect=iam.Effect.ALLOW, + actions=[ + 'states:DescribeStateMachine', + 'states:ListExecutions', + 'states:StartExecution' + ], + resources=[f'arn:aws:states:*:{self.account}:stateMachine:{env_resource_prefix}*'], + ), + # CodeCommit + iam.PolicyStatement( + sid='CodeCommit', + effect=iam.Effect.ALLOW, + actions=[ + 'codecommit:GetFile', + 'codecommit:ListBranches', + 'codecommit:GetFolder', + 'codecommit:GetCommit', + 'codecommit:GitPull', + 'codecommit:GetRepository', + 'codecommit:TagResource', + 'codecommit:UntagResource', + 'codecommit:CreateBranch', + 'codecommit:CreateCommit', + 'codecommit:CreateRepository', + 'codecommit:DeleteRepository', + 'codecommit:GitPush', + 'codecommit:PutFile', + 'codecommit:GetBranch', + ], + resources=[f'arn:aws:codecommit:*:{self.account}:{env_resource_prefix}*'], + ), + ], + ) diff --git a/backend/dataall/cdkproxy/stacks/sagemakerstudio.py b/backend/dataall/cdkproxy/stacks/sagemakerstudio.py index a858cdfc2..491a5359a 100644 --- a/backend/dataall/cdkproxy/stacks/sagemakerstudio.py +++ b/backend/dataall/cdkproxy/stacks/sagemakerstudio.py @@ -1,21 +1,193 @@ import logging import os - from aws_cdk import ( cloudformation_include as cfn_inc, - Stack, + aws_ec2 as ec2, + aws_iam as iam, + aws_kms as kms, + aws_logs as logs, + aws_sagemaker as sagemaker, + aws_ssm as ssm, + RemovalPolicy, + Stack ) - +from botocore.exceptions import ClientError from .manager import stack from ... import db from ...db import models from ...db.api import Environment +from ...aws.handlers.parameter_store import ParameterStoreManager +from ...aws.handlers.sts import SessionHelper +from ...aws.handlers.sagemaker_studio import SagemakerStudio +from ...aws.handlers.ec2 import EC2 from ...utils.cdk_nag_utils import CDKNagUtil from ...utils.runtime_stacks_tagging import TagsUtil logger = logging.getLogger(__name__) +class SageMakerDomain: + def __init__( + self, + stack, + id, + environment: models.Environment + ): + self.stack = stack + self.id = id + self.environment = environment + + def check_existing_sagemaker_studio_domain(self): + logger.info('Check if there is an existing sagemaker studio domain in the account') + try: + logger.info('check sagemaker studio domain created as part of data.all environment stack.') + cdk_look_up_role_arn = SessionHelper.get_cdk_look_up_role_arn( + accountid=self.environment.AwsAccountId, region=self.environment.region + ) + dataall_created_domain = ParameterStoreManager.client( + AwsAccountId=self.environment.AwsAccountId, region=self.environment.region, role=cdk_look_up_role_arn + ).get_parameter(Name=f'/dataall/{self.environment.environmentUri}/sagemaker/sagemakerstudio/domain_id') + return False + except ClientError as e: + logger.info(f'check sagemaker studio domain created outside of data.all. Parameter data.all not found: {e}') + existing_domain = SagemakerStudio.get_sagemaker_studio_domain( + AwsAccountId=self.environment.AwsAccountId, region=self.environment.region, role=cdk_look_up_role_arn + ) + return existing_domain.get('DomainId', False) + + def create_sagemaker_domain_resources(self, sagemaker_principals): + logger.info('Creating SageMaker base resources..') + cdk_look_up_role_arn = SessionHelper.get_cdk_look_up_role_arn( + accountid=self.environment.AwsAccountId, region=self.environment.region + ) + existing_default_vpc = EC2.check_default_vpc_exists( + AwsAccountId=self.environment.AwsAccountId, region=self.environment.region, role=cdk_look_up_role_arn + ) + if existing_default_vpc: + logger.info("Using default VPC for Sagemaker Studio domain") + # Use default VPC - initial configuration (to be migrated) + vpc = ec2.Vpc.from_lookup(self.stack, 'VPCStudio', is_default=True) + subnet_ids = [private_subnet.subnet_id for private_subnet in vpc.private_subnets] + subnet_ids += [public_subnet.subnet_id for public_subnet in vpc.public_subnets] + subnet_ids += [isolated_subnet.subnet_id for isolated_subnet in vpc.isolated_subnets] + security_groups = [] + else: + logger.info("Default VPC not found, Exception. Creating a VPC for SageMaker resources...") + # Create VPC with 3 Public Subnets and 3 Private subnets wit NAT Gateways + log_group = logs.LogGroup( + self.stack, + f'SageMakerStudio{self.environment.name}', + log_group_name=f'/{self.environment.resourcePrefix}/{self.environment.name}/vpc/sagemakerstudio', + retention=logs.RetentionDays.ONE_MONTH, + removal_policy=RemovalPolicy.DESTROY, + ) + vpc_flow_role = iam.Role( + self.stack, 'FlowLog', + assumed_by=iam.ServicePrincipal('vpc-flow-logs.amazonaws.com') + ) + vpc = ec2.Vpc( + self.stack, + "SageMakerVPC", + max_azs=3, + cidr="10.10.0.0/16", + subnet_configuration=[ + ec2.SubnetConfiguration( + subnet_type=ec2.SubnetType.PUBLIC, + name="Public", + cidr_mask=24 + ), + ec2.SubnetConfiguration( + subnet_type=ec2.SubnetType.PRIVATE_WITH_NAT, + name="Private", + cidr_mask=24 + ), + ], + enable_dns_hostnames=True, + enable_dns_support=True, + ) + ec2.FlowLog( + self.stack, "StudioVPCFlowLog", + resource_type=ec2.FlowLogResourceType.from_vpc(vpc), + destination=ec2.FlowLogDestination.to_cloud_watch_logs(log_group, vpc_flow_role) + ) + # setup security group to be used for sagemaker studio domain + sagemaker_sg = ec2.SecurityGroup( + self.stack, + "SecurityGroup", + vpc=vpc, + description="Security Group for SageMaker Studio", + ) + + sagemaker_sg.add_ingress_rule(sagemaker_sg, ec2.Port.all_traffic()) + security_groups = [sagemaker_sg.security_group_id] + subnet_ids = [private_subnet.subnet_id for private_subnet in vpc.private_subnets] + + vpc_id = vpc.vpc_id + + sagemaker_domain_role = iam.Role( + self.stack, + 'RoleForSagemakerStudioUsers', + assumed_by=iam.ServicePrincipal('sagemaker.amazonaws.com'), + role_name='RoleSagemakerStudioUsers', + managed_policies=[ + iam.ManagedPolicy.from_managed_policy_arn( + self.stack, + id='SagemakerFullAccess', + managed_policy_arn='arn:aws:iam::aws:policy/AmazonSageMakerFullAccess', + ), + iam.ManagedPolicy.from_managed_policy_arn( + self.stack, id='S3FullAccess', managed_policy_arn='arn:aws:iam::aws:policy/AmazonS3FullAccess' + ), + ], + ) + + sagemaker_domain_key = kms.Key( + self.stack, + 'SagemakerDomainKmsKey', + alias='SagemakerStudioDomain', + enable_key_rotation=True, + policy=iam.PolicyDocument( + assign_sids=True, + statements=[ + iam.PolicyStatement( + resources=['*'], + effect=iam.Effect.ALLOW, + principals=[iam.AccountPrincipal(account_id=self.environment.AwsAccountId), sagemaker_domain_role] + sagemaker_principals, + actions=['kms:*'], + ) + ], + ), + ) + + sagemaker_domain = sagemaker.CfnDomain( + self.stack, + 'SagemakerStudioDomain', + domain_name=f'SagemakerStudioDomain-{self.environment.region}-{self.environment.AwsAccountId}', + auth_mode='IAM', + default_user_settings=sagemaker.CfnDomain.UserSettingsProperty( + execution_role=sagemaker_domain_role.role_arn, + security_groups=security_groups, + sharing_settings=sagemaker.CfnDomain.SharingSettingsProperty( + notebook_output_option='Allowed', + s3_kms_key_id=sagemaker_domain_key.key_id, + s3_output_path=f's3://sagemaker-{self.environment.region}-{self.environment.AwsAccountId}', + ), + ), + vpc_id=vpc_id, + subnet_ids=subnet_ids, + app_network_access_type='VpcOnly', + kms_key_id=sagemaker_domain_key.key_id, + ) + + ssm.StringParameter( + self.stack, + 'SagemakerStudioDomainId', + string_value=sagemaker_domain.attr_domain_id, + parameter_name=f'/dataall/{self.environment.environmentUri}/sagemaker/sagemakerstudio/domain_id', + ) + return sagemaker_domain + + @stack(stack='sagemakerstudiouserprofile') class SagemakerStudioUserProfile(Stack): module_name = __file__ @@ -70,6 +242,7 @@ def __init__(self, scope, id: str, target_uri: str = None, **kwargs) -> None: env_group = self.get_env_group(sm_user_profile) + # SageMaker Studio User Profile cfn_template_user_profile = os.path.join( os.path.dirname(__file__), '..', 'cfnstacks', 'sagemaker-user-template.yaml' ) diff --git a/backend/dataall/db/api/__init__.py b/backend/dataall/db/api/__init__.py index 765d1b68a..369e4faa9 100644 --- a/backend/dataall/db/api/__init__.py +++ b/backend/dataall/db/api/__init__.py @@ -10,7 +10,6 @@ from .environment import Environment from .glossary import Glossary from .vote import Vote -from .share_object import ShareObject, ShareObjectSM, ShareItemSM from .dataset import Dataset from .dataset_location import DatasetStorageLocation from .dataset_profiling_run import DatasetProfilingRun @@ -18,6 +17,7 @@ from .notification import Notification from .redshift_cluster import RedshiftCluster from .vpc import Vpc +from .share_object import ShareObject, ShareObjectSM, ShareItemSM from .notebook import Notebook from .sgm_studio_notebook import SgmStudioNotebook from .dashboard import Dashboard diff --git a/backend/dataall/db/api/dataset.py b/backend/dataall/db/api/dataset.py index 8fdbb72b7..a42b676ec 100644 --- a/backend/dataall/db/api/dataset.py +++ b/backend/dataall/db/api/dataset.py @@ -11,7 +11,7 @@ ResourcePolicy, KeyValueTag, Vote, - Stack, + Stack ) from . import Organization from .. import models, api, exceptions, permissions, paginate diff --git a/backend/dataall/db/api/redshift_cluster.py b/backend/dataall/db/api/redshift_cluster.py index 91e687d2b..8dc3c8d63 100644 --- a/backend/dataall/db/api/redshift_cluster.py +++ b/backend/dataall/db/api/redshift_cluster.py @@ -4,7 +4,6 @@ from .. import models, api, exceptions, paginate, permissions from . import has_resource_perm, ResourcePolicy, DatasetTable, Environment, Dataset -from ..models.Enums import ShareItemStatus from ...utils.naming_convention import ( NamingConventionService, NamingConventionPattern, diff --git a/backend/dataall/searchproxy/connect.py b/backend/dataall/searchproxy/connect.py index a758b95b3..3c952f5c9 100644 --- a/backend/dataall/searchproxy/connect.py +++ b/backend/dataall/searchproxy/connect.py @@ -55,15 +55,17 @@ def connect(envname='local'): secret = creds.secret_key token = creds.token + host = utils.Parameter.get_parameter(env=envname, path='elasticsearch/endpoint') + service = utils.Parameter.get_parameter(env=envname, path='elasticsearch/service') or 'es' + awsauth = AWS4Auth( access_key, secret, os.getenv('AWS_REGION', 'eu-west-1'), - 'es', + service, session_token=token, ) - host = utils.Parameter.get_parameter(env=envname, path='elasticsearch/endpoint') es = opensearchpy.OpenSearch( hosts=[{'host': host, 'port': 443}], http_auth=awsauth, @@ -71,7 +73,11 @@ def connect(envname='local'): verify_certs=True, connection_class=opensearchpy.RequestsHttpConnection, ) - print(es.info()) + + # Avoid calling GET /info endpoint because it is not available in OpenSearch Serverless + if service != "aoss": + print(es.info()) + if not es.indices.exists(index='dataall-index'): es.indices.create(index='dataall-index', body=CREATE_INDEX_REQUEST_BODY) print('Create "dataall-index" for dev env') diff --git a/backend/dataall/tasks/data_sharing/share_managers/lf_share_manager.py b/backend/dataall/tasks/data_sharing/share_managers/lf_share_manager.py index b74e34e93..22bba64ca 100644 --- a/backend/dataall/tasks/data_sharing/share_managers/lf_share_manager.py +++ b/backend/dataall/tasks/data_sharing/share_managers/lf_share_manager.py @@ -60,11 +60,12 @@ def get_share_principals(self) -> [str]: """ principals = [f"arn:aws:iam::{self.target_environment.AwsAccountId}:role/{self.share.principalIAMRoleName}"] if self.target_environment.dashboardsEnabled: - q_group = Quicksight.get_quicksight_group_arn( - self.target_environment.AwsAccountId - ) - if q_group: - principals.append(q_group) + group = Quicksight.create_quicksight_group(AwsAccountId=self.target_environment.AwsAccountId) + if group and group.get('Group'): + group_arn = group.get('Group').get('Arn') + if group_arn: + principals.append(group_arn) + return principals def build_shared_db_name(self) -> str: diff --git a/backend/dataall/tasks/stacks_updater.py b/backend/dataall/tasks/stacks_updater.py index 03bfd1005..d9f33332e 100644 --- a/backend/dataall/tasks/stacks_updater.py +++ b/backend/dataall/tasks/stacks_updater.py @@ -1,6 +1,7 @@ import logging import os import sys +import time from .. import db from ..db import models @@ -14,36 +15,46 @@ root.addHandler(logging.StreamHandler(sys.stdout)) log = logging.getLogger(__name__) +RETRIES = 30 +SLEEP_TIME = 30 + def update_stacks(engine, envname): with engine.scoped_session() as session: - all_datasets: [models.Dataset] = db.api.Dataset.list_all_active_datasets( - session - ) - all_environments: [ - models.Environment - ] = db.api.Environment.list_all_active_environments(session) - log.info(f'Found {len(all_environments)} environments') + all_datasets: [models.Dataset] = db.api.Dataset.list_all_active_datasets(session) + all_environments: [models.Environment] = db.api.Environment.list_all_active_environments(session) + + log.info(f'Found {len(all_environments)} environments, triggering update stack tasks...') environment: models.Environment for environment in all_environments: - update_stack(session, envname, environment.environmentUri) + update_stack(session=session, envname=envname, target_uri=environment.environmentUri, wait=True) log.info(f'Found {len(all_datasets)} datasets') dataset: models.Dataset for dataset in all_datasets: - update_stack(session, envname, dataset.datasetUri) + update_stack(session=session, envname=envname, target_uri=dataset.datasetUri, wait=False) return all_environments, all_datasets -def update_stack(session, envname, target_uri): +def update_stack(session, envname, target_uri, wait=False): stack: models.Stack = db.api.Stack.get_stack_by_target_uri( session, target_uri=target_uri ) cluster_name = Parameter().get_parameter(env=envname, path='ecs/cluster/name') - if not Ecs.is_task_running(cluster_name, f'awsworker-{stack.stackUri}'): - stack.EcsTaskArn = Ecs.run_cdkproxy_task(stack.stackUri) + if not Ecs.is_task_running(cluster_name=cluster_name, started_by=f'awsworker-{stack.stackUri}'): + stack.EcsTaskArn = Ecs.run_cdkproxy_task(stack_uri=stack.stackUri) + if wait: + retries = 1 + while Ecs.is_task_running(cluster_name=cluster_name, started_by=f'awsworker-{stack.stackUri}'): + log.info(f"Update for {stack.name}//{stack.stackUri} is not complete, waiting for {SLEEP_TIME} seconds...") + time.sleep(SLEEP_TIME) + retries = retries + 1 + if retries > RETRIES: + log.info(f"Maximum number of retries exceeded ({RETRIES} retries), continuing task...") + break + log.info(f"Update for {stack.name}//{stack.stackUri} COMPLETE or maximum number of retries exceeded ({RETRIES} retries)") else: log.info( f'Stack update is already running... Skipping stack {stack.name}//{stack.stackUri}' diff --git a/deploy/configs/frontend_config.py b/deploy/configs/frontend_config.py index 7b9c9c8d6..a32002099 100644 --- a/deploy/configs/frontend_config.py +++ b/deploy/configs/frontend_config.py @@ -10,7 +10,7 @@ def create_react_env_file( resource_prefix, internet_facing='True', custom_domain='False', - cw_rum_enabled='False', + cw_rum_enabled='False' ): ssm = boto3.client('ssm', region_name=region) user_pool_id = ssm.get_parameter(Name=f'/dataall/{envname}/cognito/userpool')[ @@ -33,6 +33,11 @@ def create_react_env_file( search_api_url = f'{api_url}search/api' print(f'Search API: {search_api_url}') + pivot_role_auto_create = ssm.get_parameter(Name=f"/dataall/{envname}/pivotRole/enablePivotRoleAutoCreate")['Parameter'][ + 'Value' + ] + print(f'PivotRole auto-create is enabled: {pivot_role_auto_create}') + if custom_domain == 'False' and internet_facing == 'True': print('Switching to us-east-1 region...') ssm = boto3.client('ssm', region_name='us-east-1') @@ -63,6 +68,7 @@ def create_react_env_file( REACT_APP_COGNITO_REDIRECT_SIGNIN=https://{signin_singout_link} REACT_APP_COGNITO_REDIRECT_SIGNOUT=https://{signin_singout_link} REACT_APP_USERGUIDE_LINK=https://{user_guide_link} +REACT_APP_ENABLE_PIVOT_ROLE_AUTO_CREATE={pivot_role_auto_create} """ print('.env content: \n', file_content) f.write(file_content) diff --git a/deploy/pivot_role/pivotRole.yaml b/deploy/pivot_role/pivotRole.yaml index 601d30f70..3721ea81f 100644 --- a/deploy/pivot_role/pivotRole.yaml +++ b/deploy/pivot_role/pivotRole.yaml @@ -318,10 +318,7 @@ Resources: Effect: Allow Action: - 'ec2:DeleteNetworkInterface' - Resource: '*' - Condition: - StringEquals: - 'aws:ResourceTag/dataall': 'True' + Resource: !Sub 'arn:aws:ec2:*:${AWS::AccountId}:network-interface/*' - Sid: SageMakerNotebookActions Effect: Allow Action: @@ -347,7 +344,8 @@ Resources: - 'sagemaker:ListApps' - 'sagemaker:DeleteApp' Resource: '*' - - Effect: Allow + - Sid: RamTag + Effect: Allow Action: - 'ram:TagResource' Resource: '*' @@ -355,7 +353,8 @@ Resources: 'ForAllValues:StringLike': 'ram:ResourceShareName': - LakeFormation* - - Effect: Allow + - Sid: RamCreateResource + Effect: Allow Action: - 'ram:CreateResourceShare' Resource: '*' @@ -365,7 +364,8 @@ Resources: - 'glue:Table' - 'glue:Database' - 'glue:Catalog' - - Effect: Allow + - Sid: RamUpdateResource + Effect: Allow Action: - 'ram:UpdateResourceShare' Resource: !Sub 'arn:aws:ram:*:${AWS::AccountId}:resource-share/*' @@ -375,7 +375,8 @@ Resources: 'ForAllValues:StringLike': 'ram:ResourceShareName': - LakeFormation* - - Effect: Allow + - Sid: RamAssociateResource + Effect: Allow Action: - 'ram:AssociateResourceShare' - 'ram:DisassociateResourceShare' @@ -384,7 +385,8 @@ Resources: 'ForAllValues:StringLike': 'ram:ResourceShareName': - LakeFormation* - - Effect: Allow + - Sid: RamDeleteResource + Effect: Allow Action: - 'ram:DeleteResourceShare' Resource: !Sub 'arn:aws:ram:*:${AWS::AccountId}:resource-share/*' @@ -399,7 +401,7 @@ Resources: - "ec2:DescribeAvailabilityZones" - "ram:EnableSharingWithAwsOrganization" Resource: '*' - - Sid: RamRead + - Sid: RamReadGlue Effect: Allow Action: - 'glue:PutResourcePolicy' @@ -503,6 +505,10 @@ Resources: - Sid: LakeFormation Effect: Allow Action: + - "lakeformation:RegisterResource" + - "lakeformation:DeregisterResource" + - "lakeformation:UpdateResource" + - "lakeformation:DescribeResource" - "lakeformation:AddLFTagsToResource" - "lakeformation:RemoveLFTagsFromResource" - "lakeformation:GetResourceLFTags" @@ -536,7 +542,6 @@ Resources: - 'lakeformation:GetTableObjects' - 'lakeformation:UpdateTableObjects' - 'lakeformation:DeleteObjectsOnCancel' - - 'lakeformation:DescribeResource' Resource: '*' - Sid: Compute Effect: Allow @@ -611,6 +616,7 @@ Resources: - !Sub "arn:aws:quicksight:*:${AWS::AccountId}:dashboard/*" - !Sub "arn:aws:quicksight:*:${AWS::AccountId}:namespace/default" - !Sub "arn:aws:quicksight:*:${AWS::AccountId}:account/*" + - !Sub "arn:aws:quicksight:*:${AWS::AccountId}:*" - Sid: QuickSightSession Effect: Allow Action: @@ -652,7 +658,6 @@ Resources: Action: - 'iam:Get*' - 'iam:ListRoles' - - 'iam:Get*' Effect: Allow Resource: '*' - Sid: IAMRolePolicy diff --git a/deploy/pivot_role/pivotRoleCDK/README.md b/deploy/pivot_role/pivotRoleCDK/README.md deleted file mode 100644 index 6778d1aae..000000000 --- a/deploy/pivot_role/pivotRoleCDK/README.md +++ /dev/null @@ -1,8 +0,0 @@ -# README - -This directory contains a CDK version of the pivotRole. -It is not used by data.all, but it might be useful if you are implementing -any automation around the creation of data.all pivotRole. - -This is just for reference, you still need to take the code and adapt it -to your specific CICD implementation. diff --git a/deploy/pivot_role/pivotRoleCDK/app.py b/deploy/pivot_role/pivotRoleCDK/app.py deleted file mode 100644 index 60e8d0bf6..000000000 --- a/deploy/pivot_role/pivotRoleCDK/app.py +++ /dev/null @@ -1,25 +0,0 @@ -#!/usr/bin/env python3 - -from aws_cdk import ( - App, -) - -from .dataall_base_infra import dataAllBaseInfra - -config = { - "NAME": "someenvironment", - "DATAALL_ACCOUNT": "AWSAccountId", - "EXTERNAL_ID": "externalId", - "RESOURCE_PREFIX": "resourcePrefix" -} - -app = App() - -# data.all base resources: pivot role and LakeFormation service role -dataall_infra = dataAllBaseInfra( - app, - f"BaseInfra-dataall-{config.NAME}", - config=config, -) - -app.synth() diff --git a/deploy/pivot_role/pivotRoleCDK/dataall_base_infra.py b/deploy/pivot_role/pivotRoleCDK/dataall_base_infra.py deleted file mode 100644 index 7690543cd..000000000 --- a/deploy/pivot_role/pivotRoleCDK/dataall_base_infra.py +++ /dev/null @@ -1,846 +0,0 @@ -from constructs import Construct -from aws_cdk import ( - Duration, - Stack, - aws_iam as iam -) - -class dataAllBaseInfra(Stack): - def __init__(self, scope: Construct, construct_id: str, config, **kwargs) -> None: - super().__init__(scope, construct_id, **kwargs) - # Data.All IAM PivotRole creation - self.create_dataall_role(name="dataallPivotRole", principal_id=config.DATAALL_ACCOUNT, external_id=config.EXTERNAL_ID, env_resource_prefix=config.RESOURCE_PREFIX) - - # Data.All IAM Lake Formation service role creation - self.lf_service_role = iam.CfnServiceLinkedRole(self, "LakeFormationSLR", - aws_service_name="lakeformation.amazonaws.com" - ) - - def create_dataall_role(self, name: str, principal_id: str, external_id: str, - env_resource_prefix: str) -> iam.Role: - """ - Creates an IAM Role that will enable data.all to interact with this Data Account - - :param str name: Role name - :param str principal_id: AWS Account ID of central data.all - :param str external_id: External ID provided by data.all - :param str env_resource_prefix: Environment Resource Prefix provided by data.all - :returns: Created IAM Role - :rtype: iam.Role - """ - - role = iam.Role(self, "DataAllPivotRole", - role_name=name, - assumed_by=iam.CompositePrincipal( - iam.ServicePrincipal("glue.amazonaws.com"), - iam.ServicePrincipal("lakeformation.amazonaws.com"), - iam.ServicePrincipal("lambda.amazonaws.com") - ), - path="/", - max_session_duration=Duration.hours(12), - managed_policies=[ - self._create_dataall_policy0(env_resource_prefix), - self._create_dataall_policy1(env_resource_prefix), - self._create_dataall_policy2(env_resource_prefix), - self._create_dataall_policy3(env_resource_prefix, name) - ] - ) - - role.assume_role_policy.add_statements(iam.PolicyStatement( - effect=iam.Effect.ALLOW, - principals=[ - iam.AccountPrincipal(account_id=principal_id) - ], - actions=["sts:AssumeRole"], - conditions={"StringEquals": {"sts:ExternalId": external_id}} - )) - - - return role - - def _create_dataall_policy0(self, env_resource_prefix: str) -> iam.ManagedPolicy: - """ - Creates the first managed IAM Policy required for the Pivot Role used by data.all - - :param str env_resource_prefix: Environment Resource Prefix provided by data.all - :returns: Created IAM Policy - :rtype: iam.ManagedPolicy - """ - return iam.ManagedPolicy(self, "PivotRolePolicy0", - managed_policy_name=f"{env_resource_prefix}-pivotrole-policy-0", - statements=[ - # Athena permissions - iam.PolicyStatement( - sid="Athena", effect=iam.Effect.ALLOW, resources=["*"], - actions=[ - "athena:GetQuery*", - "athena:StartQueryExecution", - "athena:ListWorkGroups" - ] - ), - # Athena Workgroups permissions - iam.PolicyStatement( - sid="AthenaWorkgroups", effect=iam.Effect.ALLOW, - actions=[ - "athena:GetWorkGroup", - "athena:CreateWorkGroup", - "athena:UpdateWorkGroup", - "athena:DeleteWorkGroup", - "athena:TagResource", - "athena:UntagResource", - "athena:ListTagsForResource" - ], - resources=[ - f"arn:aws:athena:*:{self.account}:workgroup/{env_resource_prefix}*"] - ), - # AWS Glue Crawler Bucket - iam.PolicyStatement( - sid="AwsGlueCrawlerBucket", effect=iam.Effect.ALLOW, - actions=["s3:GetObject"], - resources=["arn:aws:s3:::crawler-public*"] - ), - # S3 Access points - iam.PolicyStatement( - sid="ManagedAccessPoints", effect=iam.Effect.ALLOW, - actions=[ - "s3:GetAccessPoint", - "s3:GetAccessPointPolicy", - "s3:ListAccessPoints", - "s3:CreateAccessPoint", - "s3:DeleteAccessPoint", - "s3:GetAccessPointPolicyStatus", - "s3:DeleteAccessPointPolicy", - "s3:PutAccessPointPolicy" - ], - resources=[f"arn:aws:s3:*:{self.account}:accesspoint/*"] - ), - # S3 Managed Buckets - iam.PolicyStatement( - sid="ManagedBuckets", effect=iam.Effect.ALLOW, - actions=[ - "s3:List*", - "s3:Delete*", - "s3:Get*", - "s3:Put*" - ], - resources=[f"arn:aws:s3:::{env_resource_prefix}*"] - ), - # S3 Imported Buckets - iam.PolicyStatement( - sid="ImportedBuckets", effect=iam.Effect.ALLOW, - actions=[ - "s3:List*", - "s3:GetBucket*", - "s3:GetLifecycleConfiguration", - "s3:GetObject", - "s3:PutBucketPolicy", - "s3:PutBucketTagging", - "s3:PutObject", - "s3:PutObjectAcl", - "s3:PutBucketOwnershipControls" - ], - resources=["arn:aws:s3:::*"] - ), - # AWS Logging Buckets - iam.PolicyStatement( - sid="AWSLoggingBuckets", effect=iam.Effect.ALLOW, - actions=[ - "s3:PutBucketAcl", - "s3:PutBucketNotification" - ], - resources=[f"arn:aws:s3:::{env_resource_prefix}-logging-*"] - ), - # Read Buckets - iam.PolicyStatement( - sid="ReadBuckets", effect=iam.Effect.ALLOW, - actions=[ - "s3:ListAllMyBuckets", - "s3:GetBucketLocation", - "s3:PutBucketTagging" - ], - resources=["*"] - ), - # CloudWatch Metrics - iam.PolicyStatement( - sid="CWMetrics", effect=iam.Effect.ALLOW, - actions=[ - "cloudwatch:PutMetricData", - "cloudwatch:GetMetricData", - "cloudwatch:GetMetricStatistics" - ], - resources=["*"] - ), - # Logs - iam.PolicyStatement( - sid="Logs", effect=iam.Effect.ALLOW, - actions=[ - "logs:CreateLogGroup", - "logs:CreateLogStream", - "logs:PutLogEvents" - ], - resources=[ - f"arn:aws:logs:*:{self.account}:log-group:/aws-glue/*", - f"arn:aws:logs:*:{self.account}:log-group:/aws/lambda/*", - f"arn:aws:logs:*:{self.account}:log-group:/{env_resource_prefix}*", - ] - ), - # Logging - iam.PolicyStatement( - sid="Logging", effect=iam.Effect.ALLOW, - actions=["logs:PutLogEvents"], - resources=["*"] - ), - # EventBridge (CloudWatch Events) - iam.PolicyStatement( - sid="CWEvents", effect=iam.Effect.ALLOW, - actions=[ - "events:DeleteRule", - "events:List*", - "events:PutRule", - "events:PutTargets", - "events:RemoveTargets" - ], - resources=["*"] - ), - # Glue - iam.PolicyStatement( - sid="Glue", effect=iam.Effect.ALLOW, - actions=[ - "glue:BatchCreatePartition", - "glue:BatchDeletePartition", - "glue:BatchDeleteTable", - "glue:CreateCrawler", - "glue:CreateDatabase", - "glue:CreatePartition", - "glue:CreateTable", - "glue:DeleteCrawler", - "glue:DeleteDatabase", - "glue:DeleteJob", - "glue:DeletePartition", - "glue:DeleteTable", - "glue:DeleteTrigger", - "glue:BatchGet*", - "glue:Get*", - "glue:List*", - "glue:StartCrawler", - "glue:StartJobRun", - "glue:StartTrigger", - "glue:SearchTables", - "glue:UpdateDatabase", - "glue:UpdatePartition", - "glue:UpdateTable", - "glue:UpdateTrigger", - "glue:UpdateJob", - "glue:TagResource", - "glue:UpdateCrawler" - ], - resources=["*"] - ), - # KMS - iam.PolicyStatement( - sid="KMS", effect=iam.Effect.ALLOW, - actions=[ - "kms:Decrypt", - "kms:Encrypt", - "kms:GenerateDataKey*", - "kms:PutKeyPolicy", - "kms:ReEncrypt*", - "kms:TagResource", - "kms:UntagResource" - ], - resources=["*"] - ), - iam.PolicyStatement( - sid="KMSAlias", effect=iam.Effect.ALLOW, - actions=["kms:DeleteAlias"], - resources=[f"arn:aws:kms:*:{self.account}:alias/{env_resource_prefix}*"] - ), - iam.PolicyStatement( - sid="KMSCreate", effect=iam.Effect.ALLOW, - actions=[ - "kms:List*", - "kms:DescribeKey", - "kms:CreateAlias", - "kms:CreateKey" - ], - resources=["*"] - ), - # AWS Organizations - iam.PolicyStatement( - sid="Organizations", effect=iam.Effect.ALLOW, - actions=["organizations:DescribeOrganization"], - resources=["*"] - ), - # Resource Tags - iam.PolicyStatement( - sid="ResourceGroupTags", effect=iam.Effect.ALLOW, - actions=[ - "tag:*", - "resource-groups:*" - ], - resources=["*"] - ), - # SNS - iam.PolicyStatement( - sid="SNSPublish", effect=iam.Effect.ALLOW, - actions=[ - "sns:Publish", - "sns:SetTopicAttributes", - "sns:GetTopicAttributes", - "sns:DeleteTopic", - "sns:Subscribe", - "sns:TagResource", - "sns:UntagResource", - "sns:CreateTopic" - ], - resources=[f"arn:aws:sns:*:{self.account}:{env_resource_prefix}*"] - ), - iam.PolicyStatement( - sid="SNSList", effect=iam.Effect.ALLOW, - actions=["sns:ListTopics"], - resources=["*"] - ), - # SQS - iam.PolicyStatement( - sid="SQSList", effect=iam.Effect.ALLOW, - actions=["sqs:ListQueues"], - resources=["*"] - ), - iam.PolicyStatement( - sid="SQS", effect=iam.Effect.ALLOW, - actions=[ - "sqs:ReceiveMessage", - "sqs:SendMessage" - ], - resources=[f"arn:aws:sqs:*:{self.account}:{env_resource_prefix}*"] - ) - ] - ) - - def _create_dataall_policy1(self, env_resource_prefix: str) -> iam.ManagedPolicy: - """ - Creates the second managed IAM Policy required for the Pivot Role used by data.all - - :param str env_resource_prefix: Environment Resource Prefix provided by data.all - :returns: Created IAM Policy - :rtype: iam.ManagedPolicy - """ - return iam.ManagedPolicy(self, "PivotRolePolicy1", - managed_policy_name=f"{env_resource_prefix}-pivotrole-policy-1", - statements=[ - # Redshift - iam.PolicyStatement( - sid="Redshift", effect=iam.Effect.ALLOW, - actions=[ - "redshift:DeleteTags", - "redshift:ModifyClusterIamRoles", - "redshift:DescribeClusterSecurityGroups", - "redshift:DescribeClusterSubnetGroups", - "redshift:pauseCluster", - "redshift:resumeCluster" - ], - resources=["*"], - conditions={"StringEquals": {"aws:ResourceTag/dataall": "true"}} - ), - iam.PolicyStatement( - sid="RedshiftRead", effect=iam.Effect.ALLOW, - actions=[ - "redshift:DescribeClusters", - "redshift:CreateTags", - "redshift:DescribeClusterSubnetGroups" - ], - resources=["*"] - ), - iam.PolicyStatement( - sid="RedshiftCreds", effect=iam.Effect.ALLOW, - actions=["redshift:GetClusterCredentials"], - resources=[ - f"arn:aws:redshift:*:{self.account}:dbgroup:*/*", - f"arn:aws:redshift:*:{self.account}:dbname:*/*", - f"arn:aws:redshift:*:{self.account}:dbuser:*/*" - ] - ), - iam.PolicyStatement( - sid="AllowRedshiftSubnet", effect=iam.Effect.ALLOW, - actions=["redshift:CreateClusterSubnetGroup"], - resources=["*"] - ), - iam.PolicyStatement( - sid="AllowRedshiftDataApi", effect=iam.Effect.ALLOW, - actions=[ - "redshift-data:ListTables", - "redshift-data:GetStatementResult", - "redshift-data:CancelStatement", - "redshift-data:ListSchemas", - "redshift-data:ExecuteStatement", - "redshift-data:ListStatements", - "redshift-data:ListDatabases", - "redshift-data:DescribeStatement" - ], - resources=["*"] - ), - # EC2 - iam.PolicyStatement( - sid="EC2SG", effect=iam.Effect.ALLOW, - actions=[ - "ec2:CreateSecurityGroup", - "ec2:CreateNetworkInterface", - "ec2:Describe*" - ], - resources=["*"] - ), - iam.PolicyStatement( - sid="TagsforENI", effect=iam.Effect.ALLOW, - actions=[ - "ec2:CreateTags", - "ec2:DeleteTags" - ], - resources=[f"arn:aws:ec2:*:{self.account}:network-interface/*"] - ), - iam.PolicyStatement( - sid="DeleteENI", effect=iam.Effect.ALLOW, - actions=["ec2:DeleteNetworkInterface"], - resources=["*"], - conditions={"StringEquals": {"aws:ResourceTag/dataall": "True"}} - ), - # SageMaker - iam.PolicyStatement( - sid="SageMakerNotebookActions", effect=iam.Effect.ALLOW, - actions=[ - "sagemaker:ListTags", - "sagemaker:DescribeUserProfile", - "sagemaker:DeleteNotebookInstance", - "sagemaker:StopNotebookInstance", - "sagemaker:CreatePresignedNotebookInstanceUrl", - "sagemaker:DescribeNotebookInstance", - "sagemaker:StartNotebookInstance", - "sagemaker:AddTags", - "sagemaker:DescribeDomain", - "sagemaker:CreatePresignedDomainUrl" - ], - resources=[ - f"arn:aws:sagemaker:*:{self.account}:notebook-instance/{env_resource_prefix}*", - f"arn:aws:sagemaker:*:{self.account}:domain/*", - f"arn:aws:sagemaker:*:{self.account}:user-profile/*/*" - ] - ), - iam.PolicyStatement( - sid="SageMakerNotebookInstances", effect=iam.Effect.ALLOW, - actions=[ - "sagemaker:ListNotebookInstances", - "sagemaker:ListDomains", - "sagemaker:ListApps", - "sagemaker:DeleteApp" - ], - resources=["*"] - ), - # RAM - iam.PolicyStatement( - sid="RamTag", effect=iam.Effect.ALLOW, - actions=["ram:TagResource"], - resources=["*"], - conditions={"ForAllValues:StringLike": { - "ram:ResourceShareName": ["LakeFormation*"]}} - ), - iam.PolicyStatement( - sid="RamCreateResource", effect=iam.Effect.ALLOW, - actions=["ram:CreateResourceShare"], - resources=["*"], - conditions={"ForAllValues:StringEquals": {"ram:RequestedResourceType": [ - "glue:Table", - "glue:Database", - "glue:Catalog" - ]}} - ), - iam.PolicyStatement( - sid="RamUpdateResource", effect=iam.Effect.ALLOW, - actions=["ram:UpdateResourceShare"], - resources=[f"arn:aws:ram:*:{self.account}:resource-share/*"], - conditions={ - "StringEquals": {"aws:ResourceTag/dataall": "true"}, - "ForAllValues:StringLike": { - "ram:ResourceShareName": ["LakeFormation*"]} - } - ), - iam.PolicyStatement( - sid="RamAssociateResource", effect=iam.Effect.ALLOW, - actions=[ - "ram:AssociateResourceShare", - "ram:DisassociateResourceShare" - ], - resources=[f"arn:aws:ram:*:{self.account}:resource-share/*"], - conditions={"ForAllValues:StringLike": { - "ram:ResourceShareName": ["LakeFormation*"]} - } - ), - iam.PolicyStatement( - sid="RamDeleteResource", effect=iam.Effect.ALLOW, - actions=["ram:DeleteResourceShare"], - resources=[f"arn:aws:ram:*:{self.account}:resource-share/*"] - ), - iam.PolicyStatement( - sid="RamInvitations", effect=iam.Effect.ALLOW, - actions=[ - "ram:AcceptResourceShareInvitation", - "ram:RejectResourceShareInvitation", - "ec2:DescribeAvailabilityZones", - "ram:EnableSharingWithAwsOrganization" - ], - resources=["*"] - ), - iam.PolicyStatement( - sid="RamRead", effect=iam.Effect.ALLOW, - actions=[ - "glue:PutResourcePolicy", - "glue:DeleteResourcePolicy", - "ram:Get*", - "ram:List*" - ], - resources=["*"] - ), - # Security Groups - iam.PolicyStatement( - sid="SGCreateTag", effect=iam.Effect.ALLOW, - actions=["ec2:CreateTags"], - resources=[f"arn:aws:ec2:*:{self.account}:security-group/*"], - conditions={"StringEquals": {"aws:RequestTag/dataall": "true"}} - ), - iam.PolicyStatement( - sid="SGandRedshift", effect=iam.Effect.ALLOW, - actions=[ - "ec2:DeleteTags", - "ec2:DeleteSecurityGroup", - "redshift:DeleteClusterSubnetGroup" - ], - resources=["*"], - conditions={"ForAnyValue:StringEqualsIfExists": { - "aws:ResourceTag/dataall": "true"}} - ), - # Redshift - iam.PolicyStatement( - sid="RedshiftDataApi", effect=iam.Effect.ALLOW, - actions=[ - "redshift-data:ListTables", - "redshift-data:GetStatementResult", - "redshift-data:CancelStatement", - "redshift-data:ListSchemas", - "redshift-data:ExecuteStatement", - "redshift-data:ListStatements", - "redshift-data:ListDatabases", - "redshift-data:DescribeStatement" - ], - resources=["*"], - conditions={"StringEqualsIfExists": {"aws:ResourceTag/dataall": "true"}} - ), - # Dev Tools - iam.PolicyStatement( - sid="DevTools0", effect=iam.Effect.ALLOW, - actions=["cloudformation:ValidateTemplate"], - resources=["*"] - ), - iam.PolicyStatement( - sid="DevTools1", effect=iam.Effect.ALLOW, - actions=[ - "secretsmanager:CreateSecret", - "secretsmanager:DeleteSecret", - "secretsmanager:TagResource", - "codebuild:DeleteProject" - ], - resources=["*"], - conditions={"StringEquals": {"aws:ResourceTag/dataall": "true"}} - ), - iam.PolicyStatement( - sid="DevTools2", effect=iam.Effect.ALLOW, - actions=[ - "codebuild:CreateProject", - "ecr:CreateRepository", - "ssm:PutParameter", - "ssm:AddTagsToResource" - ], - resources=["*"], - conditions={"StringEquals": {"aws:RequestTag/dataall": "true"}} - ), - iam.PolicyStatement( - sid="CloudFormation", effect=iam.Effect.ALLOW, - actions=[ - "cloudformation:DescribeStacks", - "cloudformation:DescribeStackResources", - "cloudformation:DescribeStackEvents", - "cloudformation:DeleteStack", - "cloudformation:CreateStack", - "cloudformation:GetTemplate", - "cloudformation:ListStackResources", - "cloudformation:DescribeStackResource" - ], - resources=[ - f"arn:aws:cloudformation:*:{self.account}:stack/{env_resource_prefix}*/*", - f"arn:aws:cloudformation:*:{self.account}:stack/CDKToolkit/*", - f"arn:aws:cloudformation:*:{self.account}:stack/*/*" - ] - ) - ] - ) - - def _create_dataall_policy2(self, env_resource_prefix: str) -> iam.ManagedPolicy: - """ - Creates the third managed IAM Policy required for the Pivot Role used by data.all - - :param str env_resource_prefix: Environment Resource Prefix provided by data.all - :returns: Created IAM Policy - :rtype: iam.ManagedPolicy - """ - return iam.ManagedPolicy(self, "PivotRolePolicy2", - managed_policy_name=f"{env_resource_prefix}-pivotrole-policy-2", - statements=[ - # LakeFormation - iam.PolicyStatement( - sid="LakeFormation", effect=iam.Effect.ALLOW, - actions=[ - "lakeformation:AddLFTagsToResource", - "lakeformation:RemoveLFTagsFromResource", - "lakeformation:GetResourceLFTags", - "lakeformation:ListLFTags", - "lakeformation:CreateLFTag", - "lakeformation:GetLFTag", - "lakeformation:UpdateLFTag", - "lakeformation:DeleteLFTag", - "lakeformation:SearchTablesByLFTags", - "lakeformation:SearchDatabasesByLFTags", - "lakeformation:ListResources", - "lakeformation:ListPermissions", - "lakeformation:GrantPermissions", - "lakeformation:BatchGrantPermissions", - "lakeformation:RevokePermissions", - "lakeformation:BatchRevokePermissions", - "lakeformation:PutDataLakeSettings", - "lakeformation:GetDataLakeSettings", - "lakeformation:GetDataAccess", - "lakeformation:GetWorkUnits", - "lakeformation:StartQueryPlanning", - "lakeformation:GetWorkUnitResults", - "lakeformation:GetQueryState", - "lakeformation:GetQueryStatistics", - "lakeformation:StartTransaction", - "lakeformation:CommitTransaction", - "lakeformation:CancelTransaction", - "lakeformation:ExtendTransaction", - "lakeformation:DescribeTransaction", - "lakeformation:ListTransactions", - "lakeformation:GetTableObjects", - "lakeformation:UpdateTableObjects", - "lakeformation:DeleteObjectsOnCancel", - "lakeformation:DescribeResource" - ], - resources=["*"] - ), - # Compute - iam.PolicyStatement( - sid="Compute", effect=iam.Effect.ALLOW, - actions=[ - "lambda:CreateFunction", - "lambda:AddPermission", - "lambda:InvokeFunction", - "lambda:RemovePermission", - "lambda:GetFunction", - "lambda:GetFunctionConfiguration", - "lambda:DeleteFunction", - "ecr:CreateRepository", - "ecr:SetRepositoryPolicy", - "ecr:DeleteRepository", - "ecr:DescribeImages", - "ecr:BatchDeleteImage", - "codepipeline:GetPipelineState", - "codepipeline:DeletePipeline", - "codepipeline:GetPipeline", - "codepipeline:CreatePipeline", - "codepipeline:TagResource", - "codepipeline:UntagResource" - ], - resources=[ - f"arn:aws:lambda:*:{self.account}:function:{env_resource_prefix}*", - f"arn:aws:s3:::{env_resource_prefix}*", - f"arn:aws:codepipeline:*:{self.account}:{env_resource_prefix}*", - f"arn:aws:ecr:*:{self.account}:repository/{env_resource_prefix}*" - ] - ), - # Databrew - iam.PolicyStatement( - sid="DatabrewList", effect=iam.Effect.ALLOW, - actions=["databrew:List*"], - resources=["*"] - ), - iam.PolicyStatement( - sid="DatabrewPermissions", effect=iam.Effect.ALLOW, - actions=[ - "databrew:BatchDeleteRecipeVersion", - "databrew:Delete*", - "databrew:Describe*", - "databrew:PublishRecipe", - "databrew:SendProjectSessionAction", - "databrew:Start*", - "databrew:Stop*", - "databrew:TagResource", - "databrew:UntagResource", - "databrew:Update*" - ], - resources=[f"arn:aws:databrew:*:{self.account}:*/{env_resource_prefix}*"] - ), - # QuickSight - iam.PolicyStatement( - sid="QuickSight", effect=iam.Effect.ALLOW, - actions=[ - "quicksight:CreateGroup", - "quicksight:DescribeGroup", - "quicksight:ListDashboards", - "quicksight:DescribeDataSource", - "quicksight:DescribeDashboard", - "quicksight:DescribeUser", - "quicksight:SearchDashboards", - "quicksight:GetDashboardEmbedUrl", - "quicksight:GenerateEmbedUrlForAnonymousUser", - "quicksight:UpdateUser", - "quicksight:ListUserGroups", - "quicksight:RegisterUser", - "quicksight:DescribeDashboardPermissions", - "quicksight:UpdateDashboardPermissions", - "quicksight:GetAuthCode", - "quicksight:CreateGroupMembership", - "quicksight:DescribeAccountSubscription" - ], - resources=[ - f"arn:aws:quicksight:*:{self.account}:group/default/*", - f"arn:aws:quicksight:*:{self.account}:user/default/*", - f"arn:aws:quicksight:*:{self.account}:datasource/*", - f"arn:aws:quicksight:*:{self.account}:user/*", - f"arn:aws:quicksight:*:{self.account}:dashboard/*", - f"arn:aws:quicksight:*:{self.account}:namespace/default", - f"arn:aws:quicksight:*:{self.account}:account/*" - ] - ), - iam.PolicyStatement( - sid="QuickSightSession", effect=iam.Effect.ALLOW, - actions=["quicksight:GetSessionEmbedUrl"], - resources=["*"] - ) - ] - ) - - def _create_dataall_policy3(self, env_resource_prefix: str, role_name: str) -> iam.ManagedPolicy: - """ - Creates the fourth managed IAM Policy required for the Pivot Role used by data.all - - :param str env_resource_prefix: Environment Resource Prefix provided by data.all - :param str role_name: IAM Role name - :returns: Created IAM Policy - :rtype: iam.ManagedPolicy - """ - return iam.ManagedPolicy(self, "PivotRolePolicy3", - managed_policy_name=f"{env_resource_prefix}-pivotrole-policy-3", - statements=[ - # SSM Parameter Store - iam.PolicyStatement( - sid="ParameterStore", effect=iam.Effect.ALLOW, - actions=[ - "ssm:GetParameter" - ], - resources=[ - f"arn:aws:ssm:*:{self.account}:parameter/{env_resource_prefix}/*", - f"arn:aws:ssm:*:{self.account}:parameter/dataall/*", - f"arn:aws:ssm:*:{self.account}:parameter/ddk/*" - ] - ), - # Secrets Manager - iam.PolicyStatement( - sid="SecretsManager", effect=iam.Effect.ALLOW, - actions=[ - "secretsmanager:DescribeSecret", - "secretsmanager:GetSecretValue" - ], - resources=[ - f"arn:aws:secretsmanager:*:{self.account}:secret:{env_resource_prefix}*", - f"arn:aws:secretsmanager:*:{self.account}:secret:dataall*" - ] - ), - iam.PolicyStatement( - sid="SecretsManagerList", effect=iam.Effect.ALLOW, - actions=["secretsmanager:ListSecrets"], - resources=["*"] - ), - # IAM - iam.PolicyStatement( - sid="IAMListGet", effect=iam.Effect.ALLOW, - actions=[ - "iam:ListRoles", - "iam:Get*" - ], - resources=["*"] - ), - iam.PolicyStatement( - sid="IAMRolePolicy", effect=iam.Effect.ALLOW, - actions=[ - "iam:PutRolePolicy", - "iam:DeleteRolePolicy" - ], - resources=["*"] - ), - iam.PolicyStatement( - sid="IAMPassRole", effect=iam.Effect.ALLOW, - actions=[ - "iam:PassRole" - ], - resources=[ - f"arn:aws:iam::{self.account}:role/{env_resource_prefix}*", - f"arn:aws:iam::{self.account}:role/{role_name}", - f"arn:aws:iam::{self.account}:role/cdk-*" - ], - ), - # STS - iam.PolicyStatement( - sid="STS", effect=iam.Effect.ALLOW, - actions=["sts:AssumeRole"], - resources=[ - f"arn:aws:iam::{self.account}:role/{env_resource_prefix}*", - f"arn:aws:iam::{self.account}:role/ddk-*" - ] - ), - # Step Functions - iam.PolicyStatement( - sid="StepFunctions", effect=iam.Effect.ALLOW, - actions=[ - "states:DescribeStateMachine", - "states:ListExecutions", - "states:StartExecution" - ], - resources=[ - f"arn:aws:states:*:{self.account}:stateMachine:{env_resource_prefix}*"] - ), - # CodeCommit - iam.PolicyStatement( - sid="CodeCommit", effect=iam.Effect.ALLOW, - actions=[ - "codecommit:GetFile", - "codecommit:ListBranches", - "codecommit:GetFolder", - "codecommit:GetCommit", - "codecommit:GitPull", - "codecommit:GetRepository", - 'codecommit:TagResource', - "codecommit:UntagResource", - "codecommit:CreateBranch", - "codecommit:CreateCommit", - "codecommit:CreateRepository", - "codecommit:DeleteRepository", - "codecommit:GitPush", - "codecommit:PutFile", - "codecommit:GetBranch", - ], - resources=[f"arn:aws:codecommit:*:{self.account}:{env_resource_prefix}*"] - ) - ] - ) - - - - - - diff --git a/deploy/requirements.txt b/deploy/requirements.txt index 7cd815a9d..5ea72abd5 100644 --- a/deploy/requirements.txt +++ b/deploy/requirements.txt @@ -1,6 +1,6 @@ -aws-cdk-lib==2.14.0 +aws-cdk-lib==2.61.1 boto3-stubs==1.20.20 boto3==1.24.85 botocore==1.27.85 cdk-nag==2.7.2 -constructs==10.0.73 +constructs>=10.0.0,<11.0.0 diff --git a/deploy/stacks/backend_stack.py b/deploy/stacks/backend_stack.py index 6e49f0e27..78b920482 100644 --- a/deploy/stacks/backend_stack.py +++ b/deploy/stacks/backend_stack.py @@ -14,6 +14,7 @@ from .lambda_api import LambdaApiStack from .monitoring import MonitoringStack from .opensearch import OpenSearchStack +from .opensearch_serverless import OpenSearchServerlessStack from .param_store_stack import ParamStoreStack from .s3_resources import S3ResourcesStack from .secrets_stack import SecretsManagerStack @@ -43,11 +44,17 @@ def __init__( enable_cw_canaries=False, enable_cw_rum=False, shared_dashboard_sessions='anonymous', + enable_pivot_role_auto_create=False, + enable_opensearch_serverless=False, **kwargs, ): super().__init__(scope, id, **kwargs) - vpc_stack = VpcStack( + self.resource_prefix = resource_prefix + self.envname = envname + self.prod_sizing = prod_sizing + + self.vpc_stack = VpcStack( self, id='Vpc', envname=envname, @@ -56,8 +63,10 @@ def __init__( vpc_id=vpc_id, **kwargs, ) - vpc = vpc_stack.vpc - vpc_endpoints_sg = vpc_stack.vpce_security_group + vpc = self.vpc_stack.vpc + vpc_endpoints_sg = self.vpc_stack.vpce_security_group + + self.pivot_role_name = f"dataallPivotRole{'-cdk' if enable_pivot_role_auto_create else ''}" ParamStoreStack( self, @@ -68,6 +77,7 @@ def __init__( enable_cw_canaries=enable_cw_canaries, quicksight_enabled=quicksight_enabled, shared_dashboard_sessions=shared_dashboard_sessions, + enable_pivot_role_auto_create=enable_pivot_role_auto_create, **kwargs, ) @@ -77,6 +87,7 @@ def __init__( envname=envname, resource_prefix=resource_prefix, enable_cw_canaries=enable_cw_canaries, + pivot_role_name=self.pivot_role_name, **kwargs, ) @@ -112,7 +123,7 @@ def __init__( self, 'ECRREPO', repository_arn=ecr_repository ) - lambda_api_stack = LambdaApiStack( + self.lambda_api_stack = LambdaApiStack( self, f'Lambdas', envname=envname, @@ -126,10 +137,11 @@ def __init__( apig_vpce=apig_vpce, prod_sizing=prod_sizing, user_pool=cognito_stack.user_pool, + pivot_role_name=self.pivot_role_name, **kwargs, ) - ecs_stack = ContainerStack( + self.ecs_stack = ContainerStack( self, f'ECS', envname=envname, @@ -139,6 +151,8 @@ def __init__( ecr_repository=repo, image_tag=image_tag, prod_sizing=prod_sizing, + pivot_role_name=self.pivot_role_name, + tooling_account_id=tooling_account_id, **kwargs, ) @@ -241,51 +255,54 @@ def __init__( resource_prefix=resource_prefix, vpc=vpc, lambdas=[ - lambda_api_stack.aws_handler, - lambda_api_stack.api_handler, + self.lambda_api_stack.aws_handler, + self.lambda_api_stack.api_handler, ], - ecs_security_groups=ecs_stack.ecs_security_groups, + ecs_security_groups=self.ecs_stack.ecs_security_groups, codebuild_dbmigration_sg=dbmigration_stack.codebuild_sg, prod_sizing=prod_sizing, quicksight_monitoring_sg=quicksight_monitoring_sg, **kwargs, ) - opensearch_stack = OpenSearchStack( - self, - f'OpenSearch', - envname=envname, - resource_prefix=resource_prefix, - vpc=vpc, - lambdas=[ - lambda_api_stack.aws_handler, - lambda_api_stack.api_handler, - lambda_api_stack.elasticsearch_proxy_handler, - ], - ecs_security_groups=ecs_stack.ecs_security_groups, - prod_sizing=prod_sizing, - **kwargs, - ) - - monitoring_stack = MonitoringStack( + self.monitoring_stack = MonitoringStack( self, f'CWDashboards', envname=envname, resource_prefix=resource_prefix, lambdas=[ - lambda_api_stack.aws_handler, - lambda_api_stack.api_handler, - lambda_api_stack.elasticsearch_proxy_handler, + self.lambda_api_stack.aws_handler, + self.lambda_api_stack.api_handler, + self.lambda_api_stack.elasticsearch_proxy_handler, ], database=aurora_stack.cluster.cluster_identifier, - ecs_cluster=ecs_stack.ecs_cluster, - ecs_task_definitions=ecs_stack.ecs_task_definitions, - backend_api=lambda_api_stack.backend_api_name, - opensearch_domain=opensearch_stack.domain.domain_name, + ecs_cluster=self.ecs_stack.ecs_cluster, + ecs_task_definitions=self.ecs_stack.ecs_task_definitions, + backend_api=self.lambda_api_stack.backend_api_name, queue_name=sqs_stack.queue.queue_name, **kwargs, ) + self.opensearch_args = { + "envname": envname, + "resource_prefix": resource_prefix, + "vpc": vpc, + "vpc_endpoints_sg": vpc_endpoints_sg, + "lambdas": [ + self.lambda_api_stack.aws_handler, + self.lambda_api_stack.api_handler, + self.lambda_api_stack.elasticsearch_proxy_handler, + ], + "ecs_security_groups": self.ecs_stack.ecs_security_groups, + "ecs_task_role": self.ecs_stack.ecs_task_role, + "prod_sizing": prod_sizing, + **kwargs, + } + if enable_opensearch_serverless: + self.create_opensearch_serverless_stack() + else: + self.create_opensearch_stack() + if enable_cw_rum: CloudWatchRumStack( self, @@ -293,12 +310,10 @@ def __init__( envname=envname, resource_prefix=resource_prefix, tooling_account_id=tooling_account_id, - cw_alarm_action=monitoring_stack.cw_alarm_action, + cw_alarm_action=self.monitoring_stack.cw_alarm_action, cognito_identity_pool_id=cognito_stack.identity_pool.ref, cognito_identity_pool_role_arn=cognito_stack.identity_pool_role.role_arn, - custom_domain_name=custom_domain.get('hosted_zone_name') - if custom_domain - else None, + custom_domain_name=custom_domain.get('hosted_zone_name') if custom_domain else None, ) if enable_cw_canaries: @@ -309,6 +324,21 @@ def __init__( resource_prefix=resource_prefix, vpc=vpc, logs_bucket=s3_resources_stack.logs_bucket, - cw_alarm_action=monitoring_stack.cw_alarm_action, + cw_alarm_action=self.monitoring_stack.cw_alarm_action, internet_facing=internet_facing, ) + + def create_opensearch_stack(self): + os_stack = OpenSearchStack(self, 'OpenSearch', **self.opensearch_args) + self.monitoring_stack.set_es_alarms( + alarm_name=f'{self.resource_prefix}-{self.envname}-opensearch-alarm', + domain_name=os_stack.domain_name, + ) + + def create_opensearch_serverless_stack(self): + aoss_stack = OpenSearchServerlessStack(self, 'OpenSearchServerless', **self.opensearch_args) + self.monitoring_stack.set_aoss_alarms( + alarm_name=f'{self.resource_prefix}-{self.envname}-opensearch-serverless-alarm', + collection_id=aoss_stack.collection_id, + collection_name=aoss_stack.collection_name, + ) diff --git a/deploy/stacks/backend_stage.py b/deploy/stacks/backend_stage.py index 72ef3da37..86a21ba86 100644 --- a/deploy/stacks/backend_stage.py +++ b/deploy/stacks/backend_stage.py @@ -27,6 +27,8 @@ def __init__( enable_cw_canaries=False, enable_cw_rum=False, shared_dashboard_sessions='anonymous', + enable_opensearch_serverless=False, + enable_pivot_role_auto_create=False, **kwargs, ): super().__init__(scope, id, **kwargs) @@ -51,6 +53,8 @@ def __init__( enable_cw_canaries=enable_cw_canaries, enable_cw_rum=enable_cw_rum, shared_dashboard_sessions=shared_dashboard_sessions, + enable_opensearch_serverless=enable_opensearch_serverless, + enable_pivot_role_auto_create=enable_pivot_role_auto_create, **kwargs, ) @@ -61,9 +65,7 @@ def __init__( NagSuppressions.add_stack_suppressions( backend_stack, suppressions=[ - NagPackSuppression( - id=rule_suppressed['id'], reason=rule_suppressed['reason'] - ) + NagPackSuppression(id=rule_suppressed['id'], reason=rule_suppressed['reason']) for rule_suppressed in BACKEND_STACK_CDK_NAG_EXCLUSIONS ], apply_to_nested_stacks=True, diff --git a/deploy/stacks/container.py b/deploy/stacks/container.py index dfc667c25..a667c6898 100644 --- a/deploy/stacks/container.py +++ b/deploy/stacks/container.py @@ -25,6 +25,8 @@ def __init__( ecr_repository=None, image_tag=None, prod_sizing=False, + pivot_role_name=None, + tooling_account_id=None, **kwargs, ): super().__init__(scope, id, **kwargs) @@ -44,15 +46,16 @@ def __init__( container_insights=True, ) - task_role = self.create_task_role(envname, resource_prefix) + self.task_role = self.create_task_role(envname, resource_prefix, pivot_role_name) + self.cicd_stacks_updater_role = self.create_cicd_stacks_updater_role(envname, resource_prefix, tooling_account_id) cdkproxy_task_definition = ecs.FargateTaskDefinition( self, f'{resource_prefix}-{envname}-cdkproxy', cpu=1024, memory_limit_mib=2048, - task_role=task_role, - execution_role=task_role, + task_role=self.task_role, + execution_role=self.task_role, family=f'{resource_prefix}-{envname}-cdkproxy', ) @@ -94,7 +97,7 @@ def __init__( envname, resource_prefix, vpc, vpc_endpoints_sg ) - sync_tables_task = self.set_scheduled_task( + sync_tables_task, sync_tables_task_def = self.set_scheduled_task( cluster=cluster, command=['python3.8', '-m', 'dataall.tasks.tables_syncer'], container_id=f'container', @@ -111,14 +114,14 @@ def __init__( schedule_expression=Schedule.expression('rate(15 minutes)'), scheduled_task_id=f'{resource_prefix}-{envname}-tables-syncer-schedule', task_id=f'{resource_prefix}-{envname}-tables-syncer', - task_role=task_role, + task_role=self.task_role, vpc=vpc, security_group=scheduled_tasks_sg, prod_sizing=prod_sizing, ) self.ecs_security_groups.extend(sync_tables_task.task.security_groups) - catalog_indexer_task = self.set_scheduled_task( + catalog_indexer_task, catalog_indexer_task_def = self.set_scheduled_task( cluster=cluster, command=['python3.8', '-m', 'dataall.tasks.catalog_indexer'], container_id=f'container', @@ -135,14 +138,14 @@ def __init__( schedule_expression=Schedule.expression('rate(6 hours)'), scheduled_task_id=f'{resource_prefix}-{envname}-catalog-indexer-schedule', task_id=f'{resource_prefix}-{envname}-catalog-indexer', - task_role=task_role, + task_role=self.task_role, vpc=vpc, security_group=scheduled_tasks_sg, prod_sizing=prod_sizing, ) self.ecs_security_groups.extend(catalog_indexer_task.task.security_groups) - stacks_updater = self.set_scheduled_task( + stacks_updater, stacks_updater_task_def = self.set_scheduled_task( cluster=cluster, command=['python3.8', '-m', 'dataall.tasks.stacks_updater'], container_id=f'container', @@ -159,14 +162,21 @@ def __init__( schedule_expression=Schedule.expression('cron(0 1 * * ? *)'), scheduled_task_id=f'{resource_prefix}-{envname}-stacks-updater-schedule', task_id=f'{resource_prefix}-{envname}-stacks-updater', - task_role=task_role, + task_role=self.task_role, vpc=vpc, security_group=scheduled_tasks_sg, prod_sizing=prod_sizing, ) self.ecs_security_groups.extend(stacks_updater.task.security_groups) - update_bucket_policies_task = self.set_scheduled_task( + ssm.StringParameter( + self, + f'StacksUpdaterTaskDefParam{envname}', + parameter_name=f'/dataall/{envname}/ecs/task_def_arn/stacks_updater', + string_value=stacks_updater_task_def.task_definition_arn, + ) + + update_bucket_policies_task, update_bucket_task_def = self.set_scheduled_task( cluster=cluster, command=['python3.8', '-m', 'dataall.tasks.bucket_policy_updater'], container_id=f'container', @@ -183,7 +193,7 @@ def __init__( schedule_expression=Schedule.expression('rate(15 minutes)'), scheduled_task_id=f'{resource_prefix}-{envname}-policies-updater-schedule', task_id=f'{resource_prefix}-{envname}-policies-updater', - task_role=task_role, + task_role=self.task_role, vpc=vpc, security_group=scheduled_tasks_sg, prod_sizing=prod_sizing, @@ -192,7 +202,7 @@ def __init__( update_bucket_policies_task.task.security_groups ) - subscriptions_task = self.set_scheduled_task( + subscriptions_task, subscription_task_def = self.set_scheduled_task( cluster=cluster, command=[ 'python3.8', @@ -213,7 +223,7 @@ def __init__( schedule_expression=Schedule.expression('rate(15 minutes)'), scheduled_task_id=f'{resource_prefix}-{envname}-subscriptions-schedule', task_id=f'{resource_prefix}-{envname}-subscriptions', - task_role=task_role, + task_role=self.task_role, vpc=vpc, security_group=scheduled_tasks_sg, prod_sizing=prod_sizing, @@ -225,8 +235,8 @@ def __init__( f'{resource_prefix}-{envname}-share-manager', cpu=1024, memory_limit_mib=2048, - task_role=task_role, - execution_role=task_role, + task_role=self.task_role, + execution_role=self.task_role, family=f'{resource_prefix}-{envname}-share-manager', ) @@ -286,9 +296,7 @@ def __init__( self, f'SecurityGroup{envname}', parameter_name=f'/dataall/{envname}/ecs/security_groups', - string_value=','.join( - [s.security_group_id for s in sync_tables_task.task.security_groups] - ), + string_value=','.join([s.security_group_id for s in sync_tables_task.task.security_groups]), ) self.ecs_cluster = cluster @@ -301,7 +309,44 @@ def __init__( subscriptions_task.task_definition, ] - def create_task_role(self, envname, resource_prefix): + def create_cicd_stacks_updater_role(self, envname, resource_prefix, tooling_account_id): + cicd_stacks_updater_role = iam.Role( + self, + id=f"StackUpdaterCBRole{envname}", + role_name=f"{resource_prefix}-{envname}-cb-stackupdater-role", + assumed_by=iam.CompositePrincipal( + iam.ServicePrincipal("codebuild.amazonaws.com"), + iam.AccountPrincipal(tooling_account_id), + ), + ) + cicd_stacks_updater_role.add_to_policy( + iam.PolicyStatement( + actions=[ + "secretsmanager:GetSecretValue", + "kms:Decrypt", + "secretsmanager:DescribeSecret", + "kms:Encrypt", + "kms:GenerateDataKey", + "ssm:GetParametersByPath", + "ssm:GetParameters", + "ssm:GetParameter", + "iam:PassRole", + "ecs:RunTask" + ], + resources=[ + f"arn:aws:secretsmanager:{self.region}:{self.account}:secret:*{resource_prefix}*", + f"arn:aws:secretsmanager:{self.region}:{self.account}:secret:*dataall*", + f"arn:aws:kms:{self.region}:{self.account}:key/*", + f"arn:aws:ssm:*:{self.account}:parameter/*dataall*", + f"arn:aws:ssm:*:{self.account}:parameter/*{resource_prefix}*", + f"arn:aws:ecs:*:{self.account}:task-definition/{resource_prefix}-{envname}-*", + f"arn:aws:iam::{self.account}:role/{resource_prefix}-{envname}-ecs-tasks-role", + ], + ) + ) + return cicd_stacks_updater_role + + def create_task_role(self, envname, resource_prefix, pivot_role_name): role_inline_policy = iam.Policy( self, f'ECSRolePolicy{envname}', @@ -343,7 +388,7 @@ def create_task_role(self, envname, resource_prefix): 'sts:AssumeRole', ], resources=[ - f"arn:aws:iam::*:role/{self.node.try_get_context('pivot_role_name') or 'dataallPivotRole'}", + f'arn:aws:iam::*:role/{pivot_role_name}', f'arn:aws:iam::*:role/cdk*', 'arn:aws:iam::*:role/ddk*', f'arn:aws:iam::{self.account}:role/{resource_prefix}-{envname}-ecs-tasks-role', @@ -387,9 +432,7 @@ def create_task_role(self, envname, resource_prefix): self, f'ECSTaskRole{envname}', role_name=f'{resource_prefix}-{envname}-ecs-tasks-role', - inline_policies={ - f'ECSRoleInlinePolicy{envname}': role_inline_policy.document - }, + inline_policies={f'ECSRoleInlinePolicy{envname}': role_inline_policy.document}, assumed_by=iam.ServicePrincipal('ecs-tasks.amazonaws.com'), ) task_role.grant_pass_role(task_role) @@ -511,4 +554,8 @@ def set_scheduled_task( rule_name=scheduled_task_id # security_groups=[security_group], ) - return scheduled_task + return scheduled_task, task + + @property + def ecs_task_role(self) -> iam.Role: + return self.task_role diff --git a/deploy/stacks/lambda_api.py b/deploy/stacks/lambda_api.py index 300397446..19b42e754 100644 --- a/deploy/stacks/lambda_api.py +++ b/deploy/stacks/lambda_api.py @@ -27,6 +27,7 @@ from .pyNestedStack import pyNestedClass + class LambdaApiStack(pyNestedClass): def __init__( self, @@ -44,6 +45,7 @@ def __init__( apig_vpce=None, prod_sizing=False, user_pool=None, + pivot_role_name=None, **kwargs, ): super().__init__(scope, id, **kwargs) @@ -59,7 +61,7 @@ def __init__( 'ElasticSearchProxyHandler', function_name=f'{resource_prefix}-{envname}-esproxy', description='dataall es search function', - role=self.create_function_role(envname, resource_prefix, 'esproxy'), + role=self.create_function_role(envname, resource_prefix, 'esproxy', pivot_role_name), code=_lambda.DockerImageCode.from_ecr( repository=ecr_repository, tag=image_tag, cmd=['search_handler.handler'] ), @@ -79,7 +81,7 @@ def __init__( 'LambdaGraphQL', function_name=f'{resource_prefix}-{envname}-graphql', description='dataall graphql function', - role=self.create_function_role(envname, resource_prefix, 'graphql'), + role=self.create_function_role(envname, resource_prefix, 'graphql', pivot_role_name), code=_lambda.DockerImageCode.from_ecr( repository=ecr_repository, tag=image_tag, cmd=['api_handler.handler'] ), @@ -93,15 +95,13 @@ def __init__( tracing=_lambda.Tracing.ACTIVE, ) - self.aws_handler_dlq = self.set_dlq( - f'{resource_prefix}-{envname}-awsworker-dlq' - ) + self.aws_handler_dlq = self.set_dlq(f'{resource_prefix}-{envname}-awsworker-dlq') self.aws_handler = _lambda.DockerImageFunction( self, 'AWSWorker', function_name=f'{resource_prefix}-{envname}-awsworker', description='dataall aws worker for aws asynchronous tasks function', - role=self.create_function_role(envname, resource_prefix, 'awsworker'), + role=self.create_function_role(envname, resource_prefix, 'awsworker', pivot_role_name), code=_lambda.DockerImageCode.from_ecr( repository=ecr_repository, tag=image_tag, cmd=['aws_handler.handler'] ), @@ -142,7 +142,7 @@ def __init__( topic_name=f'{resource_prefix}-{envname}-backend-topic', ) - def create_function_role(self, envname, resource_prefix, fn_name): + def create_function_role(self, envname, resource_prefix, fn_name, pivot_role_name): role_name = f'{resource_prefix}-{envname}-{fn_name}-role' @@ -182,7 +182,8 @@ def create_function_role(self, envname, resource_prefix, fn_name): 'sts:AssumeRole', ], resources=[ - f"arn:aws:iam::*:role/{self.node.try_get_context('pivot_role_name') or 'dataallPivotRole'}" + f'arn:aws:iam::*:role/{pivot_role_name}', + 'arn:aws:iam::*:role/cdk-hnb659fds-lookup-role-*' ], ), iam.PolicyStatement( @@ -200,9 +201,7 @@ def create_function_role(self, envname, resource_prefix, fn_name): actions=[ 'iam:PassRole', ], - resources=[ - f'arn:aws:iam::{self.account}:role/{resource_prefix}-{envname}*' - ], + resources=[f'arn:aws:iam::{self.account}:role/{resource_prefix}-{envname}*'], ), iam.PolicyStatement( actions=[ @@ -240,7 +239,7 @@ def create_function_role(self, envname, resource_prefix, fn_name): 'xray:GetSamplingRules', 'xray:GetSamplingTargets', 'xray:GetSamplingStatisticSummaries', - 'cognito-idp:ListGroups' + 'cognito-idp:ListGroups', ], resources=['*'], ), @@ -250,9 +249,7 @@ def create_function_role(self, envname, resource_prefix, fn_name): self, role_name, role_name=role_name, - inline_policies={ - f'{resource_prefix}-{envname}-{fn_name}-inline': role_inline_policy.document - }, + inline_policies={f'{resource_prefix}-{envname}-{fn_name}-inline': role_inline_policy.document}, assumed_by=iam.ServicePrincipal('lambda.amazonaws.com'), ) return role @@ -293,16 +290,16 @@ def create_api_gateway( ) # Create IP set if IP filtering enabled in CDK.json - ip_set_regional=None - if custom_waf_rules and custom_waf_rules.get("allowed_ip_list"): + ip_set_regional = None + if custom_waf_rules and custom_waf_rules.get('allowed_ip_list'): ip_set_regional = wafv2.CfnIPSet( self, - "DataallRegionalIPSet", - name=f"{resource_prefix}-{envname}-ipset-regional", - description=f"IP addresses allowed for Dataall {envname}", - addresses=custom_waf_rules.get("allowed_ip_list"), - ip_address_version="IPV4", - scope="REGIONAL" + 'DataallRegionalIPSet', + name=f'{resource_prefix}-{envname}-ipset-regional', + description=f'IP addresses allowed for Dataall {envname}', + addresses=custom_waf_rules.get('allowed_ip_list'), + ip_address_version='IPV4', + scope='REGIONAL', ) acl = wafv2.CfnWebACL( @@ -315,7 +312,7 @@ def create_api_gateway( metric_name='waf-apigw', sampled_requests_enabled=True, ), - rules=self.get_waf_rules(envname,custom_waf_rules,ip_set_regional), + rules=self.get_waf_rules(envname, custom_waf_rules, ip_set_regional), ) wafv2.CfnWebACLAssociation( @@ -360,13 +357,11 @@ def set_up_graphql_api_gateway( ) if not internet_facing: if apig_vpce: - api_vpc_endpoint = ( - InterfaceVpcEndpoint.from_interface_vpc_endpoint_attributes( - self, - f'APIVpcEndpoint{envname}', - vpc_endpoint_id=apig_vpce, - port=443, - ) + api_vpc_endpoint = InterfaceVpcEndpoint.from_interface_vpc_endpoint_attributes( + self, + f'APIVpcEndpoint{envname}', + vpc_endpoint_id=apig_vpce, + port=443, ) else: api_vpc_endpoint = InterfaceVpcEndpoint( @@ -388,9 +383,7 @@ def set_up_graphql_api_gateway( actions=['execute-api:Invoke'], resources=['execute-api:/*'], effect=iam.Effect.DENY, - conditions={ - 'StringNotEquals': {'aws:SourceVpce': api_vpc_endpoint_id} - }, + conditions={'StringNotEquals': {'aws:SourceVpce': api_vpc_endpoint_id}}, ), iam.PolicyStatement( principals=[iam.AnyPrincipal()], @@ -540,9 +533,7 @@ def set_up_graphql_api_gateway( self, f'{resource_prefix}-{envname}-apigatewaylogs-role', assumed_by=iam.ServicePrincipal('apigateway.amazonaws.com'), - inline_policies={ - f'{resource_prefix}-{envname}-apigateway-policy': iam_policy - }, + inline_policies={f'{resource_prefix}-{envname}-apigateway-policy': iam_policy}, ) stage: apigw.CfnStage = gw.deployment_stage.node.default_child stage.access_log_setting = apigw.CfnStage.AccessLogSettingProperty( @@ -596,11 +587,11 @@ def get_api_resource_policy(vpc, ip_ranges): return api_policy @staticmethod - def get_waf_rules(envname,custom_waf_rules=None,ip_set_regional=None): + def get_waf_rules(envname, custom_waf_rules=None, ip_set_regional=None): waf_rules = [] priority = 0 if custom_waf_rules: - if custom_waf_rules.get("allowed_geo_list"): + if custom_waf_rules.get('allowed_geo_list'): waf_rules.append( wafv2.CfnWebACL.RuleProperty( name='GeoMatch', @@ -608,7 +599,7 @@ def get_waf_rules(envname,custom_waf_rules=None,ip_set_regional=None): not_statement=wafv2.CfnWebACL.NotStatementProperty( statement=wafv2.CfnWebACL.StatementProperty( geo_match_statement=wafv2.CfnWebACL.GeoMatchStatementProperty( - country_codes=custom_waf_rules.get("allowed_geo_list") + country_codes=custom_waf_rules.get('allowed_geo_list') ) ) ) @@ -623,16 +614,14 @@ def get_waf_rules(envname,custom_waf_rules=None,ip_set_regional=None): ) ) priority += 1 - if custom_waf_rules.get("allowed_ip_list"): + if custom_waf_rules.get('allowed_ip_list'): waf_rules.append( wafv2.CfnWebACL.RuleProperty( name='IPMatch', statement=wafv2.CfnWebACL.StatementProperty( not_statement=wafv2.CfnWebACL.NotStatementProperty( statement=wafv2.CfnWebACL.StatementProperty( - ip_set_reference_statement={ - "arn" : ip_set_regional.attr_arn - } + ip_set_reference_statement={'arn': ip_set_regional.attr_arn} ) ) ), @@ -758,9 +747,7 @@ def get_waf_rules(envname,custom_waf_rules=None,ip_set_regional=None): wafv2.CfnWebACL.RuleProperty( name='APIGatewayRateLimit', statement=wafv2.CfnWebACL.StatementProperty( - rate_based_statement=wafv2.CfnWebACL.RateBasedStatementProperty( - aggregate_key_type='IP', limit=1000 - ) + rate_based_statement=wafv2.CfnWebACL.RateBasedStatementProperty(aggregate_key_type='IP', limit=1000) ), action=wafv2.CfnWebACL.RuleActionProperty(block={}), visibility_config=wafv2.CfnWebACL.VisibilityConfigProperty( @@ -774,9 +761,7 @@ def get_waf_rules(envname,custom_waf_rules=None,ip_set_regional=None): priority += 1 return waf_rules - def create_sns_topic( - self, construct_id, envname, lambda_function, param_name, topic_name=None - ): + def create_sns_topic(self, construct_id, envname, lambda_function, param_name, topic_name=None): key = kms.Key( self, topic_name, diff --git a/deploy/stacks/monitoring.py b/deploy/stacks/monitoring.py index adc3629d3..f6cd4f9f7 100644 --- a/deploy/stacks/monitoring.py +++ b/deploy/stacks/monitoring.py @@ -29,7 +29,6 @@ def __init__( ecs_cluster: ecs.Cluster = None, ecs_task_definitions: [ecs.FargateTaskDefinition] = None, backend_api=None, - opensearch_domain: str = None, queue_name: str = None, **kwargs, ): @@ -43,7 +42,6 @@ def __init__( backend_api, lambdas, database, - opensearch_domain, queue_name, envname, resource_prefix, @@ -107,7 +105,6 @@ def create_cw_alarms( backend_api, lambdas, database, - openseach_domain, queue_name, envname, resource_prefix, @@ -117,29 +114,21 @@ def create_cw_alarms( self.set_function_alarms( f'Alarm{index}', lambda_function, - self.cw_alarm_action, resource_prefix, ) self.set_waf_alarms( f'{resource_prefix}-{envname}-WafApiGatewayRateLimitBreached', Fn.import_value(f'{resource_prefix}-{envname}-api-webacl'), - self.cw_alarm_action, ) self.set_api_alarms( - f'{resource_prefix}-{envname}-api-alarm', backend_api, self.cw_alarm_action + f'{resource_prefix}-{envname}-api-alarm', backend_api ) self.set_aurora_alarms( - f'{resource_prefix}-{envname}-aurora-alarm', database, self.cw_alarm_action - ) - self.set_es_alarms( - f'{resource_prefix}-{envname}-opensearch-alarm', - openseach_domain, - self.cw_alarm_action, + f'{resource_prefix}-{envname}-aurora-alarm', database ) self.set_sqs_alarms( f'{resource_prefix}-{envname}-sqs-alarm', queue_name, - self.cw_alarm_action, ) def create_cw_dashboard( @@ -231,7 +220,7 @@ def create_cw_dashboard( ) def set_function_alarms( - self, alarm_name, lambda_function, cw_alarm_action, resource_prefix + self, alarm_name, lambda_function, resource_prefix ): error_metric = cw.Metric( namespace=resource_prefix, @@ -259,8 +248,8 @@ def set_function_alarms( comparison_operator=cw.ComparisonOperator.GREATER_THAN_OR_EQUAL_TO_THRESHOLD, treat_missing_data=cw.TreatMissingData.NOT_BREACHING, ) - error_metric_alarm.add_alarm_action(cw_alarm_action) - error_metric_alarm.add_ok_action(cw_alarm_action) + error_metric_alarm.add_alarm_action(self.cw_alarm_action) + error_metric_alarm.add_ok_action(self.cw_alarm_action) lambda_error = cw.Alarm( self, @@ -272,8 +261,8 @@ def set_function_alarms( comparison_operator=cw.ComparisonOperator.GREATER_THAN_OR_EQUAL_TO_THRESHOLD, treat_missing_data=cw.TreatMissingData.NOT_BREACHING, ) - lambda_error.add_alarm_action(cw_alarm_action) - lambda_error.add_ok_action(cw_alarm_action) + lambda_error.add_alarm_action(self.cw_alarm_action) + lambda_error.add_ok_action(self.cw_alarm_action) lambda_throttles = cw.Alarm( self, f'{alarm_name}-throttles', @@ -284,17 +273,17 @@ def set_function_alarms( comparison_operator=cw.ComparisonOperator.GREATER_THAN_OR_EQUAL_TO_THRESHOLD, treat_missing_data=cw.TreatMissingData.NOT_BREACHING, ) - lambda_throttles.add_alarm_action(cw_alarm_action) - lambda_throttles.add_ok_action(cw_alarm_action) + lambda_throttles.add_alarm_action(self.cw_alarm_action) + lambda_throttles.add_ok_action(self.cw_alarm_action) - def set_api_alarms(self, alarm_name, api_name, cw_alarm_action): + def set_api_alarms(self, alarm_name, api_name): api_count = cw.Metric( namespace='AWS/ApiGateway', metric_name='Count', dimensions_map={'ApiName': api_name}, ) self._set_alarm( - f'{alarm_name}-max-calls', api_count, cw_alarm_action, threshold=100 + f'{alarm_name}-max-calls', api_count, threshold=100 ) api_5xx_errors = cw.Metric( namespace='AWS/ApiGateway', @@ -302,7 +291,7 @@ def set_api_alarms(self, alarm_name, api_name, cw_alarm_action): dimensions_map={'ApiName': api_name}, ) self._set_alarm( - f'{alarm_name}-5XXErrors', api_5xx_errors, cw_alarm_action, threshold=1 + f'{alarm_name}-5XXErrors', api_5xx_errors, threshold=1 ) api_4xx_errors = cw.Metric( namespace='AWS/ApiGateway', @@ -310,10 +299,10 @@ def set_api_alarms(self, alarm_name, api_name, cw_alarm_action): dimensions_map={'ApiName': api_name}, ) self._set_alarm( - f'{alarm_name}-4XXErrors', api_4xx_errors, cw_alarm_action, threshold=1 + f'{alarm_name}-4XXErrors', api_4xx_errors, threshold=1 ) - def set_aurora_alarms(self, alarm_name, db_identifier, cw_alarm_action): + def set_aurora_alarms(self, alarm_name, db_identifier): cpu_alarm = cw.Metric( namespace='AWS/RDS', metric_name='CPUUtilization', @@ -322,13 +311,13 @@ def set_aurora_alarms(self, alarm_name, db_identifier, cw_alarm_action): period=Duration.minutes(1), ) self._set_alarm( - f'{alarm_name}-CPUUtilization80', cpu_alarm, cw_alarm_action, threshold=80 + f'{alarm_name}-CPUUtilization80', cpu_alarm, threshold=80 ) self._set_alarm( - f'{alarm_name}-CPUUtilization90', cpu_alarm, cw_alarm_action, threshold=90 + f'{alarm_name}-CPUUtilization90', cpu_alarm, threshold=90 ) - def _set_alarm(self, alarm_name, api_count, cw_alarm_action, threshold=1): + def _set_alarm(self, alarm_name, api_count, threshold=1): api_error = cw.Alarm( self, alarm_name, @@ -339,10 +328,10 @@ def _set_alarm(self, alarm_name, api_count, cw_alarm_action, threshold=1): comparison_operator=cw.ComparisonOperator.GREATER_THAN_OR_EQUAL_TO_THRESHOLD, treat_missing_data=cw.TreatMissingData.NOT_BREACHING, ) - api_error.add_alarm_action(cw_alarm_action) - api_error.add_ok_action(cw_alarm_action) + api_error.add_alarm_action(self.cw_alarm_action) + api_error.add_ok_action(self.cw_alarm_action) - def set_waf_alarms(self, alarm_name, web_acl_id, cw_alarm_action): + def set_waf_alarms(self, alarm_name, web_acl_id): waf_metric = cw.Metric( metric_name='BlockedRequests', namespace='AWS/WAFV2', @@ -364,64 +353,95 @@ def set_waf_alarms(self, alarm_name, web_acl_id, cw_alarm_action): comparison_operator=cw.ComparisonOperator.GREATER_THAN_OR_EQUAL_TO_THRESHOLD, treat_missing_data=cw.TreatMissingData.NOT_BREACHING, ) - waf_alarm.add_alarm_action(cw_alarm_action) - waf_alarm.add_ok_action(cw_alarm_action) + waf_alarm.add_alarm_action(self.cw_alarm_action) + waf_alarm.add_ok_action(self.cw_alarm_action) - def set_es_alarms(self, alarm_name, domain_name, cw_alarm_action): + def set_es_alarms(self, alarm_name, domain_name): self._set_es_alarm( - domain_name, - f'{alarm_name}-cluster-red', - 'ClusterStatus.red', - 1, - cw.ComparisonOperator.GREATER_THAN_OR_EQUAL_TO_THRESHOLD, - 1, - 1, - 'max', - cw_alarm_action, + domain_name=domain_name, + alarm_name=f'{alarm_name}-cluster-red', + metric_name='ClusterStatus.red', + threshold=1, + comparison_operator=cw.ComparisonOperator.GREATER_THAN_OR_EQUAL_TO_THRESHOLD, + period=1, + evaluation_periods=1, + statistic='max', ) self._set_es_alarm( - domain_name, - f'{alarm_name}-cluster-yellow', - 'ClusterStatus.yellow', - 1, - cw.ComparisonOperator.GREATER_THAN_OR_EQUAL_TO_THRESHOLD, - 1, - 1, - 'max', - cw_alarm_action, + domain_name=domain_name, + alarm_name=f'{alarm_name}-cluster-yellow', + metric_name='ClusterStatus.yellow', + threshold=1, + comparison_operator=cw.ComparisonOperator.GREATER_THAN_OR_EQUAL_TO_THRESHOLD, + period=1, + evaluation_periods=1, + statistic='max', ) self._set_es_alarm( - domain_name, - f'{alarm_name}-cluster-IndexWritesBlocked', - 'ClusterIndexWritesBlocked', - 1, - cw.ComparisonOperator.GREATER_THAN_OR_EQUAL_TO_THRESHOLD, - 5, - 1, - 'max', - cw_alarm_action, + domain_name=domain_name, + alarm_name=f'{alarm_name}-cluster-IndexWritesBlocked', + metric_name='ClusterIndexWritesBlocked', + threshold=1, + comparison_operator=cw.ComparisonOperator.GREATER_THAN_OR_EQUAL_TO_THRESHOLD, + period=5, + evaluation_periods=1, + statistic='max', ) self._set_es_alarm( - domain_name, - f'{alarm_name}-cluster-CPUUtilization', - 'CPUUtilization', - 80, - cw.ComparisonOperator.GREATER_THAN_OR_EQUAL_TO_THRESHOLD, - 15, - 3, - 'avg', - cw_alarm_action, + domain_name=domain_name, + alarm_name=f'{alarm_name}-cluster-CPUUtilization', + metric_name='CPUUtilization', + threshold=80, + comparison_operator=cw.ComparisonOperator.GREATER_THAN_OR_EQUAL_TO_THRESHOLD, + period=15, + evaluation_periods=3, + statistic='avg', ) self._set_es_alarm( - domain_name, - f'{alarm_name}-cluster-JVMMemoryPressure', - 'JVMMemoryPressure', - 80, - cw.ComparisonOperator.GREATER_THAN_OR_EQUAL_TO_THRESHOLD, - 5, - 3, - 'max', - cw_alarm_action, + domain_name=domain_name, + alarm_name=f'{alarm_name}-cluster-JVMMemoryPressure', + metric_name='JVMMemoryPressure', + threshold=80, + comparison_operator=cw.ComparisonOperator.GREATER_THAN_OR_EQUAL_TO_THRESHOLD, + period=5, + evaluation_periods=3, + statistic='max', + ) + + def set_aoss_alarms(self, alarm_name, collection_id, collection_name): + self._set_aoss_alarm( + collection_id=collection_id, + collection_name=collection_name, + alarm_name=f'{alarm_name}-collection-ActiveCollection', + metric_name='ActiveCollection', + threshold=1, + comparison_operator=cw.ComparisonOperator.LESS_THAN_THRESHOLD, + period=1, + evaluation_periods=1, + statistic='max', + treat_missing_data=cw.TreatMissingData.BREACHING, + ) + self._set_aoss_alarm( + collection_id=collection_id, + collection_name=collection_name, + alarm_name=f'{alarm_name}-collection-IngestionRequestErrors', + metric_name='IngestionRequestErrors', + threshold=1, + comparison_operator=cw.ComparisonOperator.GREATER_THAN_OR_EQUAL_TO_THRESHOLD, + period=5, + evaluation_periods=1, + statistic='max', + ) + self._set_aoss_alarm( + collection_id=collection_id, + collection_name=collection_name, + alarm_name=f'{alarm_name}-collection-SearchRequestErrors', + metric_name='SearchRequestErrors', + threshold=1, + comparison_operator=cw.ComparisonOperator.GREATER_THAN_OR_EQUAL_TO_THRESHOLD, + period=5, + evaluation_periods=1, + statistic='max', ) def _set_es_alarm( @@ -434,7 +454,6 @@ def _set_es_alarm( period, evaluation_periods, statistic, - cw_alarm_action, ) -> None: cw_alarm = cw.Alarm( self, @@ -452,10 +471,46 @@ def _set_es_alarm( evaluation_periods=evaluation_periods, treat_missing_data=cw.TreatMissingData.MISSING, ) - cw_alarm.add_alarm_action(cw_alarm_action) - cw_alarm.add_ok_action(cw_alarm_action) + cw_alarm.add_alarm_action(self.cw_alarm_action) + cw_alarm.add_ok_action(self.cw_alarm_action) + + def _set_aoss_alarm( + self, + collection_id, + collection_name, + alarm_name, + metric_name, + threshold, + comparison_operator, + period, + evaluation_periods, + statistic, + treat_missing_data=cw.TreatMissingData.MISSING, + ) -> None: + cw_alarm = cw.Alarm( + self, + alarm_name, + alarm_name=alarm_name, + metric=cw.Metric( + metric_name=metric_name, + namespace='AWS/AOSS', + dimensions_map={ + 'CollectionId': collection_id, + 'CollectionName': collection_name, + 'ClientId': self.account, + }, + period=Duration.minutes(period), + statistic=statistic, + ), + threshold=threshold, + comparison_operator=comparison_operator, + evaluation_periods=evaluation_periods, + treat_missing_data=treat_missing_data, + ) + cw_alarm.add_alarm_action(self.cw_alarm_action) + cw_alarm.add_ok_action(self.cw_alarm_action) - def set_sqs_alarms(self, alarm_name, queue_name, cw_alarm_action): + def set_sqs_alarms(self, alarm_name, queue_name): max_messages = cw.Metric( namespace='AWS/SQS', metric_name='NumberOfMessagesSent', @@ -473,5 +528,5 @@ def set_sqs_alarms(self, alarm_name, queue_name, cw_alarm_action): comparison_operator=cw.ComparisonOperator.GREATER_THAN_OR_EQUAL_TO_THRESHOLD, treat_missing_data=cw.TreatMissingData.NOT_BREACHING, ) - queue_nb_msg_alarm.add_alarm_action(cw_alarm_action) - queue_nb_msg_alarm.add_ok_action(cw_alarm_action) + queue_nb_msg_alarm.add_alarm_action(self.cw_alarm_action) + queue_nb_msg_alarm.add_ok_action(self.cw_alarm_action) diff --git a/deploy/stacks/opensearch.py b/deploy/stacks/opensearch.py index 4868f5e8d..51ebbbaf2 100644 --- a/deploy/stacks/opensearch.py +++ b/deploy/stacks/opensearch.py @@ -25,7 +25,7 @@ def __init__( prod_sizing=False, **kwargs, ): - super().__init__(scope, id, **kwargs) + super().__init__(scope, id) db_security_group = ec2.SecurityGroup( self, @@ -135,3 +135,11 @@ def __init__( parameter_name=f'/dataall/{envname}/elasticsearch/security_group_id', string_value=db_security_group.security_group_id, ) + + @property + def domain_name(self) -> str: + return self.domain.domain_name + + @property + def domain_endpoint(self) -> str: + return self.domain.domain_endpoint diff --git a/deploy/stacks/opensearch_serverless.py b/deploy/stacks/opensearch_serverless.py new file mode 100644 index 000000000..e623cf462 --- /dev/null +++ b/deploy/stacks/opensearch_serverless.py @@ -0,0 +1,198 @@ +import json +from typing import Any, Dict, List, Optional +from aws_cdk import ( + aws_ec2 as ec2, + aws_iam as iam, + aws_lambda as _lambda, + aws_ssm as ssm, + aws_opensearchserverless as opensearchserverless, + aws_kms, + RemovalPolicy, +) + +from .pyNestedStack import pyNestedClass + + +class OpenSearchServerlessStack(pyNestedClass): + def __init__( + self, + scope, + id, + envname='dev', + resource_prefix='dataall', + vpc: ec2.Vpc = None, + vpc_endpoints_sg: ec2.SecurityGroup = None, + lambdas: Optional[List[_lambda.Function]] = None, + ecs_task_role: Optional[iam.Role] = None, + prod_sizing=False, + **kwargs, + ): + super().__init__(scope, id) + + self.cfn_collection = opensearchserverless.CfnCollection( + self, + f'OpenSearchCollection{envname}', + name=f'{resource_prefix}-{envname}-collection', + type="SEARCH", + ) + + key = aws_kms.Key( + self, + f'AOSSKMSKey', + removal_policy=RemovalPolicy.DESTROY + if not prod_sizing + else RemovalPolicy.RETAIN, + alias=f'{resource_prefix}-{envname}-opensearch-serverless', + enable_key_rotation=True, + ) + + cfn_encryption_policy = opensearchserverless.CfnSecurityPolicy( + self, + f'OpenSearchCollectionEncryptionPolicy{envname}', + name=f'{resource_prefix}-{envname}-encryption-policy', + type='encryption', + policy=self._get_encryption_policy( + collection_name=self.cfn_collection.name, + kms_key_arn=key.key_arn, + ), + ) + + cfn_vpc_endpoint = opensearchserverless.CfnVpcEndpoint( + self, + f'OpenSearchCollectionVpcEndpoint{envname}', + name=f'{resource_prefix}-{envname}-vpc-endpoint', + vpc_id=vpc.vpc_id, + security_group_ids=[vpc_endpoints_sg.security_group_id], + subnet_ids=[subnet.subnet_id for subnet in vpc.private_subnets], + ) if vpc and vpc_endpoints_sg else None + + cfn_network_policy = opensearchserverless.CfnSecurityPolicy( + self, + f'OpenSearchCollectionNetworkPolicy{envname}', + name=f'{resource_prefix}-{envname}-network-policy', + type='network', + policy=self._get_network_policy( + collection_name=self.cfn_collection.name, + vpc_endpoints=[cfn_vpc_endpoint.attr_id] if vpc else None, + ), + ) + + self.cfn_collection.add_depends_on(cfn_encryption_policy) + self.cfn_collection.add_depends_on(cfn_network_policy) + + principal_arns: List[str] = [fn.role.role_arn for fn in lambdas] if lambdas else [] + if ecs_task_role: + principal_arns.append(ecs_task_role.role_arn) + + opensearchserverless.CfnAccessPolicy( + self, + f'OpenSearchCollectionAccessPolicy{envname}', + name=f'{resource_prefix}-{envname}-access-policy', + type='data', + policy=self._get_access_policy( + collection_name=self.cfn_collection.name, + principal_arns=principal_arns, + ), + ) + + ssm.StringParameter( + self, + 'ElasticSearchEndpointParameter', + parameter_name=f'/dataall/{envname}/elasticsearch/endpoint', + string_value=f'{self.cfn_collection.attr_id}.{self.region}.aoss.amazonaws.com', + ) + + ssm.StringParameter( + self, + 'ElasticSearchDomainParameter', + parameter_name=f'/dataall/{envname}/elasticsearch/domain', + string_value=self.cfn_collection.name, + ) + + ssm.StringParameter( + self, + 'ElasticSearchServiceParameter', + parameter_name=f'/dataall/{envname}/elasticsearch/service', + string_value='aoss', + ) + + @property + def collection_id(self) -> str: + return self.cfn_collection.attr_id + + @property + def collection_name(self) -> str: + return self.cfn_collection.name + + @staticmethod + def _get_encryption_policy(collection_name: str, kms_key_arn: Optional[str] = None) -> str: + policy: Dict[str, Any] = { + "Rules": [ + { + "ResourceType": "collection", + "Resource": [ + f"collection/{collection_name}", + ] + } + ], + } + if kms_key_arn: + policy["KmsARN"] = kms_key_arn + else: + policy["AWSOwnedKey"] = True + return json.dumps(policy) + + @staticmethod + def _get_network_policy(collection_name: str, vpc_endpoints: Optional[List[str]] = None) -> str: + policy: List[Dict[str, Any]] = [ + { + "Rules": [ + { + "ResourceType": "dashboard", + "Resource": [ + f"collection/{collection_name}", + ], + }, + { + "ResourceType": "collection", + "Resource": [ + f"collection/{collection_name}", + ], + }, + ], + } + ] + if vpc_endpoints: + policy[0]["SourceVPCEs"] = vpc_endpoints + else: + policy[0]["AllowFromPublic"] = True + return json.dumps(policy) + + @staticmethod + def _get_access_policy(collection_name: str, principal_arns: List[str]) -> str: + policy = [ + { + "Rules": [ + { + "ResourceType": "index", + "Resource": [ + f"index/{collection_name}/*", + ], + "Permission": [ + "aoss:*", + ], + }, + { + "ResourceType": "collection", + "Resource": [ + f"collection/{collection_name}", + ], + "Permission": [ + "aoss:*", + ], + }, + ], + "Principal": principal_arns + } + ] + return json.dumps(policy) diff --git a/deploy/stacks/param_store_stack.py b/deploy/stacks/param_store_stack.py index 560451b6b..2419d1f66 100644 --- a/deploy/stacks/param_store_stack.py +++ b/deploy/stacks/param_store_stack.py @@ -16,6 +16,7 @@ def __init__( enable_cw_canaries=False, quicksight_enabled=False, shared_dashboard_sessions='anonymous', + enable_pivot_role_auto_create=False, **kwargs, ): super().__init__(scope, id, **kwargs) @@ -79,4 +80,11 @@ def __init__( f'dataallQuicksightConfiguration{envname}', parameter_name=f"/dataall/{envname}/quicksight/sharedDashboardsSessions", string_value=shared_dashboard_sessions, + ) + + aws_ssm.StringParameter( + self, + f'dataallCreationPivotRole{envname}', + parameter_name=f"/dataall/{envname}/pivotRole/enablePivotRoleAutoCreate", + string_value=str(enable_pivot_role_auto_create), ) \ No newline at end of file diff --git a/deploy/stacks/pipeline.py b/deploy/stacks/pipeline.py index d00a7db13..ea5b2128a 100644 --- a/deploy/stacks/pipeline.py +++ b/deploy/stacks/pipeline.py @@ -46,6 +46,7 @@ def __init__( cidr='10.0.0.0/16', resource_prefix=resource_prefix, vpc_id=self.node.try_get_context('tooling_vpc_id'), + restricted_nacl=self.node.try_get_context('tooling_vpc_restricted_nacl'), **kwargs, ) self.vpc = self.vpc_stack.vpc @@ -182,21 +183,19 @@ def __init__( ) for policy in self.codebuild_policy: self.pipeline_iam_role.add_to_policy(policy) - - if self.source == "github": + + if self.source == 'github': source = CodePipelineSource.git_hub( - repo_string="awslabs/aws-dataall", + repo_string='awslabs/aws-dataall', branch=self.git_branch, - authentication=SecretValue.secrets_manager(secret_id="github-access-token-secret") + authentication=SecretValue.secrets_manager(secret_id='github-access-token-secret'), ) - + else: source = CodePipelineSource.code_commit( - repository=codecommit.Repository.from_repository_name( - self, 'sourcerepo', repository_name='dataall' - ), - branch=self.git_branch, - ) + repository=codecommit.Repository.from_repository_name(self, 'sourcerepo', repository_name='dataall'), + branch=self.git_branch, + ) self.pipeline = pipelines.CodePipeline( self, @@ -207,11 +206,9 @@ def __init__( 'Synth', input=source, build_environment=codebuild.BuildEnvironment( - build_image=codebuild.LinuxBuildImage.AMAZON_LINUX_2_3, + build_image=codebuild.LinuxBuildImage.AMAZON_LINUX_2_4, ), commands=[ - 'n 16.15.1', - 'yum -y install shadow-utils wget && yum -y install openssl-devel bzip2-devel libffi-devel postgresql-devel', f'aws codeartifact login --tool npm --repository {self.codeartifact.npm_repo.attr_name} --domain {self.codeartifact.domain.attr_name} --domain-owner {self.codeartifact.domain.attr_owner}', 'npm install -g aws-cdk', f'aws codeartifact login --tool pip --repository {self.codeartifact.pip_repo.attr_name} --domain {self.codeartifact.domain.attr_name} --domain-owner {self.codeartifact.domain.attr_owner}', @@ -287,6 +284,11 @@ def __init__( target_env, ) + if target_env.get('enable_update_dataall_stacks_in_cicd_pipeline', False): + self.set_stacks_updater_stage( + target_env + ) + if target_env.get('internet_facing', True): self.set_cloudfront_stage( target_env, @@ -357,10 +359,9 @@ def set_quality_gate_stage(self): pipelines.CodeBuildStep( id='ValidateDBMigrations', build_environment=codebuild.BuildEnvironment( - build_image=codebuild.LinuxBuildImage.AMAZON_LINUX_2_3, + build_image=codebuild.LinuxBuildImage.AMAZON_LINUX_2_4, ), commands=[ - 'yum -y install shadow-utils wget && yum -y install openssl-devel bzip2-devel libffi-devel postgresql-devel', f'aws codeartifact login --tool pip --repository {self.codeartifact.pip_repo.attr_name} --domain {self.codeartifact.domain.attr_name} --domain-owner {self.codeartifact.domain.attr_owner}', f'export envname={self.git_branch}', f'export schema_name=validation', @@ -376,13 +377,12 @@ def set_quality_gate_stage(self): pipelines.CodeBuildStep( id='SecurityChecks', build_environment=codebuild.BuildEnvironment( - build_image=codebuild.LinuxBuildImage.AMAZON_LINUX_2_3, + build_image=codebuild.LinuxBuildImage.AMAZON_LINUX_2_4, ), commands=[ - 'yum -y install shadow-utils wget && yum -y install openssl-devel bzip2-devel libffi-devel postgresql-devel', f'aws codeartifact login --tool pip --repository {self.codeartifact.pip_repo.attr_name} --domain {self.codeartifact.domain.attr_name} --domain-owner {self.codeartifact.domain.attr_owner}', 'pip install --upgrade pip', - "python -m venv env", + 'python -m venv env', '. env/bin/activate', 'make check-security', ], @@ -392,14 +392,16 @@ def set_quality_gate_stage(self): pipelines.CodeBuildStep( id='Lint', build_environment=codebuild.BuildEnvironment( - build_image=codebuild.LinuxBuildImage.AMAZON_LINUX_2_3, + build_image=codebuild.LinuxBuildImage.AMAZON_LINUX_2_4, ), commands=[ + f'aws codeartifact login --tool pip --repository {self.codeartifact.pip_repo.attr_name} --domain {self.codeartifact.domain.attr_name} --domain-owner {self.codeartifact.domain.attr_owner}', 'pip install --upgrade pip', 'python -m venv env', '. env/bin/activate', 'make lint', 'cd frontend', + f'aws codeartifact login --tool npm --repository {self.codeartifact.npm_repo.attr_name} --domain {self.codeartifact.domain.attr_name} --domain-owner {self.codeartifact.domain.attr_owner}', 'npm install', 'npm run lint', ], @@ -411,7 +413,7 @@ def set_quality_gate_stage(self): pipelines.CodeBuildStep( id='IntegrationTests', build_environment=codebuild.BuildEnvironment( - build_image=codebuild.LinuxBuildImage.AMAZON_LINUX_2_3, + build_image=codebuild.LinuxBuildImage.AMAZON_LINUX_2_4, ), partial_build_spec=codebuild.BuildSpec.from_object( dict( @@ -419,9 +421,7 @@ def set_quality_gate_stage(self): phases={ 'build': { 'commands': [ - 'n 16.15.1', 'set -eu', - 'yum -y install shadow-utils wget && yum -y install openssl-devel bzip2-devel libffi-devel postgresql-devel', f'aws codeartifact login --tool pip --repository {self.codeartifact.pip_repo.attr_name} --domain {self.codeartifact.domain.attr_name} --domain-owner {self.codeartifact.domain.attr_owner}', f'export envname={self.git_branch}', 'python -m venv env', @@ -447,7 +447,7 @@ def set_quality_gate_stage(self): pipelines.CodeBuildStep( id='UploadCodeToS3', build_environment=codebuild.BuildEnvironment( - build_image=codebuild.LinuxBuildImage.AMAZON_LINUX_2_3, + build_image=codebuild.LinuxBuildImage.AMAZON_LINUX_2_4, ), commands=[ 'mkdir -p source_build', @@ -478,7 +478,7 @@ def set_quality_gate_stage(self): pipelines.CodeBuildStep( id='UploadCodeToS3', build_environment=codebuild.BuildEnvironment( - build_image=codebuild.LinuxBuildImage.AMAZON_LINUX_2_3, + build_image=codebuild.LinuxBuildImage.AMAZON_LINUX_2_4, ), commands=[ 'mkdir -p source_build', @@ -492,7 +492,6 @@ def set_quality_gate_stage(self): ), ) - def set_ecr_stage( self, target_env, @@ -516,19 +515,16 @@ def set_ecr_stage( pipelines.CodeBuildStep( id='LambdaImage', build_environment=codebuild.BuildEnvironment( - build_image=codebuild.LinuxBuildImage.AMAZON_LINUX_2_3, + build_image=codebuild.LinuxBuildImage.AMAZON_LINUX_2_4, privileged=True, environment_variables={ 'REPOSITORY_URI': codebuild.BuildEnvironmentVariable( value=f"{target_env['account']}.dkr.ecr.{target_env['region']}.amazonaws.com/{self.resource_prefix}-{target_env['envname']}-repository" ), - 'IMAGE_TAG': codebuild.BuildEnvironmentVariable( - value=f'lambdas-{self.image_tag}' - ), + 'IMAGE_TAG': codebuild.BuildEnvironmentVariable(value=f'lambdas-{self.image_tag}'), }, ), commands=[ - 'yum -y install shadow-utils wget && yum -y install openssl-devel bzip2-devel libffi-devel postgresql-devel', f"make deploy-image type=lambda image-tag=$IMAGE_TAG account={target_env['account']} region={target_env['region']} repo={repository_name}", ], role_policy_statements=self.codebuild_policy, @@ -537,19 +533,16 @@ def set_ecr_stage( pipelines.CodeBuildStep( id='ECSImage', build_environment=codebuild.BuildEnvironment( - build_image=codebuild.LinuxBuildImage.AMAZON_LINUX_2_3, + build_image=codebuild.LinuxBuildImage.AMAZON_LINUX_2_4, privileged=True, environment_variables={ 'REPOSITORY_URI': codebuild.BuildEnvironmentVariable( value=f"{target_env['account']}.dkr.ecr.{target_env['region']}.amazonaws.com/{repository_name}" ), - 'IMAGE_TAG': codebuild.BuildEnvironmentVariable( - value=f'cdkproxy-{self.image_tag}' - ), + 'IMAGE_TAG': codebuild.BuildEnvironmentVariable(value=f'cdkproxy-{self.image_tag}'), }, ), commands=[ - 'yum -y install shadow-utils wget && yum -y install openssl-devel bzip2-devel libffi-devel postgresql-devel', f"make deploy-image type=ecs image-tag=$IMAGE_TAG account={target_env['account']} region={target_env['region']} repo={repository_name}", ], role_policy_statements=self.codebuild_policy, @@ -584,6 +577,8 @@ def set_backend_stage(self, target_env, repository_name): enable_cw_rum=target_env.get('enable_cw_rum', False), enable_cw_canaries=target_env.get('enable_cw_canaries', False), shared_dashboard_sessions=target_env.get('shared_dashboard_sessions', 'anonymous'), + enable_opensearch_serverless=target_env.get('enable_opensearch_serverless', False), + enable_pivot_role_auto_create=target_env.get('enable_pivot_role_auto_create', False), ) ) return backend_stage @@ -599,7 +594,7 @@ def set_db_migration_stage( pipelines.CodeBuildStep( id='MigrateDB', build_environment=codebuild.BuildEnvironment( - build_image=codebuild.LinuxBuildImage.AMAZON_LINUX_2_3, + build_image=codebuild.LinuxBuildImage.AMAZON_LINUX_2_4, ), commands=[ 'mkdir ~/.aws/ && touch ~/.aws/config', @@ -618,6 +613,38 @@ def set_db_migration_stage( ), ) + def set_stacks_updater_stage( + self, + target_env, + ): + wave = self.pipeline.add_wave( + f"{self.resource_prefix}-{target_env['envname']}-stacks-updater-stage" + ) + wave.add_post( + pipelines.CodeBuildStep( + id='StacksUpdater', + build_environment=codebuild.BuildEnvironment( + build_image=codebuild.LinuxBuildImage.AMAZON_LINUX_2_4, + ), + commands=[ + 'mkdir ~/.aws/ && touch ~/.aws/config', + 'echo "[profile buildprofile]" > ~/.aws/config', + f'echo "role_arn = arn:aws:iam::{target_env["account"]}:role/{self.resource_prefix}-{target_env["envname"]}-cb-stackupdater-role" >> ~/.aws/config', + 'echo "credential_source = EcsContainer" >> ~/.aws/config', + 'aws sts get-caller-identity --profile buildprofile', + f"export cluster_name=$(aws ssm get-parameter --name /dataall/{target_env['envname']}/ecs/cluster/name --profile buildprofile --output text --query 'Parameter.Value')", + f"export private_subnets=$(aws ssm get-parameter --name /dataall/{target_env['envname']}/ecs/private_subnets --profile buildprofile --output text --query 'Parameter.Value')", + f"export security_groups=$(aws ssm get-parameter --name /dataall/{target_env['envname']}/ecs/security_groups --profile buildprofile --output text --query 'Parameter.Value')", + f"export task_definition=$(aws ssm get-parameter --name /dataall/{target_env['envname']}/ecs/task_def_arn/stacks_updater --profile buildprofile --output text --query 'Parameter.Value')", + 'network_config="awsvpcConfiguration={subnets=[$private_subnets],securityGroups=[$security_groups],assignPublicIp=DISABLED}"', + f'cluster_arn="arn:aws:ecs:{target_env["region"]}:{target_env["account"]}:cluster/$cluster_name"', + f'aws --profile buildprofile ecs run-task --task-definition $task_definition --cluster "$cluster_arn" --launch-type "FARGATE" --network-configuration "$network_config" --launch-type FARGATE --propagate-tags TASK_DEFINITION', + ], + role_policy_statements=self.codebuild_policy, + vpc=self.vpc, + ), + ) + def set_cloudfront_stage(self, target_env): cloudfront_stage = self.pipeline.add_stage( CloudfrontStage( @@ -637,10 +664,9 @@ def set_cloudfront_stage(self, target_env): pipelines.CodeBuildStep( id='DeployFrontEnd', build_environment=codebuild.BuildEnvironment( - build_image=codebuild.LinuxBuildImage.AMAZON_LINUX_2_3, + build_image=codebuild.LinuxBuildImage.AMAZON_LINUX_2_4, compute_type=codebuild.ComputeType.LARGE, ), - install_commands=["n 14.18.3"], commands=[ f'export REACT_APP_STAGE={target_env["envname"]}', f'export envname={target_env["envname"]}', @@ -688,7 +714,7 @@ def set_cloudfront_stage(self, target_env): pipelines.CodeBuildStep( id='UpdateDocumentation', build_environment=codebuild.BuildEnvironment( - build_image=codebuild.LinuxBuildImage.AMAZON_LINUX_2_3, + build_image=codebuild.LinuxBuildImage.AMAZON_LINUX_2_4, ), commands=[ f'aws codeartifact login --tool pip --repository {self.codeartifact.pip_repo.attr_name} --domain {self.codeartifact.domain.attr_name} --domain-owner {self.codeartifact.domain.attr_owner}', @@ -713,7 +739,7 @@ def cw_rum_config_action(self, target_env): return pipelines.CodeBuildStep( id='ConfigureRUM', build_environment=codebuild.BuildEnvironment( - build_image=codebuild.LinuxBuildImage.AMAZON_LINUX_2_3, + build_image=codebuild.LinuxBuildImage.AMAZON_LINUX_2_4, ), commands=[ f'export envname={target_env["envname"]}', @@ -739,7 +765,7 @@ def cognito_config_action(self, target_env): return pipelines.CodeBuildStep( id='ConfigureCognito', build_environment=codebuild.BuildEnvironment( - build_image=codebuild.LinuxBuildImage.AMAZON_LINUX_2_3, + build_image=codebuild.LinuxBuildImage.AMAZON_LINUX_2_4, ), commands=[ f'export envname={target_env["envname"]}', @@ -781,16 +807,14 @@ def set_albfront_stage(self, target_env, repository_name): pipelines.CodeBuildStep( id='FrontendImage', build_environment=codebuild.BuildEnvironment( - build_image=codebuild.LinuxBuildImage.AMAZON_LINUX_2_3, + build_image=codebuild.LinuxBuildImage.AMAZON_LINUX_2_4, compute_type=codebuild.ComputeType.LARGE, privileged=True, environment_variables={ 'REPOSITORY_URI': codebuild.BuildEnvironmentVariable( value=f'{self.account}.dkr.ecr.{self.region}.amazonaws.com/{repository_name}' ), - 'IMAGE_TAG': codebuild.BuildEnvironmentVariable( - value=f'frontend-{self.image_tag}' - ), + 'IMAGE_TAG': codebuild.BuildEnvironmentVariable(value=f'frontend-{self.image_tag}'), }, ), commands=[ @@ -824,16 +848,14 @@ def set_albfront_stage(self, target_env, repository_name): pipelines.CodeBuildStep( id='UserGuideImage', build_environment=codebuild.BuildEnvironment( - build_image=codebuild.LinuxBuildImage.AMAZON_LINUX_2_3, + build_image=codebuild.LinuxBuildImage.AMAZON_LINUX_2_4, compute_type=codebuild.ComputeType.LARGE, privileged=True, environment_variables={ 'REPOSITORY_URI': codebuild.BuildEnvironmentVariable( value=f'{self.account}.dkr.ecr.{self.region}.amazonaws.com/{repository_name}' ), - 'IMAGE_TAG': codebuild.BuildEnvironmentVariable( - value=f'userguide-{self.image_tag}' - ), + 'IMAGE_TAG': codebuild.BuildEnvironmentVariable(value=f'userguide-{self.image_tag}'), }, ), commands=[ @@ -901,7 +923,7 @@ def set_release_stage( pipelines.CodeBuildStep( id='GitRelease', build_environment=codebuild.BuildEnvironment( - build_image=codebuild.LinuxBuildImage.AMAZON_LINUX_2_3, + build_image=codebuild.LinuxBuildImage.AMAZON_LINUX_2_4, ), partial_build_spec=codebuild.BuildSpec.from_object( dict( diff --git a/deploy/stacks/secrets_stack.py b/deploy/stacks/secrets_stack.py index b2c90378a..8d71129e1 100644 --- a/deploy/stacks/secrets_stack.py +++ b/deploy/stacks/secrets_stack.py @@ -18,6 +18,7 @@ def __init__( envname='dev', resource_prefix='dataall', enable_cw_canaries=False, + pivot_role_name=None, **kwargs, ): super().__init__(scope, id, **kwargs) @@ -51,7 +52,7 @@ def __init__( self, f'PivotRoleNameSecret{envname}', name=f'dataall-pivot-role-name-{envname}', - secret_string='dataallPivotRole', + secret_string=pivot_role_name, kms_key_id=self.pivot_role_name_key.key_id, description=f'Stores dataall pivot role name for environment {envname}', ) @@ -70,9 +71,7 @@ def __init__( f'canary-user', secret_name=f'{resource_prefix}-{envname}-cognito-canary-user', generate_secret_string=sm.SecretStringGenerator( - secret_string_template=json.dumps( - {'username': f'cwcanary-{self.account}'} - ), + secret_string_template=json.dumps({'username': f'cwcanary-{self.account}'}), generate_string_key='password', include_space=False, password_length=12, diff --git a/deploy/stacks/vpc.py b/deploy/stacks/vpc.py index 8c7f16429..42f04b0fb 100644 --- a/deploy/stacks/vpc.py +++ b/deploy/stacks/vpc.py @@ -22,6 +22,7 @@ def __init__( vpc_endpoints_sg=None, cidr=None, resource_prefix=None, + restricted_nacl=False, **kwargs, ): super().__init__(scope, id, **kwargs) @@ -29,7 +30,7 @@ def __init__( if vpc_id: self.vpc = ec2.Vpc.from_lookup(self, f'vpc', vpc_id=vpc_id) else: - self.create_new_vpc(cidr, envname, resource_prefix) + self.create_new_vpc(cidr, envname, resource_prefix, restricted_nacl) if vpc_endpoints_sg: self.vpce_security_group = ec2.SecurityGroup.from_security_group_id( @@ -107,7 +108,7 @@ def __init__( description=f'{resource_prefix}-{envname}-cidrBlock', ) - def create_new_vpc(self, cidr, envname, resource_prefix): + def create_new_vpc(self, cidr, envname, resource_prefix, restricted_nacl): self.vpc = ec2.Vpc( self, 'VPC', @@ -125,6 +126,55 @@ def create_new_vpc(self, cidr, envname, resource_prefix): ], nat_gateways=1, ) + if restricted_nacl: + nacl = ec2.NetworkAcl( + self, "RestrictedNACL", + vpc=self.vpc, + network_acl_name=f'{resource_prefix}-{envname}-restrictedNACL', + subnet_selection=ec2.SubnetSelection(subnets=self.vpc.private_subnets + self.vpc.public_subnets), + ) + nacl.add_entry( + "entryOutbound", + cidr=ec2.AclCidr.any_ipv4(), + traffic=ec2.AclTraffic.all_traffic(), + rule_number=100, + direction=ec2.TrafficDirection.EGRESS, + rule_action=ec2.Action.ALLOW + ) + nacl.add_entry( + "entryInboundHTTPS", + cidr=ec2.AclCidr.any_ipv4(), + traffic=ec2.AclTraffic.tcp_port(443), + rule_number=100, + direction=ec2.TrafficDirection.INGRESS, + rule_action=ec2.Action.ALLOW + ) + nacl.add_entry( + "entryInboundHTTP", + cidr=ec2.AclCidr.any_ipv4(), + traffic=ec2.AclTraffic.tcp_port(80), + rule_number=101, + direction=ec2.TrafficDirection.INGRESS, + rule_action=ec2.Action.ALLOW + ) + nacl.add_entry( + "entryInboundCustomTCP", + cidr=ec2.AclCidr.any_ipv4(), + traffic=ec2.AclTraffic.tcp_port_range(start_port=1024, end_port=65535), + rule_number=102, + direction=ec2.TrafficDirection.INGRESS, + rule_action=ec2.Action.ALLOW + ) + nacl.add_entry( + "entryInboundAllInVPC", + cidr=ec2.AclCidr.ipv4(self.vpc.vpc_cidr_block), + traffic=ec2.AclTraffic.all_traffic(), + rule_number=103, + direction=ec2.TrafficDirection.INGRESS, + rule_action=ec2.Action.ALLOW + ) + + flowlog_log_group = logs.LogGroup( self, f'{resource_prefix}/{envname}/flowlogs', @@ -209,7 +259,6 @@ def _create_vpc_endpoints(self) -> None: private_dns_enabled=True, security_groups=[cast(ec2.ISecurityGroup, self.vpce_security_group)], ) - self.vpc.add_interface_endpoint( id='code_artifact_repo_endpoint', service=cast( @@ -217,7 +266,7 @@ def _create_vpc_endpoints(self) -> None: ec2.InterfaceVpcEndpointAwsService('codeartifact.repositories'), ), subnets=ec2.SubnetSelection(subnets=self.vpc.private_subnets), - private_dns_enabled=False, + private_dns_enabled=True, security_groups=[cast(ec2.ISecurityGroup, self.vpce_security_group)], ) self.vpc.add_interface_endpoint( @@ -227,6 +276,6 @@ def _create_vpc_endpoints(self) -> None: ec2.InterfaceVpcEndpointAwsService('codeartifact.api'), ), subnets=ec2.SubnetSelection(subnets=self.vpc.private_subnets), - private_dns_enabled=False, + private_dns_enabled=True, security_groups=[cast(ec2.ISecurityGroup, self.vpce_security_group)], ) diff --git a/documentation/userguide/docs/environments.md b/documentation/userguide/docs/environments.md index 9aabe13b6..233d90ef3 100644 --- a/documentation/userguide/docs/environments.md +++ b/documentation/userguide/docs/environments.md @@ -9,34 +9,29 @@ users store data and work with data.** To ensure correct data access and AWS resources isolation, onboard one environment in each AWS account. Despite being possible, **we strongly discourage users to use the same AWS account for multiple environments**. -## :material-hammer-screwdriver: **Bootstrap your AWS account** -*data.all*does not create AWS accounts. You need to provide an AWS account and complete the following bootstraping -steps on that AWS account in each region you want to use. +## :material-hammer-screwdriver: **AWS account Pre-requisites** +*data.all* does not create AWS accounts. You need to provide an AWS account and complete the following bootstraping +steps. -### 1. Create AWS IAM role -*data.all* assumes a IAM role named **PivotRole** to be able to call AWS SDK APIs on your account. You can download -the AWS CloudFormation stack from *data.all* environment creation form. (Navigate to an -organization and click on link an environment to see this form) - - -### 2. Setup AWS CDK +### 1. CDK Bootstrap *data.all* uses AWS CDK to deploy and manage resources on your AWS account. AWS CDK requires some resources to exist on the AWS account, and provides a command called `bootstrap` to deploy these -specific resources. +specific resources in a particular AWS region. -Moreover, we need to trust data.all infrastructure account. +In this step we establish a trust relationship between the data.all infrastructure account and the accounts to be linked as environments. data.all codebase and CI/CD resources are in the data.all **tooling account**, -while all the resources used by the platform -are located in a **infrastructure account**. From this last one we will deploy environments and other resources -inside each of our business accounts (the ones to be boostraped). +and all the application resources used by the platform +are located in a **infrastructure account**. From the infrastructure account we will deploy environments and other resources +inside each of our business accounts. We are granting permissions to the infrastructure account +by setting the `--trust` parameter in the cdk bootstrap command. - -To boostrap the AWS account using AWS CDK, you need : +To boostrap the AWS account using AWS CDK, you need the following (which are already fulfilled if you open AWS CloudShell from the environment account). 1. to have AWS credentials configured in ~/.aws/credentials or as environment variables. -2. to install cdk : `npm install -g aws-cdk` -3. to run the following command : +2. to install cdk: `npm install -g aws-cdk` + +Then, you can copy/paste the following command from the UI and run from your local machine or CloudShell: ````bash cdk bootstrap --trust DATA.ALL_AWS_ACCOUNT_NUMBER -c @aws-cdk/core:newStyleStackSynthesis=true --cloudformation-execution-policies arn:aws:iam::aws:policy/AdministratorAccess aws://YOUR_ENVIRONMENT_AWS_ACCOUNT_NUMBER/ENVIRONMENT_REGION ```` @@ -51,8 +46,31 @@ cdk bootstrap --trust DATA.ALL_AWS_ACCOUNT_NUMBER -c @aws-cdk/core:newStyleStac ```` +### 2. (For manual) Pivot role +*data.all* assumes a certain IAM role to be able to call AWS SDK APIs on your account. +The Pivot Role is a super role in the environment account and thus, it is +protected to be assumed only by the data.all central account using an external Id. -### 3. Enable AWS Lake Formation +Since release V1.5.0, the Pivot Role can be created as part of the environment CDK stack, given that the trust between data.all and the environment account +is already explicitly granted in the bootstraping of the account. To enable the creation of Pivot Roles as part +of the environment stack, the `cdk.json` parameter `enable_pivot_role_auto_create` needs to be set to `true`. +When an environment is linked to data.all a nested stack creates a role called **dataallPivotRole-cdk**. + +For versions prior to V1.5.0 or if `enable_pivot_role_auto_create` is `false` the Pivot Role needs to be created manually. +In this case, the AWS CloudFormation stack of the role can be downloaded from *data.all* environment creation form. +(Navigate to an organization and click on link an environment to see this form). Fill the CloudFormation stack with the parameters +available in data.all UI to create the role named **dataallPivotRole**. + +!!! note "Upgrading from manual to cdk-created Pivot Role" + If you have existing environments that were linked to data.all using a manually created Pivot Role you can + still benefit from V1.5.0 `enable_pivot_role_auto_create` feature. You just need to update that parameter in + the `cdk.json` configuration of your deployment. Once the CICD pipeline has completed: new linked environments + will contain the nested cdk-pivotRole stack (no actions needed) and existing environments can be updated by: a) manually, + by clicking on "update stack" in the environment>stack tab b) automatically, wait for the `stack-updater` ECS task that + runs daily overnight c) automatically, set the added `enable_update_dataall_stacks_in_cicd_pipeline` parameter to `true` in + the `cdk.json` config file. The `stack-updater` ECS task will be triggered from the CICD pipeline + +### 3. (For new accounts) AWS Lake Formation Service role *data.all* relies on AWS Lake Formation to manage access to your structured data. If AWS Lake Formation has never been activated on your AWS account, you need to create @@ -67,7 +85,7 @@ aws iam create-service-linked-role --aws-service-name lakeformation.amazonaws.co role name AWSServiceRoleForLakeFormationDataAccess has been taken in this account, please try a different suffix. You can skip this step, as this indicates the Lake formation service-linked role exists. -### 4. Amazon Quicksight +### 4. (For Dashboards) Subscribe to Amazon Quicksight This is an optional step. To link environments with Dashboards enabled , you will also need a running Amazon QuickSight subscription on the bootstraped account. If you have not subscribed to Quicksight before, go to your AWS account and choose the @@ -87,6 +105,27 @@ to enable Dashboard Embedding on *data.all* UI. ![quicksight_domain](pictures/environments/boot_qs_3.png#zoom#shadow) +### 5. (For ML Studio) Delete or adapt the default VPC +If ML Studio is enabled, data.all checks if there is an existing SageMaker Studio domain. If there is an existing domain +it will use it to create ML Studio profiles. If no pre-existing domain is found, data.all will create a new one. + +Prior to V1.5.0 data.all always used the default VPC to create a new SageMaker domain. The default VPC had then to be +customized to fulfill the networking requirements specified in the Sagemaker +[documentation](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-notebooks-and-internet-access.html) for VPCOnly +domains. + +In V1.5.0 we introduce the creation of a suitable VPC for SageMaker as part of the environment stack. However, it is not possible to edit the VPC used by a SageMaker domain, it requires deletion and re-creation. To allow backwards +compatibility and not delete the pre-existing domains, in V1.5.0 the default behavior is still to use the default VPC. + +Data.all will create a SageMaker VPC: +- For new environments: (link environment) + - if there is not a pre-existing SageMaker Studio domain + - if there is not a default VPC in the account +- For pre-existing environments: (update environment) + - if all ML Studio profiles have been deleted (from CloudFormation as well) + - if there is not a pre-existing SageMaker Studio domain + - if the default VPC has been deleted in the account + ## :material-new-box: **Link an environment** ### Necessary permissions !!! note "Environment permissions" diff --git a/documentation/userguide/docs/mlstudio.md b/documentation/userguide/docs/mlstudio.md index 1f295051d..cef153088 100644 --- a/documentation/userguide/docs/mlstudio.md +++ b/documentation/userguide/docs/mlstudio.md @@ -1,18 +1,19 @@ # **ML Studio** -With ML Studio Notebooks we can add users to our SageMaker domain and open Amazon SageMaker Studio +With ML Studio Profiles we can add users to our SageMaker domain and open Amazon SageMaker Studio. +The SageMaker Studio domain is created as part of the environment stack. -## :material-new-box: **Create a ML Notebook** -To create a new Notebook, go to ML Studio on the left side pane and click on Create. Then fill in the creation form +## :material-new-box: **Create an ML Studio profile** +To create a new ML Studio profile, go to ML Studio on the left side pane and click on Create. Then fill in the creation form with its corresponding information. -![notebooks](pictures/mlstudio/ml_studio.png#zoom#shadow) +![notebooks](pictures/mlstudio/ml_studio.png) | Field | Description | Required | Editable |Example |-------------------------------|---------------------------------------------|----------|----------|------------- | Sagemaker Studio profile name | Name of the user to add to SageMaker domain | Yes | No |johndoe -| Short description | Short description about the notebook | No | No |Notebook for Cannes exploration +| Short description | Short description about the user profile | No | No |Notebook for Cannes exploration | Tags | Tags | No | No |deleteme | Environment | Environment (and mapped AWS account) | Yes | No |Data Science | Region (auto-filled) | AWS region | Yes | No |Europe (Ireland) @@ -22,19 +23,19 @@ with its corresponding information. ## :material-cloud-check-outline: **Check CloudFormation stack** -In the **Stack** tab of the ML Studio Notebook, is where we check the AWS resources provisioned by data.all as well as its status. +In the **Stack** tab of the ML Studio Profile, is where we check the AWS resources provisioned by data.all as well as its status. As part of the CloudFormation stack deployed using CDK, data.all will deploy some CDK metadata and a SageMaker User Profile. -## :material-trash-can-outline: **Delete a Notebook** +## :material-trash-can-outline: **Delete an ML Studio user** -To delete a Notebook, simply select it and click on the **Delete** button in the top right corner. It is possible to -keep the CloudFormation stack associated with the Notebook by selecting this option in the confirmation +To delete a SageMaker user, simply select it and click on the **Delete** button in the top right corner. It is possible to +keep the CloudFormation stack associated with the User by selecting this option in the confirmation delete window that appears after clicking on delete. -![notebooks](pictures/mlstudio/ml_studio_3.png#zoom#shadow) +![notebooks](pictures/mlstudio/ml_studio_3.png) ## :material-file-code-outline: **Open Amazon SageMaker Studio** Click on the **Open ML Studio** button of the ML Studio notebook window to open Amazon SageMaker Studio. -![notebooks](pictures/mlstudio/ml_studio_2.png#zoom#shadow) +![notebooks](pictures/mlstudio/ml_studio_2.png) diff --git a/frontend/src/views/Environments/EnvironmentCreateForm.js b/frontend/src/views/Environments/EnvironmentCreateForm.js index 77bc5ee04..e9ec62afb 100644 --- a/frontend/src/views/Environments/EnvironmentCreateForm.js +++ b/frontend/src/views/Environments/EnvironmentCreateForm.js @@ -264,7 +264,7 @@ const EnvironmentCreateForm = (props) => { - 1. Bootstrap your AWS account with AWS CDK + Bootstrap your AWS account with AWS CDK { {`cdk bootstrap --trust ${trustedAccount} -c @aws-cdk/core:newStyleStackSynthesis=true --cloudformation-execution-policies arn:aws:iam::aws:policy/AdministratorAccess aws://ACCOUNT_ID/REGION`} - - - - 2. Create an IAM role named {pivotRoleName} using AWS - CloudFormation stack below - - - - - - - - - - + {process.env.REACT_APP_ENABLE_PIVOT_ROLE_AUTO_CREATE == 'True' ? ( + + + As part of the environment CloudFormation stack data.all will create an IAM role (Pivot Role) to manage AWS operations in the environment AWS Account. + + + ): ( + + + + Create an IAM role named {pivotRoleName} using the AWS + CloudFormation stack below + + + + + + + + + + + )} - 3. Manage your environment features + Make sure that the services needed for the selected environment features are available in your AWS Account. diff --git a/template_cdk.json b/template_cdk.json index c87fafafc..75a36cfbd 100644 --- a/template_cdk.json +++ b/template_cdk.json @@ -7,6 +7,7 @@ "@aws-cdk/core:stackRelativeExports": false, "tooling_region": "string_TOOLING_REGION|DEFAULT=eu-west-1", "tooling_vpc_id": "string_IMPORT_AN_EXISTING_VPC_FROM_TOOLING|DEFAULT=None", + "tooling_vpc_restricted_nacl": "boolean_CREATE_CUSTOM_NACL|DEFAULT=false", "git_branch": "string_GIT_BRANCH_NAME|DEFAULT=dataall", "git_release": "boolean_MANAGE_GIT_RELEASE|DEFAULT=false", "quality_gate": "boolean_MANAGE_QUALITY_GATE_STAGE|DEFAULT=true", @@ -31,7 +32,11 @@ "prod_sizing": "boolean_SET_INFRA_SIZING_TO_PROD_VALUES_IF_TRUE|DEFAULT=true", "enable_cw_rum": "boolean_SET_CLOUDWATCH_RUM_APP_MONITOR|DEFAULT=false", "enable_cw_canaries": "boolean_SET_CLOUDWATCH_CANARIES_FOR_FRONTEND_TESTING|DEFAULT=false", - "shared_dashboards_sessions": "string_TYPE_SESSION_SHARED_DASHBOARDS|(reader, anonymous) DEFAULT=anonymous" + "shared_dashboards_sessions": "string_TYPE_SESSION_SHARED_DASHBOARDS|(reader, anonymous) DEFAULT=anonymous", + "enable_quicksight_monitoring": "boolean_ENABLE_CONNECTION_QUICKSIGHT_RDS|DEFAULT=false", + "enable_opensearch_serverless": "boolean_USE_OPENSEARCH_SERVERLESS|DEFAULT=false", + "enable_pivot_role_auto_create": "boolean_ENABLE_PIVOT_ROLE_AUTO_CREATE_IN_ENVIRONMENT|DEFAULT=false", + "enable_update_dataall_stacks_in_cicd_pipeline": "boolean_ENABLE_UPDATE_DATAALL_STACKS_IN_CICD_PIPELINE|DEFAULT=false" } ] } diff --git a/tests/api/conftest.py b/tests/api/conftest.py index e2541ac72..fa3be8ade 100644 --- a/tests/api/conftest.py +++ b/tests/api/conftest.py @@ -15,11 +15,16 @@ def patch_check_env(module_mocker): 'dataall.api.Objects.Environment.resolvers.check_environment', return_value='CDKROLENAME', ) + module_mocker.patch( + 'dataall.api.Objects.Environment.resolvers.get_pivot_role_as_part_of_environment', return_value=False + ) @pytest.fixture(scope='module', autouse=True) -def patch_check_env(module_mocker): - module_mocker.patch('dataall.utils.Parameter.get_parameter', return_value='unknownvalue') +def patch_check_dataset(module_mocker): + module_mocker.patch( + 'dataall.api.Objects.Dataset.resolvers.check_dataset_account', return_value=True + ) @pytest.fixture(scope='module', autouse=True) @@ -605,12 +610,18 @@ def org_fixture(org, user, group, tenant): def env_fixture(env, org_fixture, user, group, tenant, module_mocker): module_mocker.patch('requests.post', return_value=True) module_mocker.patch('dataall.api.Objects.Environment.resolvers.check_environment', return_value=True) + module_mocker.patch( + 'dataall.api.Objects.Environment.resolvers.get_pivot_role_as_part_of_environment', return_value=False + ) env1 = env(org_fixture, 'dev', 'alice', 'testadmins', '111111111111', 'eu-west-1') yield env1 @pytest.fixture(scope='module') -def dataset_fixture(env_fixture, org_fixture, dataset, group) -> dataall.db.models.Dataset: +def dataset_fixture(env_fixture, org_fixture, dataset, group, module_mocker) -> dataall.db.models.Dataset: + module_mocker.patch( + 'dataall.api.Objects.Dataset.resolvers.check_dataset_account', return_value=True + ) yield dataset( org=org_fixture, env=env_fixture, diff --git a/tests/api/test_dashboards.py b/tests/api/test_dashboards.py index 8e83e3d54..b275bb72c 100644 --- a/tests/api/test_dashboards.py +++ b/tests/api/test_dashboards.py @@ -16,6 +16,9 @@ def env1(env, org1, user, group, tenant, module_mocker): module_mocker.patch( 'dataall.api.Objects.Environment.resolvers.check_environment', return_value=True ) + module_mocker.patch( + 'dataall.api.Objects.Environment.resolvers.get_pivot_role_as_part_of_environment', return_value=False + ) env1 = env(org1, 'dev', user.userName, group.name, '111111111111', 'eu-west-1') yield env1 diff --git a/tests/api/test_datapipelines.py b/tests/api/test_datapipelines.py index a017eca38..81a8b4e03 100644 --- a/tests/api/test_datapipelines.py +++ b/tests/api/test_datapipelines.py @@ -8,20 +8,12 @@ def org1(org, user, group, tenant): @pytest.fixture(scope='module') -def env1(env, org1, user, group, tenant, module_mocker): - module_mocker.patch('requests.post', return_value=True) - module_mocker.patch( - 'dataall.api.Objects.Environment.resolvers.check_environment', return_value=True - ) +def env1(env, org1, user, group, tenant): env1 = env(org1, 'cicd', user.userName, group.name, '111111111111', 'eu-west-1') yield env1 @pytest.fixture(scope='module') -def env2(env, org1, user, group, tenant, module_mocker): - module_mocker.patch('requests.post', return_value=True) - module_mocker.patch( - 'dataall.api.Objects.Environment.resolvers.check_environment', return_value=True - ) +def env2(env, org1, user, group): env2 = env(org1, 'dev', user.userName, group.name, '222222222222', 'eu-west-1') yield env2 diff --git a/tests/api/test_dataset.py b/tests/api/test_dataset.py index 057ff66a3..dd1d81a86 100644 --- a/tests/api/test_dataset.py +++ b/tests/api/test_dataset.py @@ -12,11 +12,7 @@ def org1(org, user, group, tenant): @pytest.fixture(scope='module', autouse=True) -def env1(env, org1, user, group, tenant, module_mocker): - module_mocker.patch('requests.post', return_value=True) - module_mocker.patch( - 'dataall.api.Objects.Environment.resolvers.check_environment', return_value=True - ) +def env1(env, org1, user, group, tenant): env1 = env(org1, 'dev', 'alice', 'testadmins', '111111111111', 'eu-west-1') yield env1 @@ -104,7 +100,7 @@ def test_list_datasets(client, dataset1, group): assert response.data.listDatasets.nodes[0].datasetUri == dataset1.datasetUri -def test_update_dataset(dataset1, client, patch_es, group, group2): +def test_update_dataset(dataset1, client, group, group2): response = client.query( """ mutation UpdateDataset($datasetUri:String!,$input:ModifyDatasetInput){ diff --git a/tests/api/test_dataset_location.py b/tests/api/test_dataset_location.py index 128d21bbb..32f876aa2 100644 --- a/tests/api/test_dataset_location.py +++ b/tests/api/test_dataset_location.py @@ -12,11 +12,7 @@ def org1(org, user, group, tenant): @pytest.fixture(scope='module', autouse=True) -def env1(env, org1, user, group, tenant, module_mocker): - module_mocker.patch('requests.post', return_value=True) - module_mocker.patch( - 'dataall.api.Objects.Environment.resolvers.check_environment', return_value=True - ) +def env1(env, org1, user, group, tenant): env1 = env(org1, 'dev', user.userName, group.name, '111111111111', 'eu-west-1') yield env1 diff --git a/tests/api/test_dataset_profiling.py b/tests/api/test_dataset_profiling.py index c5bed6d1e..ece463008 100644 --- a/tests/api/test_dataset_profiling.py +++ b/tests/api/test_dataset_profiling.py @@ -11,11 +11,7 @@ def org1(org, user, group, tenant): @pytest.fixture(scope='module', autouse=True) -def env1(env, org1, user, group, tenant, module_mocker): - module_mocker.patch('requests.post', return_value=True) - module_mocker.patch( - 'dataall.api.Objects.Environment.resolvers.check_environment', return_value=True - ) +def env1(env, org1, user, group, tenant): env1 = env(org1, 'dev', user.userName, group.name, '111111111111', 'eu-west-1') yield env1 diff --git a/tests/api/test_dataset_table.py b/tests/api/test_dataset_table.py index 6c30e77ea..66986a41a 100644 --- a/tests/api/test_dataset_table.py +++ b/tests/api/test_dataset_table.py @@ -12,11 +12,7 @@ def org1(org, user, group, tenant): @pytest.fixture(scope='module', autouse=True) -def env1(env, org1, user, group, tenant, module_mocker): - module_mocker.patch('requests.post', return_value=True) - module_mocker.patch( - 'dataall.api.Objects.Environment.resolvers.check_environment', return_value=True - ) +def env1(env, org1, user, group): env1 = env(org1, 'dev', user.userName, group.name, '111111111111', 'eu-west-1') yield env1 diff --git a/tests/api/test_environment.py b/tests/api/test_environment.py index e961a445c..aca5a6bf1 100644 --- a/tests/api/test_environment.py +++ b/tests/api/test_environment.py @@ -11,11 +11,7 @@ def org1(org, user, group, tenant): @pytest.fixture(scope='module', autouse=True) -def env1(env, org1, user, group, tenant, module_mocker): - module_mocker.patch('requests.post', return_value=True) - module_mocker.patch( - 'dataall.api.Objects.Environment.resolvers.check_environment', return_value=True - ) +def env1(env, org1, user, group, tenant): env1 = env(org1, 'dev', user.userName, group.name, '111111111111', 'eu-west-1') yield env1 diff --git a/tests/api/test_glossary.py b/tests/api/test_glossary.py index 157c6cd2c..8821aadd0 100644 --- a/tests/api/test_glossary.py +++ b/tests/api/test_glossary.py @@ -11,12 +11,8 @@ def _org(db, org, tenant, user, group) -> models.Organization: @pytest.fixture(scope='module') def _env( - db, _org: models.Organization, user, group, module_mocker, env + db, _org: models.Organization, user, group, env ) -> models.Environment: - module_mocker.patch('requests.post', return_value=True) - module_mocker.patch( - 'dataall.api.Objects.Environment.resolvers.check_environment', return_value=True - ) env1 = env(_org, 'dev', user.userName, group.name, '111111111111', 'eu-west-1') yield env1 diff --git a/tests/api/test_group.py b/tests/api/test_group.py index 7cab78314..c02e7de29 100644 --- a/tests/api/test_group.py +++ b/tests/api/test_group.py @@ -11,11 +11,7 @@ def org1(org, user, group, tenant): @pytest.fixture(scope='module', autouse=True) -def env1(env, org1, user, group, tenant, module_mocker): - module_mocker.patch('requests.post', return_value=True) - module_mocker.patch( - 'dataall.api.Objects.Environment.resolvers.check_environment', return_value=True - ) +def env1(env, org1, user, group, tenant): env1 = env(org1, 'dev', user.userName, group.name, '111111111111', 'eu-west-1') yield env1 diff --git a/tests/api/test_keyvaluetag.py b/tests/api/test_keyvaluetag.py index 8d546cb3f..16e2827a7 100644 --- a/tests/api/test_keyvaluetag.py +++ b/tests/api/test_keyvaluetag.py @@ -17,16 +17,12 @@ def org1(db, org, tenant, user, group) -> models.Organization: def env1( db, org1: models.Organization, user, group, module_mocker, env ) -> models.Environment: - module_mocker.patch('requests.post', return_value=True) - module_mocker.patch( - 'dataall.api.Objects.Environment.resolvers.check_environment', return_value=True - ) env1 = env(org1, 'dev', user.userName, group.name, '111111111111', 'eu-west-1') yield env1 @pytest.fixture(scope='module', autouse=True) -def dataset1(db, env1, org1, group, user, dataset) -> models.Dataset: +def dataset1(db, env1, org1, group, user, dataset, module_mocker) -> models.Dataset: with db.scoped_session() as session: yield dataset( org=org1, env=env1, name='dataset1', owner=user.userName, group=group.name diff --git a/tests/api/test_organization.py b/tests/api/test_organization.py index 47a78bcda..fd414af31 100644 --- a/tests/api/test_organization.py +++ b/tests/api/test_organization.py @@ -15,25 +15,19 @@ def org2(org, user2, group2, tenant): @pytest.fixture(scope='module', autouse=True) -def env_dev(env, org2, user2, group2, tenant, module_mocker): - module_mocker.patch('requests.post', return_value=True) - module_mocker.patch('dataall.api.Objects.Environment.resolvers.check_environment', return_value=True) +def env_dev(env, org2, user2, group2, tenant): env2 = env(org2, 'dev', user2.userName, group2.name, '222222222222', 'eu-west-1', 'description') yield env2 @pytest.fixture(scope='module', autouse=True) -def env_other(env, org2, user2, group2, tenant, module_mocker): - module_mocker.patch('requests.post', return_value=True) - module_mocker.patch('dataall.api.Objects.Environment.resolvers.check_environment', return_value=True) +def env_other(env, org2, user2, group2, tenant): env2 = env(org2, 'other', user2.userName, group2.name, '222222222222', 'eu-west-1') yield env2 @pytest.fixture(scope='module', autouse=True) -def env_prod(env, org2, user2, group2, tenant, module_mocker): - module_mocker.patch('requests.post', return_value=True) - module_mocker.patch('dataall.api.Objects.Environment.resolvers.check_environment', return_value=True) +def env_prod(env, org2, user2, group2, tenant): env2 = env(org2, 'prod', user2.userName, group2.name, '111111111111', 'eu-west-1', 'description') yield env2 @@ -188,7 +182,7 @@ def test_list_organizations_anyone(client, org1): assert response.data.listOrganizations.count == 0 -def test_group_invitation(db, client, org1, group2, user, group3, group, dataset, env, module_mocker): +def test_group_invitation(db, client, org1, group2, user, group3, group, dataset, env): response = client.query( """ mutation inviteGroupToOrganization($input:InviteGroupToOrganizationInput){ @@ -266,8 +260,6 @@ def test_group_invitation(db, client, org1, group2, user, group3, group, dataset assert response.data.listOrganizationGroups.count == 2 - module_mocker.patch('requests.post', return_value=True) - module_mocker.patch('dataall.api.Objects.Environment.resolvers.check_environment', return_value=True) env2 = env(org1, 'devg2', user.userName, group2.name, '111111111112', 'eu-west-1') assert env2.environmentUri diff --git a/tests/api/test_redshift_cluster.py b/tests/api/test_redshift_cluster.py index c9a8fac73..3b26fb5e6 100644 --- a/tests/api/test_redshift_cluster.py +++ b/tests/api/test_redshift_cluster.py @@ -13,11 +13,7 @@ def org1(org, user, group, tenant): @pytest.fixture(scope='module', autouse=True) -def env1(env, org1, user, group, tenant, module_mocker): - module_mocker.patch('requests.post', return_value=True) - module_mocker.patch( - 'dataall.api.Objects.Environment.resolvers.check_environment', return_value=True - ) +def env1(env, org1, user, group, tenant): env1 = env(org1, 'dev', user.userName, group.name, '111111111111', 'eu-west-1') yield env1 @@ -86,8 +82,7 @@ def table2(table, dataset2): @pytest.fixture(scope='module') -def cluster(env1, org1, client, module_mocker, group): - module_mocker.patch('requests.post', return_value=True) +def cluster(env1, org1, client, group): ouri = org1.organizationUri euri = env1.environmentUri group_name = group.name diff --git a/tests/api/test_sagemaker_notebook.py b/tests/api/test_sagemaker_notebook.py index 1861936ad..a48f51c43 100644 --- a/tests/api/test_sagemaker_notebook.py +++ b/tests/api/test_sagemaker_notebook.py @@ -11,10 +11,6 @@ def org1(org, user, group, tenant): @pytest.fixture(scope='module') def env1(env, org1, user, group, tenant, module_mocker): - module_mocker.patch('requests.post', return_value=True) - module_mocker.patch( - 'dataall.api.Objects.Environment.resolvers.check_environment', return_value=True - ) env1 = env(org1, 'dev', user.userName, group.name, '111111111111', 'eu-west-1') yield env1 diff --git a/tests/api/test_sagemaker_studio.py b/tests/api/test_sagemaker_studio.py index 2a165e7ff..70f903c73 100644 --- a/tests/api/test_sagemaker_studio.py +++ b/tests/api/test_sagemaker_studio.py @@ -12,10 +12,6 @@ def org1(org, user, group, tenant): @pytest.fixture(scope='module', autouse=True) def env1(env, org1, user, group, tenant, module_mocker): - module_mocker.patch('requests.post', return_value=True) - module_mocker.patch( - 'dataall.api.Objects.Environment.resolvers.check_environment', return_value=True - ) env1 = env(org1, 'dev', 'alice', 'testadmins', '111111111111', 'eu-west-1') yield env1 diff --git a/tests/api/test_vote.py b/tests/api/test_vote.py index fd05557cc..1956802a9 100644 --- a/tests/api/test_vote.py +++ b/tests/api/test_vote.py @@ -11,12 +11,8 @@ def org1(db, org, tenant, user, group) -> models.Organization: @pytest.fixture(scope='module') def env1( - db, org1: models.Organization, user, group, module_mocker, env + db, org1: models.Organization, user, group, env ) -> models.Environment: - module_mocker.patch('requests.post', return_value=True) - module_mocker.patch( - 'dataall.api.Objects.Environment.resolvers.check_environment', return_value=True - ) env1 = env(org1, 'dev', user.userName, group.name, '111111111111', 'eu-west-1') yield env1 diff --git a/tests/api/test_vpc.py b/tests/api/test_vpc.py index 028c90f60..a223b7e4e 100644 --- a/tests/api/test_vpc.py +++ b/tests/api/test_vpc.py @@ -10,11 +10,7 @@ def org1(org, user, group, tenant): @pytest.fixture(scope='module') -def env1(env, org1, user, group, tenant, module_mocker): - module_mocker.patch('requests.post', return_value=True) - module_mocker.patch( - 'dataall.api.Objects.Environment.resolvers.check_environment', return_value=True - ) +def env1(env, org1, user, group, tenant): env1 = env(org1, 'dev', user.userName, group.name, '111111111111', 'eu-west-1') yield env1 diff --git a/tests/cdkproxy/test_dataset_stack.py b/tests/cdkproxy/test_dataset_stack.py index 19a30d513..14caf7942 100644 --- a/tests/cdkproxy/test_dataset_stack.py +++ b/tests/cdkproxy/test_dataset_stack.py @@ -17,7 +17,7 @@ def patch_methods(mocker, db, dataset, env, org): return_value="dataall-pivot-role-name-pytest", ) mocker.patch( - 'dataall.aws.handlers.lakeformation.LakeFormation.describe_resource', + 'dataall.aws.handlers.lakeformation.LakeFormation.check_existing_lf_registered_location', return_value=False, ) mocker.patch( @@ -49,7 +49,6 @@ def test_resources_created(template): assert 'AWS::S3::Bucket' in template assert 'AWS::KMS::Key' in template assert 'AWS::IAM::Role' in template - assert 'AWS::Lambda::Function' in template assert 'AWS::IAM::Policy' in template assert 'AWS::S3::BucketPolicy' in template assert 'AWS::Glue::Job' in template diff --git a/tests/cdkproxy/test_environment_stack.py b/tests/cdkproxy/test_environment_stack.py index fbb01d83a..f5dceccdf 100644 --- a/tests/cdkproxy/test_environment_stack.py +++ b/tests/cdkproxy/test_environment_stack.py @@ -14,7 +14,11 @@ def patch_methods(mocker, db, env, another_group, permissions): ) mocker.patch( 'dataall.aws.handlers.sts.SessionHelper.get_delegation_role_name', - return_value="dataall-pivot-role-name-pytest", + return_value='dataall-pivot-role-name-pytest', + ) + mocker.patch( + 'dataall.aws.handlers.parameter_store.ParameterStoreManager.get_parameter_value', + return_value='False', ) mocker.patch( 'dataall.cdkproxy.stacks.environment.EnvironmentSetup.get_target', @@ -25,16 +29,14 @@ def patch_methods(mocker, db, env, another_group, permissions): return_value=[another_group], ) mocker.patch( - 'dataall.cdkproxy.stacks.environment.EnvironmentSetup.check_sagemaker_studio', + 'dataall.cdkproxy.stacks.sagemakerstudio.SageMakerDomain.check_existing_sagemaker_studio_domain', return_value=True, ) mocker.patch( 'dataall.aws.handlers.sts.SessionHelper.get_account', return_value='012345678901x', ) - mocker.patch( - 'dataall.utils.runtime_stacks_tagging.TagsUtil.get_engine', return_value=db - ) + mocker.patch('dataall.utils.runtime_stacks_tagging.TagsUtil.get_engine', return_value=db) mocker.patch( 'dataall.utils.runtime_stacks_tagging.TagsUtil.get_target', return_value=env, @@ -43,6 +45,10 @@ def patch_methods(mocker, db, env, another_group, permissions): 'dataall.cdkproxy.stacks.environment.EnvironmentSetup.get_environment_group_permissions', return_value=[permission.name for permission in permissions], ) + mocker.patch( + 'dataall.aws.handlers.sts.SessionHelper.get_external_id_secret', + return_value='*****', + ) @pytest.fixture(scope='function', autouse=True) From 7ad099ff77c76b92c8604fa618090e7c15b1291a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 2 May 2023 11:53:58 +0200 Subject: [PATCH 12/53] Bump flask from 2.0.3 to 2.3.2 in /backend (#439) Bumps [flask](https://github.com/pallets/flask) from 2.0.3 to 2.3.2.

Release notes

Sourced from flask's releases.

2.3.2

This is a security fix release for the 2.3.x release branch.

2.3.1

This is a fix release for the 2.3.x release branch.

2.3.0

This is a feature release, which includes new features, removes previously deprecated code, and adds new deprecations. The 2.3.x branch is now the supported fix branch, the 2.2.x branch will become a tag marking the end of support for that branch. We encourage everyone to upgrade, and to use a tool such as pip-tools to pin all dependencies and control upgrades. Test with warnings treated as errors to be able to adapt to deprecation warnings early.

2.2.4

This is a fix release for the 2.2.x release branch.

2.2.3

This is a fix release for the 2.2.x release branch.

2.2.2

This is a fix release for the 2.2.0 feature release.

2.2.1

This is a fix release for the 2.2.0 feature release.

2.2.0

This is a feature release, which includes new features and removes previously deprecated code. The 2.2.x branch is now the supported bug fix branch, the 2.1.x branch will become a tag marking the end of support for that branch. We encourage everyone to upgrade, and to use a tool such as pip-tools to pin all dependencies and control upgrades.

2.1.3

... (truncated)

Changelog

Sourced from flask's changelog.

Version 2.3.2

Released 2023-05-01

  • Set Vary: Cookie header when the session is accessed, modified, or refreshed.
  • Update Werkzeug requirement to >=2.3.3 to apply recent bug fixes.

Version 2.3.1

Released 2023-04-25

  • Restore deprecated from flask import Markup. :issue:5084

Version 2.3.0

Released 2023-04-25

  • Drop support for Python 3.7. :pr:5072

  • Update minimum requirements to the latest versions: Werkzeug>=2.3.0, Jinja2>3.1.2, itsdangerous>=2.1.2, click>=8.1.3.

  • Remove previously deprecated code. :pr:4995

    • The push and pop methods of the deprecated _app_ctx_stack and _request_ctx_stack objects are removed. top still exists to give extensions more time to update, but it will be removed.
    • The FLASK_ENV environment variable, ENV config key, and app.env property are removed.
    • The session_cookie_name, send_file_max_age_default, use_x_sendfile, propagate_exceptions, and templates_auto_reload properties on app are removed.
    • The JSON_AS_ASCII, JSON_SORT_KEYS, JSONIFY_MIMETYPE, and JSONIFY_PRETTYPRINT_REGULAR config keys are removed.
    • The app.before_first_request and bp.before_app_first_request decorators are removed.
    • json_encoder and json_decoder attributes on app and blueprint, and the corresponding json.JSONEncoder and JSONDecoder classes, are removed.
    • The json.htmlsafe_dumps and htmlsafe_dump functions are removed.
    • Calling setup methods on blueprints after registration is an error instead of a warning. :pr:4997
  • Importing escape and Markup from flask is deprecated. Import them directly from markupsafe instead. :pr:4996

  • The app.got_first_request property is deprecated. :pr:4997

  • The locked_cached_property decorator is deprecated. Use a lock inside the decorated function if locking is needed. :issue:4993

... (truncated)

Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=flask&package-manager=pip&previous-version=2.0.3&new-version=2.3.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/awslabs/aws-dataall/network/alerts).
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- backend/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/requirements.txt b/backend/requirements.txt index 7429e61c9..09d8a7abe 100644 --- a/backend/requirements.txt +++ b/backend/requirements.txt @@ -3,7 +3,7 @@ aws-xray-sdk==2.4.3 boto3==1.26.95 botocore==1.29.95 fastapi == 0.92.0 -Flask==2.0.3 +Flask==2.3.2 flask-cors==3.0.10 nanoid==2.0.0 opensearch-py==1.0.0 From e4b3e733d32bc179a2fce9493d9c5d4a7bb08fed Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 2 May 2023 13:41:27 +0200 Subject: [PATCH 13/53] Bump flask from 2.0.3 to 2.3.2 in /backend/dataall/cdkproxy (#438) Bumps [flask](https://github.com/pallets/flask) from 2.0.3 to 2.3.2.
Release notes

Sourced from flask's releases.

2.3.2

This is a security fix release for the 2.3.x release branch.

2.3.1

This is a fix release for the 2.3.x release branch.

2.3.0

This is a feature release, which includes new features, removes previously deprecated code, and adds new deprecations. The 2.3.x branch is now the supported fix branch, the 2.2.x branch will become a tag marking the end of support for that branch. We encourage everyone to upgrade, and to use a tool such as pip-tools to pin all dependencies and control upgrades. Test with warnings treated as errors to be able to adapt to deprecation warnings early.

2.2.4

This is a fix release for the 2.2.x release branch.

2.2.3

This is a fix release for the 2.2.x release branch.

2.2.2

This is a fix release for the 2.2.0 feature release.

2.2.1

This is a fix release for the 2.2.0 feature release.

2.2.0

This is a feature release, which includes new features and removes previously deprecated code. The 2.2.x branch is now the supported bug fix branch, the 2.1.x branch will become a tag marking the end of support for that branch. We encourage everyone to upgrade, and to use a tool such as pip-tools to pin all dependencies and control upgrades.

2.1.3

... (truncated)

Changelog

Sourced from flask's changelog.

Version 2.3.2

Released 2023-05-01

  • Set Vary: Cookie header when the session is accessed, modified, or refreshed.
  • Update Werkzeug requirement to >=2.3.3 to apply recent bug fixes.

Version 2.3.1

Released 2023-04-25

  • Restore deprecated from flask import Markup. :issue:5084

Version 2.3.0

Released 2023-04-25

  • Drop support for Python 3.7. :pr:5072

  • Update minimum requirements to the latest versions: Werkzeug>=2.3.0, Jinja2>3.1.2, itsdangerous>=2.1.2, click>=8.1.3.

  • Remove previously deprecated code. :pr:4995

    • The push and pop methods of the deprecated _app_ctx_stack and _request_ctx_stack objects are removed. top still exists to give extensions more time to update, but it will be removed.
    • The FLASK_ENV environment variable, ENV config key, and app.env property are removed.
    • The session_cookie_name, send_file_max_age_default, use_x_sendfile, propagate_exceptions, and templates_auto_reload properties on app are removed.
    • The JSON_AS_ASCII, JSON_SORT_KEYS, JSONIFY_MIMETYPE, and JSONIFY_PRETTYPRINT_REGULAR config keys are removed.
    • The app.before_first_request and bp.before_app_first_request decorators are removed.
    • json_encoder and json_decoder attributes on app and blueprint, and the corresponding json.JSONEncoder and JSONDecoder classes, are removed.
    • The json.htmlsafe_dumps and htmlsafe_dump functions are removed.
    • Calling setup methods on blueprints after registration is an error instead of a warning. :pr:4997
  • Importing escape and Markup from flask is deprecated. Import them directly from markupsafe instead. :pr:4996

  • The app.got_first_request property is deprecated. :pr:4997

  • The locked_cached_property decorator is deprecated. Use a lock inside the decorated function if locking is needed. :issue:4993

... (truncated)

Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=flask&package-manager=pip&previous-version=2.0.3&new-version=2.3.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/awslabs/aws-dataall/network/alerts).
--------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Nikita Podshivalov --- backend/dataall/cdkproxy/requirements.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/backend/dataall/cdkproxy/requirements.txt b/backend/dataall/cdkproxy/requirements.txt index f2da84ebe..ccd390c61 100644 --- a/backend/dataall/cdkproxy/requirements.txt +++ b/backend/dataall/cdkproxy/requirements.txt @@ -7,13 +7,13 @@ cdk-nag==2.7.2 constructs==10.0.73 starlette==0.25.0 fastapi == 0.92.0 -Flask==2.0.3 +Flask==2.3.2 PyYAML==6.0 requests==2.27.1 tabulate==0.8.9 uvicorn==0.15.0 -jinja2==3.0.3 -werkzeug==2.2.3 +jinja2==3.1.2 +werkzeug==2.3.3 constructs>=10.0.0,<11.0.0 git-remote-codecommit==1.16 aws-ddk==0.5.1 From 2a319ca2c8fdf67251974ecab6f00e1c392c5426 Mon Sep 17 00:00:00 2001 From: Abdulrahman Kaitoua Date: Fri, 5 May 2023 09:47:52 +0200 Subject: [PATCH 14/53] solve deployment bug #433 CloudFront logs does not enable ACL access (#437) ### Feature or Bugfix - Bugfix ### Detail Solved bug 433, starting from April 2023 S3 default configurations changed, the default for s3 is set to disable ACL. Which is giving an issue for cloudfront logging on s3. The solution was to change the ownership of the object to object writer (enabling ACL for object writer as stated in cloudfront documentation). ### Relates [- ](https://github.com/awslabs/aws-dataall/issues/433) By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. Co-authored-by: akaitoua-sa <126820454+akaitoua-sa@users.noreply.github.com> --- deploy/stacks/cloudfront.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/deploy/stacks/cloudfront.py b/deploy/stacks/cloudfront.py index 5fe398423..382b91d8e 100644 --- a/deploy/stacks/cloudfront.py +++ b/deploy/stacks/cloudfront.py @@ -226,6 +226,7 @@ def __init__( block_public_access=s3.BlockPublicAccess.BLOCK_ALL, enforce_ssl=True, versioned=True, + object_ownership=s3.ObjectOwnership.OBJECT_WRITER, ) frontend_alternate_domain = None @@ -240,6 +241,7 @@ def __init__( removal_policy=RemovalPolicy.DESTROY, block_public_access=s3.BlockPublicAccess.BLOCK_ALL, enforce_ssl=True, + object_ownership=s3.ObjectOwnership.OBJECT_WRITER, ) origin_access_identity = cloudfront.OriginAccessIdentity( @@ -545,6 +547,7 @@ def build_static_site( removal_policy=RemovalPolicy.DESTROY, block_public_access=s3.BlockPublicAccess.BLOCK_ALL, enforce_ssl=True, + object_ownership=s3.ObjectOwnership.OBJECT_WRITER, ) origin_access_identity = cloudfront.OriginAccessIdentity( From 13a2fc082694600a0dacaa7e88d0d61ec950d753 Mon Sep 17 00:00:00 2001 From: dlpzx <71252798+dlpzx@users.noreply.github.com> Date: Wed, 10 May 2023 10:15:11 +0200 Subject: [PATCH 15/53] =?UTF-8?q?Modify=20docker-compose=20yaml=20to=20rea?= =?UTF-8?q?d=20region=20and=20default=20region=20from=20env=E2=80=A6=20(#4?= =?UTF-8?q?46)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ### Feature or Bugfix - Bugfix - Refactoring ### Detail Added `AWS_REGION` to the environment variables of the Docker containers for local development. Set both`AWS_DEFAULT_REGION` and `AWS_REGION` to their values set on the terminal where `docker-compose up` is run. If these values are not set, `eu-west-1` is used as default Another PR with better instructions to the github pages documentation (deploy locally) will follow. ### Relates By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. --- docker-compose.yaml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docker-compose.yaml b/docker-compose.yaml index 0668ffcd8..bd41b1925 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -16,7 +16,8 @@ services: - db environment: envname: 'dkrcompose' - AWS_DEFAULT_REGION: "eu-west-1" + AWS_REGION: "${AWS_REGION:-eu-west-1}" + AWS_DEFAULT_REGION: "${AWS_DEFAULT_REGION:-eu-west-1}" volumes: - ./backend:/code - $HOME/.aws/credentials:/root/.aws/credentials:ro @@ -36,7 +37,8 @@ services: - 5000:5000 environment: envname: 'dkrcompose' - AWS_DEFAULT_REGION: "eu-west-1" + AWS_REGION: "${AWS_REGION:-eu-west-1}" + AWS_DEFAULT_REGION: "${AWS_DEFAULT_REGION:-eu-west-1}" volumes: - ./backend:/code - $HOME/.aws/credentials:/root/.aws/credentials:ro From e9ebb086dd03c1bb8c4e0db9ac194ea26f298c79 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 16 May 2023 13:05:02 +0200 Subject: [PATCH 16/53] Bump pymdown-extensions from 8.1.1 to 10.0 in /documentation/userguide (#456) Bumps pymdown-extensions from 8.1.1 to 10.0. --- documentation/userguide/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/userguide/requirements.txt b/documentation/userguide/requirements.txt index 8dcd4add6..116221455 100644 --- a/documentation/userguide/requirements.txt +++ b/documentation/userguide/requirements.txt @@ -1,2 +1,2 @@ mkdocs-material==6.1.7 -pymdown-extensions==8.1.1 +pymdown-extensions==10.0 From 4ad8ce78e6ab74790fe0c5621b4dcaddbf8b29c9 Mon Sep 17 00:00:00 2001 From: dlpzx <71252798+dlpzx@users.noreply.github.com> Date: Wed, 17 May 2023 13:02:19 +0200 Subject: [PATCH 17/53] Bump starlette from 0.25.0 to 0.27.0 and upgrade fastapi (#460) ### Feature or Bugfix - Bugfix ### Detail - Solve vulnerabilities found in starlette 0.25.0 ### Relates By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. --- backend/dataall/cdkproxy/requirements.txt | 4 ++-- backend/requirements.txt | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/backend/dataall/cdkproxy/requirements.txt b/backend/dataall/cdkproxy/requirements.txt index ccd390c61..b4630dc27 100644 --- a/backend/dataall/cdkproxy/requirements.txt +++ b/backend/dataall/cdkproxy/requirements.txt @@ -5,8 +5,8 @@ boto3-stubs==1.24.85 botocore==1.27.85 cdk-nag==2.7.2 constructs==10.0.73 -starlette==0.25.0 -fastapi == 0.92.0 +starlette==0.27.0 +fastapi == 0.95.2 Flask==2.3.2 PyYAML==6.0 requests==2.27.1 diff --git a/backend/requirements.txt b/backend/requirements.txt index 09d8a7abe..ee569f2d8 100644 --- a/backend/requirements.txt +++ b/backend/requirements.txt @@ -2,7 +2,7 @@ ariadne==0.17.0 aws-xray-sdk==2.4.3 boto3==1.26.95 botocore==1.29.95 -fastapi == 0.92.0 +fastapi == 0.95.2 Flask==2.3.2 flask-cors==3.0.10 nanoid==2.0.0 @@ -14,4 +14,4 @@ PyYAML==6.0 requests==2.27.1 requests_aws4auth==1.1.1 sqlalchemy==1.3.24 -starlette==0.25.0 \ No newline at end of file +starlette==0.27.0 \ No newline at end of file From ee4f34cfa2db0e4704e0018e20468d3f8a19c6d8 Mon Sep 17 00:00:00 2001 From: Gezim Musliaj <102723839+gmuslia@users.noreply.github.com> Date: Wed, 17 May 2023 15:42:43 +0200 Subject: [PATCH 18/53] Fixes issue with existing cognito callbacks (#464) ### Feature or Bugfix - BugFix ### Detail - In line (https://github.com/awslabs/aws-dataall/blob/13a2fc082694600a0dacaa7e88d0d61ec950d753/deploy/configs/cognito_urls_config.py#L61) It checks for example.com where instead the right callback to check is ```https://example.com``` and that's why it doesn't get replaced during the configuration phase. ### Relates - https://github.com/awslabs/aws-dataall/issues/454 By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. --- deploy/configs/cognito_urls_config.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/deploy/configs/cognito_urls_config.py b/deploy/configs/cognito_urls_config.py index d71e8189b..52c8f9155 100644 --- a/deploy/configs/cognito_urls_config.py +++ b/deploy/configs/cognito_urls_config.py @@ -58,8 +58,8 @@ def setup_cognito( f'https://{user_guide_link}/parseauth', ] existing_callbacks = user_pool['UserPoolClient'].get('CallbackURLs', []) - if 'example.com' in existing_callbacks: - existing_callbacks.remove('example.com') + if 'https://example.com' in existing_callbacks: + existing_callbacks.remove('https://example.com') updated_callbacks = existing_callbacks + list( set(config_callbacks) - set(existing_callbacks) ) From 3b85ad2acc8fd1107d7caf60d714e89b10130595 Mon Sep 17 00:00:00 2001 From: kukushking Date: Mon, 22 May 2023 08:25:17 +0100 Subject: [PATCH 19/53] Fix lambda/ECS IAM permissions for AOSS (#467) ### Feature or Bugfix - Bugfix ### Detail - Add "aoss:APIAccessAll" to lambda/ECS task IAM roles required since May 10th (see message below). Fixes 403 errors from APIs. ``` [Action required] Amazon OpenSearch Serverless requires mandatory IAM permission for access to resources Starting May 10th, 2023, OpenSearch Serverless is mandating two new IAM permissions for collection resources. The two IAM permissions are "aoss:APIAccessAll" for Data Plane API access, and "aoss:DashboardsAccessAll" for Dashboards access from the browser. You are required to add these two IAM permissions for your OpenSearch Serverless "aoss:APIAccessAll" for Data Plane API access, and "aoss:DashboardsAccessAll" for Dashboards access. You must complete this action by May 9th, 2023. Failure to add the two new IAM permissions will result in 403 errors starting on May 10th, 2023 For a sample data-plane policy [here](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/security-iam-serverless.html#security_iam_id-based-policy-examples-data-plane.html) If you have any questions or concerns, please contact [AWS Support](https://aws.amazon.com/support) ``` By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. --- deploy/stacks/container.py | 8 ++++++++ deploy/stacks/lambda_api.py | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/deploy/stacks/container.py b/deploy/stacks/container.py index a667c6898..997ad5d76 100644 --- a/deploy/stacks/container.py +++ b/deploy/stacks/container.py @@ -426,6 +426,14 @@ def create_task_role(self, envname, resource_prefix, pivot_role_name): ], resources=['*'], ), + iam.PolicyStatement( + actions=[ + 'aoss:APIAccessAll', + ], + resources=[ + f'arn:aws:aoss:{self.region}:{self.account}:collection/*', + ], + ), ], ) task_role = iam.Role( diff --git a/deploy/stacks/lambda_api.py b/deploy/stacks/lambda_api.py index 19b42e754..95c670f78 100644 --- a/deploy/stacks/lambda_api.py +++ b/deploy/stacks/lambda_api.py @@ -243,6 +243,14 @@ def create_function_role(self, envname, resource_prefix, fn_name, pivot_role_nam ], resources=['*'], ), + iam.PolicyStatement( + actions=[ + 'aoss:APIAccessAll', + ], + resources=[ + f'arn:aws:aoss:{self.region}:{self.account}:collection/*', + ], + ), ], ) role = iam.Role( From 3097a3a30a7fd8981b409a1f7fcd1463881344c9 Mon Sep 17 00:00:00 2001 From: Rick Bernotas <97474536+rbernotas@users.noreply.github.com> Date: Mon, 22 May 2023 03:41:49 -0500 Subject: [PATCH 20/53] 465 - Update Aurora default Parameter Group to 'default.aurora-postgresql11'. (#466) ### Feature or Bugfix - Bugfix ### Detail - Update Aurora default Parameter Group to 'default.aurora-postgresql11'. Fixes an issue where the Aurora nested stack deploy in the data.all backend deploy would fail and/or block indefinitely due to 'default.aurora-postgresql10' mismatch with version 11 of the Aurora database engine. ### Relates - https://github.com/awslabs/aws-dataall/issues/465 By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. Authored-by: rbernota --- deploy/stacks/aurora.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deploy/stacks/aurora.py b/deploy/stacks/aurora.py index 9e66d3684..5a96bea1a 100644 --- a/deploy/stacks/aurora.py +++ b/deploy/stacks/aurora.py @@ -125,7 +125,7 @@ def __init__( deletion_protection=True, cluster_identifier=f'{resource_prefix}-{envname}-db', parameter_group=rds.ParameterGroup.from_parameter_group_name( - self, 'ParameterGroup', 'default.aurora-postgresql10' + self, 'ParameterGroup', 'default.aurora-postgresql11' ), enable_data_api=True, default_database_name=f'{envname}db', From fd7da756c8d73533131265950ca0ef8f0927ad69 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 23 May 2023 08:33:31 +0200 Subject: [PATCH 21/53] Bump requests from 2.27.1 to 2.31.0 in /backend (#469) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [requests](https://github.com/psf/requests) from 2.27.1 to 2.31.0.
Release notes

Sourced from requests's releases.

v2.31.0

2.31.0 (2023-05-22)

Security

  • Versions of Requests between v2.3.0 and v2.30.0 are vulnerable to potential forwarding of Proxy-Authorization headers to destination servers when following HTTPS redirects.

    When proxies are defined with user info (https://user:pass@proxy:8080), Requests will construct a Proxy-Authorization header that is attached to the request to authenticate with the proxy.

    In cases where Requests receives a redirect response, it previously reattached the Proxy-Authorization header incorrectly, resulting in the value being sent through the tunneled connection to the destination server. Users who rely on defining their proxy credentials in the URL are strongly encouraged to upgrade to Requests 2.31.0+ to prevent unintentional leakage and rotate their proxy credentials once the change has been fully deployed.

    Users who do not use a proxy or do not supply their proxy credentials through the user information portion of their proxy URL are not subject to this vulnerability.

    Full details can be read in our Github Security Advisory and CVE-2023-32681.

v2.30.0

2.30.0 (2023-05-03)

Dependencies

v2.29.0

2.29.0 (2023-04-26)

Improvements

  • Requests now defers chunked requests to the urllib3 implementation to improve standardization. (#6226)
  • Requests relaxes header component requirements to support bytes/str subclasses. (#6356)

... (truncated)

Changelog

Sourced from requests's changelog.

2.31.0 (2023-05-22)

Security

  • Versions of Requests between v2.3.0 and v2.30.0 are vulnerable to potential forwarding of Proxy-Authorization headers to destination servers when following HTTPS redirects.

    When proxies are defined with user info (https://user:pass@proxy:8080), Requests will construct a Proxy-Authorization header that is attached to the request to authenticate with the proxy.

    In cases where Requests receives a redirect response, it previously reattached the Proxy-Authorization header incorrectly, resulting in the value being sent through the tunneled connection to the destination server. Users who rely on defining their proxy credentials in the URL are strongly encouraged to upgrade to Requests 2.31.0+ to prevent unintentional leakage and rotate their proxy credentials once the change has been fully deployed.

    Users who do not use a proxy or do not supply their proxy credentials through the user information portion of their proxy URL are not subject to this vulnerability.

    Full details can be read in our Github Security Advisory and CVE-2023-32681.

2.30.0 (2023-05-03)

Dependencies

2.29.0 (2023-04-26)

Improvements

  • Requests now defers chunked requests to the urllib3 implementation to improve standardization. (#6226)
  • Requests relaxes header component requirements to support bytes/str subclasses. (#6356)

2.28.2 (2023-01-12)

... (truncated)

Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=requests&package-manager=pip&previous-version=2.27.1&new-version=2.31.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/awslabs/aws-dataall/network/alerts).
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- backend/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/requirements.txt b/backend/requirements.txt index ee569f2d8..16f1de1bc 100644 --- a/backend/requirements.txt +++ b/backend/requirements.txt @@ -11,7 +11,7 @@ PyAthena==2.3.0 pygresql==5.2.2 pyjwt==2.4.0 PyYAML==6.0 -requests==2.27.1 +requests==2.31.0 requests_aws4auth==1.1.1 sqlalchemy==1.3.24 starlette==0.27.0 \ No newline at end of file From 65ea17b429edb3bea1be3bb00c9af836fe603f0c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 23 May 2023 08:34:11 +0200 Subject: [PATCH 22/53] Bump requests from 2.27.1 to 2.31.0 in /backend/dataall/cdkproxy (#470) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [//]: # (dependabot-start) ⚠️ **Dependabot is rebasing this PR** ⚠️ Rebasing might not happen immediately, so don't worry if this takes some time. Note: if you make any changes to this PR yourself, they will take precedence over the rebase. --- [//]: # (dependabot-end) Bumps [requests](https://github.com/psf/requests) from 2.27.1 to 2.31.0.
Release notes

Sourced from requests's releases.

v2.31.0

2.31.0 (2023-05-22)

Security

  • Versions of Requests between v2.3.0 and v2.30.0 are vulnerable to potential forwarding of Proxy-Authorization headers to destination servers when following HTTPS redirects.

    When proxies are defined with user info (https://user:pass@proxy:8080), Requests will construct a Proxy-Authorization header that is attached to the request to authenticate with the proxy.

    In cases where Requests receives a redirect response, it previously reattached the Proxy-Authorization header incorrectly, resulting in the value being sent through the tunneled connection to the destination server. Users who rely on defining their proxy credentials in the URL are strongly encouraged to upgrade to Requests 2.31.0+ to prevent unintentional leakage and rotate their proxy credentials once the change has been fully deployed.

    Users who do not use a proxy or do not supply their proxy credentials through the user information portion of their proxy URL are not subject to this vulnerability.

    Full details can be read in our Github Security Advisory and CVE-2023-32681.

v2.30.0

2.30.0 (2023-05-03)

Dependencies

v2.29.0

2.29.0 (2023-04-26)

Improvements

  • Requests now defers chunked requests to the urllib3 implementation to improve standardization. (#6226)
  • Requests relaxes header component requirements to support bytes/str subclasses. (#6356)

... (truncated)

Changelog

Sourced from requests's changelog.

2.31.0 (2023-05-22)

Security

  • Versions of Requests between v2.3.0 and v2.30.0 are vulnerable to potential forwarding of Proxy-Authorization headers to destination servers when following HTTPS redirects.

    When proxies are defined with user info (https://user:pass@proxy:8080), Requests will construct a Proxy-Authorization header that is attached to the request to authenticate with the proxy.

    In cases where Requests receives a redirect response, it previously reattached the Proxy-Authorization header incorrectly, resulting in the value being sent through the tunneled connection to the destination server. Users who rely on defining their proxy credentials in the URL are strongly encouraged to upgrade to Requests 2.31.0+ to prevent unintentional leakage and rotate their proxy credentials once the change has been fully deployed.

    Users who do not use a proxy or do not supply their proxy credentials through the user information portion of their proxy URL are not subject to this vulnerability.

    Full details can be read in our Github Security Advisory and CVE-2023-32681.

2.30.0 (2023-05-03)

Dependencies

2.29.0 (2023-04-26)

Improvements

  • Requests now defers chunked requests to the urllib3 implementation to improve standardization. (#6226)
  • Requests relaxes header component requirements to support bytes/str subclasses. (#6356)

2.28.2 (2023-01-12)

... (truncated)

Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=requests&package-manager=pip&previous-version=2.27.1&new-version=2.31.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/awslabs/aws-dataall/network/alerts).
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- backend/dataall/cdkproxy/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/dataall/cdkproxy/requirements.txt b/backend/dataall/cdkproxy/requirements.txt index b4630dc27..2cb7f41a4 100644 --- a/backend/dataall/cdkproxy/requirements.txt +++ b/backend/dataall/cdkproxy/requirements.txt @@ -9,7 +9,7 @@ starlette==0.27.0 fastapi == 0.95.2 Flask==2.3.2 PyYAML==6.0 -requests==2.27.1 +requests==2.31.0 tabulate==0.8.9 uvicorn==0.15.0 jinja2==3.1.2 From b59cf9ee9bfa3db63960f874d885aa6bf76077a3 Mon Sep 17 00:00:00 2001 From: dlpzx <71252798+dlpzx@users.noreply.github.com> Date: Tue, 23 May 2023 15:40:09 +0200 Subject: [PATCH 23/53] hotfix: Remove GitHub template option from data.all Pipelines (#472) ### Feature or Bugfix - Bugfix ### Detail Remove the GitHub template development strategy from the possible types of data.all pipelines. The initial idea was to use the parameter `--template` from the [AWS DDK CLI](https://awslabs.github.io/aws-ddk/release/stable/api/cli/aws_ddk.html#ddk-init) which has been deprecated after its last major release (1.0.0). Using templates would enable customers to use any cookiecutter template directly in data.all. However, from the way that it was implemented it exposed a **vulnerability** in which customers could enter code instead of a template and perform cmd code injections in data.all ECS deployment task. Given that this is a high-risk issue + AWS DDK 1.0.0 does not use CLI + `templates` are not critical for any known customer we will remove it for the moment to ensure security. In the future we will revisit other ways of providing templates and accelerating data pipeline building in a secure manner. ### Relates By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. --- .../api/Objects/DataPipeline/input_types.py | 1 - .../api/Objects/DataPipeline/resolvers.py | 10 ----- backend/dataall/cdkproxy/cdk_cli_wrapper.py | 20 ++-------- .../cdkproxy/cdkpipeline/cdk_pipeline.py | 37 ++----------------- backend/dataall/db/api/pipeline.py | 2 +- documentation/userguide/docs/pipelines.md | 19 +--------- .../src/views/Pipelines/PipelineCreateForm.js | 22 +---------- frontend/src/views/Pipelines/PipelineList.js | 2 +- tests/api/conftest.py | 1 - tests/api/test_datapipelines.py | 1 - 10 files changed, 11 insertions(+), 104 deletions(-) diff --git a/backend/dataall/api/Objects/DataPipeline/input_types.py b/backend/dataall/api/Objects/DataPipeline/input_types.py index 07cf234fe..98ccf23b3 100644 --- a/backend/dataall/api/Objects/DataPipeline/input_types.py +++ b/backend/dataall/api/Objects/DataPipeline/input_types.py @@ -9,7 +9,6 @@ gql.Argument(name='SamlGroupName', type=gql.NonNullableType(gql.String)), gql.Argument(name='tags', type=gql.ArrayType(gql.String)), gql.Argument(name='devStrategy', type=gql.NonNullableType(gql.String)), - gql.Argument(name='template', type=gql.String) ], ) diff --git a/backend/dataall/api/Objects/DataPipeline/resolvers.py b/backend/dataall/api/Objects/DataPipeline/resolvers.py index d5db551bb..e431a0cbe 100644 --- a/backend/dataall/api/Objects/DataPipeline/resolvers.py +++ b/backend/dataall/api/Objects/DataPipeline/resolvers.py @@ -7,7 +7,6 @@ from ...context import Context from ....aws.handlers.service_handlers import Worker from ....aws.handlers.sts import SessionHelper -from ....aws.handlers.codecommit import CodeCommit from ....db import permissions, models, exceptions from ....db.api import Pipeline, Environment, ResourcePolicy, Stack, KeyValueTag @@ -33,15 +32,6 @@ def create_pipeline(context: Context, source, input=None): target_label=pipeline.label, payload={'account': pipeline.AwsAccountId, 'region': pipeline.region}, ) - elif input['devStrategy'] == 'template': - Stack.create_stack( - session=session, - environment_uri=pipeline.environmentUri, - target_type='template', - target_uri=pipeline.DataPipelineUri, - target_label=pipeline.label, - payload={'account': pipeline.AwsAccountId, 'region': pipeline.region}, - ) else: Stack.create_stack( session=session, diff --git a/backend/dataall/cdkproxy/cdk_cli_wrapper.py b/backend/dataall/cdkproxy/cdk_cli_wrapper.py index fccd192cf..d8fc98f8c 100644 --- a/backend/dataall/cdkproxy/cdk_cli_wrapper.py +++ b/backend/dataall/cdkproxy/cdk_cli_wrapper.py @@ -69,7 +69,7 @@ def deploy_cdk_stack(engine: Engine, stackid: str, app_path: str = None, path: s stack.status = 'PENDING' session.commit() - if stack.stack == 'cdkpipeline' or stack.stack == 'template': + if stack.stack == 'cdkpipeline': cdkpipeline = CDKPipelineStack(stack.targetUri) venv_name = cdkpipeline.venv_name if cdkpipeline.venv_name else None pipeline = Pipeline.get_pipeline_by_uri(session, stack.targetUri) @@ -106,18 +106,6 @@ def deploy_cdk_stack(engine: Engine, stackid: str, app_path: str = None, path: s 'AWS_SESSION_TOKEN': creds.get('Token'), } ) - if stack.stack == 'template': - resp = subprocess.run( - ['. ~/.nvm/nvm.sh && cdk ls'], - cwd=cwd, - text=True, - shell=True, # nosec - encoding='utf-8', - stdout=subprocess.PIPE, - env=env, - ) - logger.info(f'CDK Apps: {resp.stdout}') - stack.name = resp.stdout.split('\n')[0] app_path = app_path or './app.py' @@ -150,9 +138,7 @@ def deploy_cdk_stack(engine: Engine, stackid: str, app_path: str = None, path: s '--verbose', ] - if stack.stack == 'template' or stack.stack == 'cdkpipeline': - if stack.stack == 'template': - cmd.insert(0, f'source {venv_name}/bin/activate;') + if stack.stack == 'cdkpipeline': aws = SessionHelper.remote_session(stack.accountid) creds = aws.get_credentials() env.update( @@ -177,7 +163,7 @@ def deploy_cdk_stack(engine: Engine, stackid: str, app_path: str = None, path: s env=env, cwd=cwd, ) - if stack.stack == 'cdkpipeline' or stack.stack == 'template': + if stack.stack == 'cdkpipeline': CDKPipelineStack.clean_up_repo(path=f'./{pipeline.repo}') if process.returncode == 0: diff --git a/backend/dataall/cdkproxy/cdkpipeline/cdk_pipeline.py b/backend/dataall/cdkproxy/cdkpipeline/cdk_pipeline.py index 114967db7..abb5fc036 100644 --- a/backend/dataall/cdkproxy/cdkpipeline/cdk_pipeline.py +++ b/backend/dataall/cdkproxy/cdkpipeline/cdk_pipeline.py @@ -45,7 +45,6 @@ def __init__(self, target_uri): self.env, aws = CDKPipelineStack._set_env_vars(self.pipeline_environment) self.code_dir_path = os.path.dirname(os.path.abspath(__file__)) - template = self.pipeline.template try: codecommit_client = aws.client('codecommit', region_name=self.pipeline_environment.region) @@ -82,12 +81,9 @@ def __init__(self, target_uri): else: raise Exception except Exception as e: - if len(template): - self.venv_name = self.initialize_repo_template(template) - else: - self.venv_name = self.initialize_repo() - CDKPipelineStack.write_ddk_app_multienvironment(path=os.path.join(self.code_dir_path, self.pipeline.repo), output_file="app.py", pipeline=self.pipeline, development_environments=self.development_environments) - CDKPipelineStack.write_ddk_json_multienvironment(path=os.path.join(self.code_dir_path, self.pipeline.repo), output_file="ddk.json", pipeline_environment=self.pipeline_environment, development_environments=self.development_environments) + self.venv_name = self.initialize_repo() + CDKPipelineStack.write_ddk_app_multienvironment(path=os.path.join(self.code_dir_path, self.pipeline.repo), output_file="app.py", pipeline=self.pipeline, development_environments=self.development_environments) + CDKPipelineStack.write_ddk_json_multienvironment(path=os.path.join(self.code_dir_path, self.pipeline.repo), output_file="ddk.json", pipeline_environment=self.pipeline_environment, development_environments=self.development_environments) self.git_push_repo() def initialize_repo(self): @@ -114,33 +110,6 @@ def initialize_repo(self): return venv_name - def initialize_repo_template(self, template): - venv_name = ".venv" - cmd_init = [ - f"git clone {template} {self.pipeline.repo}", - f"cd {self.pipeline.repo}", - "rm -rf .git", - "git init --initial-branch main", - f"python3 -m venv {venv_name} && source {venv_name}/bin/activate", - "pip install -r requirements.txt", - f"ddk create-repository {self.pipeline.repo} -t application dataall -t team {self.pipeline.SamlGroupName}" - ] - - logger.info(f"Running Commands: {'; '.join(cmd_init)}") - - process = subprocess.run( - '; '.join(cmd_init), - text=True, - shell=True, # nosec - encoding='utf-8', - cwd=self.code_dir_path, - env=self.env - ) - if process.returncode == 0: - logger.info("Successfully Initialized New CDK/DDK App") - - return venv_name - @staticmethod def write_ddk_json_multienvironment(path, output_file, pipeline_environment, development_environments): json_envs = "" diff --git a/backend/dataall/db/api/pipeline.py b/backend/dataall/db/api/pipeline.py index 6007be39d..75cfb47d1 100644 --- a/backend/dataall/db/api/pipeline.py +++ b/backend/dataall/db/api/pipeline.py @@ -63,7 +63,7 @@ def create_pipeline( region=environment.region, repo=slugify(data['label']), devStrategy=data['devStrategy'], - template=data['template'] if data['devStrategy'] == 'template' else "", + template="", ) session.add(pipeline) diff --git a/documentation/userguide/docs/pipelines.md b/documentation/userguide/docs/pipelines.md index 6ec6a2f40..478a467fa 100644 --- a/documentation/userguide/docs/pipelines.md +++ b/documentation/userguide/docs/pipelines.md @@ -42,7 +42,6 @@ data.all pipelines are created from the UI, under Pipelines. We need to fill the 1. [**CDK Pipelines - Trunk-based**](#CDK-Pipelines-Overview) : A CICD pipeline based on [CDK Pipelines library](https://docs.aws.amazon.com/cdk/api/v2/python/aws_cdk.pipelines/README.html). It defines a DDK Core construct which deploys Continuous Integration and Delivery for your app. Specifically, it provisions a stack containing a self-mutating CDK code pipeline to deploy one or more copies of your CDK applications using CloudFormation with a minimal amount of effort on your part. 2. [**CodePipeline - Trunk-based**](#CodePipeline-pipelines---Trunk-based-or-GitFlow-Overview) : A CICD pipeline similar to CDK Pipelines and with a trunk-based approach but is not self-mutating. 3. [**CodePipeline - Gitflow**](#CodePipeline-pipelines---Trunk-based-or-GitFlow-Overview): A Gitflow branching strategy where each branch of the source repository has a corresponding CICD Pipeline that deploys resources for that branches environment. - 4. [**GitHub Template**](#Github-Template-Pipelines-Overview) : This is a Bring-Your-Own-Template approach where users can specify they git clone path and deploy their own pipelines and IaC rather than using one of the previous 3 strategies. Finally, we need to add **Development environments**. These are the AWS accounts and regions where the infrastructure defined in the CICD pipeline is deployed. @@ -168,17 +167,7 @@ The `dev` pipeline reads from the `dev` branch of the repository: ![created_pipeline](pictures/pipelines/pip_cp_gitflow2.png#zoom#shadow) ---- -### Github Template Pipelines Overview - -This pipeline strategy takes a pre-defined IaC CDK Application that exists in a github repository and deploys the pipeline to be managed by data all. An AWS CodeCommit repository with the code of the github repository is created in the CICD environment AWS account. - -**NOTE: You may have to specify a access token in the HTTPS Clone Path of the Github Repository if the repository is private** - -data.all performs the inital deployment of this pipeline by running `cdk deploy` for the code now existing in AWS CodeCommit in the CICD environment. Adding development environments here is on the responsibility of the pipeline creator to align with the deployment environments specified in the cloned repository. - -![created_pipeline](pictures/pipelines/github_template_create.png#zoom#shadow) - +--- ## Editing a Data All Pipeline For users who would like to promote their pipeline deployments to new environments managed by data all, you can do so by first bootstrapping the new environment(s) to be deployed to (as mentioned in the [Pre-requisites](#Pre-requisites)) and then adding and/or editing the development environments. @@ -189,7 +178,6 @@ Based on pipeline use case, editing a data all pipeline's development environmen - **CDK Pipelines**: On update, the `ddk.json` and `app.py` will be edited to update the new development environment information. The self-mutating, CICD Pipeline will trigger and deploy to the new environments based on the source CodeCommit repository changes. - **CodePipelines - Trunk-based**: On update the `ddk.json` will be edited. A new `cdk deploy` will run to update the CICD CloudFormation Stack for the AWS CodePipeline to add the new stages required for the additional environment deployment(s) (as well as manual approval steps between stages in the code pipeline). You will see these updates to the CICD stack in CloudFormaiton of the CICD environment. - **CodePipelines - Gitflow**: On update the `ddk.json` will be edited. A new `cdk deploy` will run to update the CICD CloudFormation Stack to add the new AWS CodePipelines required for the additional environment deployment(s). You will see these updates to the CICD stack in CloudFormaiton of the CICD environment. -- **Github Template Pipelines**: Editing development environments **will NOT** re-deploy the application or update the CodeCommit repository. Editing of template pipeline's development environment(s) is the responsibility of the pipeline creator for proper data all pipeline management. ## Which development strategy should I choose? @@ -204,11 +192,6 @@ Based on pipeline use case, editing a data all pipeline's development environmen 2. Developers working on the pipeline cannot modify the CICD pipeline 3. Cross-account deployments require specific definition of the environment in the code. -**Github Template Pipelines** - -1. The aforementioned pipeline strategies do not align with your desired pipeline architecture -2. You already have pipelines IaC written in AWS CDK and ready to be deployed rather than creating pipeline(s) and developing from scratch - **Summary** diff --git a/frontend/src/views/Pipelines/PipelineCreateForm.js b/frontend/src/views/Pipelines/PipelineCreateForm.js index 1f3ffe456..00d195265 100644 --- a/frontend/src/views/Pipelines/PipelineCreateForm.js +++ b/frontend/src/views/Pipelines/PipelineCreateForm.js @@ -44,7 +44,7 @@ const PipelineCrateForm = (props) => { const [loading, setLoading] = useState(true); const [groupOptions, setGroupOptions] = useState([]); const [environmentOptions, setEnvironmentOptions] = useState([]); - const devOptions =[{value:"cdk-trunk", label:"CDK Pipelines - Trunk-based"},{value:"trunk", label:"CodePipeline - Trunk-based"},{value:"gitflow", label:"CodePipeline - Gitflow"},{value:"template", label:"GitHub Template"}];/*DBT Pipelines*/ + const devOptions =[{value:"cdk-trunk", label:"CDK Pipelines - Trunk-based"},{value:"trunk", label:"CodePipeline - Trunk-based"},{value:"gitflow", label:"CodePipeline - Gitflow"}];/*DBT Pipelines*/ const [triggerEnvSubmit, setTriggerEnvSubmit] = useState(false); const [countEnvironmentsValid, setCountEnvironmentsValid] = useState(false); const [pipelineUri, setPipelineUri] = useState(''); @@ -116,8 +116,7 @@ const PipelineCrateForm = (props) => { description: values.description, SamlGroupName: values.SamlGroupName, tags: values.tags, - devStrategy: values.devStrategy, - template: values.template + devStrategy: values.devStrategy } }) ); @@ -226,7 +225,6 @@ const PipelineCrateForm = (props) => { environment: '', tags: [], devStrategy: 'cdk-trunk', - template: '', }} validationSchema={Yup.object().shape({ label: Yup.string() @@ -238,7 +236,6 @@ const PipelineCrateForm = (props) => { environment: Yup.object(), devStrategy: Yup.string().required('*A CICD strategy is required'), tags: Yup.array().nullable(), - template: Yup.string().nullable(), })} onSubmit={async ( values, @@ -434,21 +431,6 @@ const PipelineCrateForm = (props) => { ))} - - {values.devStrategy === "template" && ( - - )} - diff --git a/frontend/src/views/Pipelines/PipelineList.js b/frontend/src/views/Pipelines/PipelineList.js index e3ff00c95..4ea57ba81 100644 --- a/frontend/src/views/Pipelines/PipelineList.js +++ b/frontend/src/views/Pipelines/PipelineList.js @@ -86,7 +86,7 @@ const PipelineList = () => { const [inputValue, setInputValue] = useState(''); const [loading, setLoading] = useState(true); const client = useClient(); - const devOptions =[{value:"cdk-trunk", label:"CDK Pipelines - Trunk-based"},{value:"trunk", label:"CodePipeline - Trunk-based"},{value:"gitflow", label:"CodePipeline - Gitflow"},{value:"template", label:"GitHub Template"}];/*DBT Pipelines*/ + const devOptions =[{value:"cdk-trunk", label:"CDK Pipelines - Trunk-based"},{value:"trunk", label:"CodePipeline - Trunk-based"},{value:"gitflow", label:"CodePipeline - Gitflow"}];/*DBT Pipelines*/ const [filterItems] = useState([{title:'DevStrategy', options: devOptions},{title:'Tags'},{title: 'Region', options: AwsRegions}]); const fetchItems = useCallback(async () => { diff --git a/tests/api/conftest.py b/tests/api/conftest.py index fa3be8ade..f3666d850 100644 --- a/tests/api/conftest.py +++ b/tests/api/conftest.py @@ -740,7 +740,6 @@ def pipeline(client, tenant, group, env_fixture) -> models.DataPipeline: 'tags': [group.name], 'environmentUri': env_fixture.environmentUri, 'devStrategy': 'trunk', - 'template': '', }, username='alice', groups=[group.name], diff --git a/tests/api/test_datapipelines.py b/tests/api/test_datapipelines.py index 81a8b4e03..9dcfd1446 100644 --- a/tests/api/test_datapipelines.py +++ b/tests/api/test_datapipelines.py @@ -40,7 +40,6 @@ def pipeline(client, tenant, group, env1): 'tags': [group.name], 'environmentUri': env1.environmentUri, 'devStrategy': 'trunk', - 'template': '' }, username='alice', groups=[group.name], From 3340610adb1f1897b3e8251f1b9b58b7ca578a90 Mon Sep 17 00:00:00 2001 From: David Mutune Kimengu <57294718+kimengu-david@users.noreply.github.com> Date: Wed, 24 May 2023 10:24:11 +0100 Subject: [PATCH 24/53] fix: Upgrade aurora engine version to 11.16 (#471) ### Feature or Bugfix - Bugfix ### Detail Update Aurora engine version to 11.16. Fixes an issue where the Aurora nested stack deployment in the data.all backend which goes to deployment account would fail as AuroraPostgresEngineVersion.VER_10_18 is not compatible with parameter group default.aurora-postgresql11 ### Relates - https://github.com/awslabs/aws-dataall/pull/466 By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. --- deploy/stacks/aurora.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deploy/stacks/aurora.py b/deploy/stacks/aurora.py index 5a96bea1a..6fe1975b0 100644 --- a/deploy/stacks/aurora.py +++ b/deploy/stacks/aurora.py @@ -120,7 +120,7 @@ def __init__( self, f'AuroraDatabase{envname}', engine=rds.DatabaseClusterEngine.aurora_postgres( - version=rds.AuroraPostgresEngineVersion.VER_10_18 + version=rds.AuroraPostgresEngineVersion.VER_11_16 ), deletion_protection=True, cluster_identifier=f'{resource_prefix}-{envname}-db', From b44125801d76e53557df4400c5d63600eedb4e9d Mon Sep 17 00:00:00 2001 From: Gezim Musliaj <102723839+gmuslia@users.noreply.github.com> Date: Wed, 24 May 2023 15:20:51 +0200 Subject: [PATCH 25/53] Updated CDK Version to fix issue with cdkproxy/ dataset stack creations (#476) ### Feature or Bugfix - BugFix ### Detail - cdkproxy was using an outdated version of aws-cdk-lib which uses NODEJS_12_X for the AWS Custom Resources Lambda Functions, which are now not anymore supported in the AWS Accounts and causes failure of the creation of CloudFormation stacks in the case when you create a new DataSet Stack - The version change also triggered a minor type enforcement for the AccountPrincipal AccountId to be explicitly ```string``` ### Relates - https://github.com/awslabs/aws-dataall/issues/475 By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. --- backend/dataall/cdkproxy/requirements.txt | 2 +- backend/dataall/cdkproxy/stacks/dataset.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/backend/dataall/cdkproxy/requirements.txt b/backend/dataall/cdkproxy/requirements.txt index 2cb7f41a4..8a3e6fb98 100644 --- a/backend/dataall/cdkproxy/requirements.txt +++ b/backend/dataall/cdkproxy/requirements.txt @@ -1,4 +1,4 @@ -aws-cdk-lib==2.20.0 +aws-cdk-lib==2.61.1 aws_cdk.aws_redshift_alpha==2.14.0a0 boto3==1.24.85 boto3-stubs==1.24.85 diff --git a/backend/dataall/cdkproxy/stacks/dataset.py b/backend/dataall/cdkproxy/stacks/dataset.py index 410d4b79d..d5306f5f0 100644 --- a/backend/dataall/cdkproxy/stacks/dataset.py +++ b/backend/dataall/cdkproxy/stacks/dataset.py @@ -296,7 +296,7 @@ def __init__(self, scope, id, target_uri: str = None, **kwargs): iam.ServicePrincipal('sagemaker.amazonaws.com'), iam.ServicePrincipal('lambda.amazonaws.com'), iam.ServicePrincipal('ec2.amazonaws.com'), - iam.AccountPrincipal(os.environ.get('CURRENT_AWS_ACCOUNT')), + iam.AccountPrincipal(str(os.environ.get('CURRENT_AWS_ACCOUNT'))), iam.AccountPrincipal(dataset.AwsAccountId), iam.ArnPrincipal( f'arn:aws:iam::{dataset.AwsAccountId}:role/{self.pivot_role_name}' From d0ea832bc8176baa7dc87624692e2f53701d9199 Mon Sep 17 00:00:00 2001 From: dlpzx <71252798+dlpzx@users.noreply.github.com> Date: Thu, 25 May 2023 12:08:18 +0200 Subject: [PATCH 26/53] update auth-at-edge semantic version to latest 2.1.5 (#480) ### Feature or Bugfix - Bugfix ### Detail Custom resources created by the [cloudfront-authorization-at-edge](https://github.com/aws-samples/cloudfront-authorization-at-edge/blob/master/example-serverless-app-reuse/README.md) application used in data.all use node12 for the version of the application previously used (2.0.4). By upgrading to the latest version (2.1.5) the Lambda custom resources used also use node14 at runtime. After upgrading the semantic version, I performed the following tests: - [X] upgrade a pre-existing deployment (Lambdas node12) and check that the runtime has been updated to node14. See screenshot below. - [X] open userguide (where auth at edge is used) in pre-existing deployment - [X] execute GraphQL APIs in pre-existing deployment - [X] execute ES APIs in pre-existing deployment ![image](https://github.com/awslabs/aws-dataall/assets/71252798/4d50a8fb-0084-48ee-adb8-d11b20dd6b4a) - [X] deploy data.all from scratch and check that the Lambdas deployed use node14 - [X] open userguide (where auth at edge is used) in new deployment - [X] execute GraphQL APIs in new deployment - [X] execute ES APIs in new deployment ![image](https://github.com/awslabs/aws-dataall/assets/71252798/341124bd-c4c7-4a94-b53b-e451306e2653) ### Relates - #479 By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. --- deploy/stacks/auth_at_edge.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deploy/stacks/auth_at_edge.py b/deploy/stacks/auth_at_edge.py index c6d434867..052eb04b0 100644 --- a/deploy/stacks/auth_at_edge.py +++ b/deploy/stacks/auth_at_edge.py @@ -23,7 +23,7 @@ def __init__(self, scope, id, envname='dev', resource_prefix='dataall', **kwargs f'{resource_prefix}-{envname}-authatedge', location={ 'applicationId': 'arn:aws:serverlessrepo:us-east-1:520945424137:applications/cloudfront-authorization-at-edge', - 'semanticVersion': '2.0.4', + 'semanticVersion': '2.1.5', }, parameters={ 'UserPoolArn': userpool_arn, From e9c64d79ea73d34c10c5dceeca45391c89c6a0c6 Mon Sep 17 00:00:00 2001 From: dlpzx <71252798+dlpzx@users.noreply.github.com> Date: Fri, 26 May 2023 11:37:05 +0200 Subject: [PATCH 27/53] fix: Fix typo that destroys storage locations (#481) ### Feature or Bugfix - Bugfix ### Detail The constant to define the dataallPivotRole missed an "a" and as a consequence the storage location for the Dataset was not registered ### Relates By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. --- backend/dataall/aws/handlers/lakeformation.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/dataall/aws/handlers/lakeformation.py b/backend/dataall/aws/handlers/lakeformation.py index e1939c536..ba91a6e47 100644 --- a/backend/dataall/aws/handlers/lakeformation.py +++ b/backend/dataall/aws/handlers/lakeformation.py @@ -6,7 +6,7 @@ from .sts import SessionHelper log = logging.getLogger('aws:lakeformation') -PIVOT_ROLE_NAME_PREFIX = "datallPivotRole" +PIVOT_ROLE_NAME_PREFIX = "dataallPivotRole" class LakeFormation: From 9fc84bf54a844deb42ab2a610ffd32deb628e5b9 Mon Sep 17 00:00:00 2001 From: Gezim Musliaj <102723839+gmuslia@users.noreply.github.com> Date: Tue, 30 May 2023 10:04:51 +0200 Subject: [PATCH 28/53] Update CDK Version to v2.77.0 to fix issue with CDK Pipeline role (#484) ### Feature or Bugfix - Bugfix - Refactoring ### Detail - The AWS Cloud Development Kit (CDK) Team recently identified an issue with the CDK Pipelines construct library that may result in unintended permissions being granted to authenticated users within your account. As of April 4, 2023, we have fixed the issue in version 1.200.0 [1] for CDK v1, and version 2.77.0 [2] for CDK v2. We strongly recommend you upgrade to one of these versions as soon as possible. Please refer to the Managing Dependencies documentation [3] in the CDK Developer Guide for instructions on how to perform the upgrade. Starting with versions 1.158.0 and 2.26.0, released May 30, 2022, the library creates a role that allows every identity in the same account with sts:AssumeRole permissions on Resource: * to assume it. This may result in granting privileges to authenticated users in your account allowing them to take pipeline actions beyond what was intended. ### Relates - N.A By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. --- backend/dataall/cdkproxy/requirements.txt | 2 +- deploy/requirements.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/backend/dataall/cdkproxy/requirements.txt b/backend/dataall/cdkproxy/requirements.txt index 8a3e6fb98..f85335573 100644 --- a/backend/dataall/cdkproxy/requirements.txt +++ b/backend/dataall/cdkproxy/requirements.txt @@ -1,4 +1,4 @@ -aws-cdk-lib==2.61.1 +aws-cdk-lib==2.77.0 aws_cdk.aws_redshift_alpha==2.14.0a0 boto3==1.24.85 boto3-stubs==1.24.85 diff --git a/deploy/requirements.txt b/deploy/requirements.txt index 5ea72abd5..4490b9d4a 100644 --- a/deploy/requirements.txt +++ b/deploy/requirements.txt @@ -1,4 +1,4 @@ -aws-cdk-lib==2.61.1 +aws-cdk-lib==2.77.0 boto3-stubs==1.20.20 boto3==1.24.85 botocore==1.27.85 From fa45abd0b2af1b97c4f677354c5eed4d3de3d8c9 Mon Sep 17 00:00:00 2001 From: dlpzx <71252798+dlpzx@users.noreply.github.com> Date: Thu, 1 Jun 2023 17:11:10 +0200 Subject: [PATCH 29/53] fix: safe removal of consumption roles with open share requests (#485) ### Feature or Bugfix - Bugfix ### Detail - Added check and exception if there are open share requests on a consumption role or on a group that we are removing from an environment ### Relates - #450 By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. --- backend/dataall/db/api/environment.py | 34 +++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/backend/dataall/db/api/environment.py b/backend/dataall/db/api/environment.py index 1d8c0e68e..cac9f2bed 100644 --- a/backend/dataall/db/api/environment.py +++ b/backend/dataall/db/api/environment.py @@ -392,6 +392,23 @@ def remove_group(session, username, groups, uri, data=None, check_perm=None): message=f'Team: {group} has created {group_env_objects_count} resources on this environment.', ) + shares_count = ( + session.query(models.ShareObject) + .filter( + and_( + models.ShareObject.principalId == group, + models.ShareObject.principalType == PrincipalType.Group.value + ) + ) + .count() + ) + + if shares_count > 0: + raise exceptions.EnvironmentResourcesFound( + action='Remove Team', + message=f'Team: {group} has created {shares_count} share requests on this environment.', + ) + group_membership = Environment.find_environment_group( session, group, environment.environmentUri ) @@ -529,6 +546,23 @@ def remove_consumption_role(session, username, groups, uri, data=None, check_per consumption_role = Environment.get_environment_consumption_role(session, uri, data.get('environmentUri')) + shares_count = ( + session.query(models.ShareObject) + .filter( + and_( + models.ShareObject.principalId == uri, + models.ShareObject.principalType == PrincipalType.ConsumptionRole.value + ) + ) + .count() + ) + + if shares_count > 0: + raise exceptions.EnvironmentResourcesFound( + action='Remove Consumption Role', + message=f'Consumption role: {consumption_role.consumptionRoleName} has created {shares_count} share requests on this environment.', + ) + if consumption_role: session.delete(consumption_role) session.commit() From 688023797dfba9f2202e30b029955cc3e9019a03 Mon Sep 17 00:00:00 2001 From: chamcca <40579012+chamcca@users.noreply.github.com> Date: Tue, 13 Jun 2023 08:28:14 -0600 Subject: [PATCH 30/53] fix: dynamic sql generation (#514) ### Feature or Bugfix - Bugfix ### Detail - fix how dynamic SQL with varying table names is generated ### Relates - By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. --- .../api/Objects/DatasetTable/resolvers.py | 6 +++-- backend/dataall/utils/sql_utils.py | 22 +++++++++++++++++++ 2 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 backend/dataall/utils/sql_utils.py diff --git a/backend/dataall/api/Objects/DatasetTable/resolvers.py b/backend/dataall/api/Objects/DatasetTable/resolvers.py index 9ea811411..83e016cfb 100644 --- a/backend/dataall/api/Objects/DatasetTable/resolvers.py +++ b/backend/dataall/api/Objects/DatasetTable/resolvers.py @@ -12,7 +12,7 @@ from ....db import permissions, models from ....db.api import ResourcePolicy, Glossary from ....searchproxy import indexers -from ....utils import json_utils +from ....utils import json_utils, sql_utils log = logging.getLogger(__name__) @@ -141,7 +141,9 @@ def preview(context, source, tableUri: str = None): ) cursor = connection.cursor() - SQL = f'select * from "{table.GlueDatabaseName}"."{table.GlueTableName}" limit 50' # nosec + SQL = 'select * from {table_identifier} limit 50'.format( + table_identifier=sql_utils.Identifier(table.GlueDatabaseName, table.GlueTableName) + ) cursor.execute(SQL) fields = [] for f in cursor.description: diff --git a/backend/dataall/utils/sql_utils.py b/backend/dataall/utils/sql_utils.py new file mode 100644 index 000000000..8b9a06c0e --- /dev/null +++ b/backend/dataall/utils/sql_utils.py @@ -0,0 +1,22 @@ +import re + + +class Identifier: + def __init__(self, *identifiers) -> None: + if not identifiers: + raise TypeError("Identifier cannot be empty") + + for id in identifiers: + if not isinstance(id, str): + raise TypeError("SQL identifier parts must be strings") + if re.search(r"\W", id): + raise TypeError(f"SQL identifier contains invalid characters: {id}") + + self._identifiers = identifiers + + @property + def identifiers(self) -> str: + return self._identifiers + + def __repr__(self) -> str: + return ".".join(self._identifiers) From 9efb234152a0684d5450ce5ea6276c726aa93762 Mon Sep 17 00:00:00 2001 From: dlpzx <71252798+dlpzx@users.noreply.github.com> Date: Fri, 16 Jun 2023 11:54:07 +0200 Subject: [PATCH 31/53] dependabot - upgradefast-xml-parser, aws-amplify, react-scripts, override react-redux to non-vulnerable version (#521) ### Feature or Bugfix - Bugfix ### Detail - Upgraded `fast-xml-parser` - In the process I also found that other dependency libraries included vulnerabilities. In particular `react-redux` and `nth-check`, the parent packages `aws-amplify`, `react-scripts` and `appbaseio/reactivesearch` have been updated. For this last one, the latest version still uses a vulnerable version of `react-redux` so I added a ovverride clause in the package.json ### Relates - Related to https://github.com/NaturalIntelligence/fast-xml-parser/releases/tag/v4.2.4 By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. --- frontend/package.json | 12 +- frontend/src/contexts/AmplifyContext.js | 2 +- frontend/src/index.js | 4 +- frontend/yarn.lock | 21669 ++++++++++++---------- 4 files changed, 11819 insertions(+), 9868 deletions(-) diff --git a/frontend/package.json b/frontend/package.json index fe37789a8..1974a548c 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -13,11 +13,12 @@ }, "dependencies": { "@apollo/client": "^3.3.19", - "@appbaseio/reactivesearch": "^3.29.1", + "@appbaseio/reactivesearch": "^3.43.10", "@emotion/react": "^11.8.2", "@emotion/styled": "^11.8.1", "@monaco-editor/react": "^4.3.1", "@mui/icons-material": "^5.5.1", + "@mui/x-date-pickers": "^5.0.0", "@mui/lab": "^5.0.0-alpha.74", "@mui/material": "^5.5.2", "@mui/styles": "^5.5.1", @@ -29,7 +30,7 @@ "amazon-quicksight-embedding-sdk": "^1.18.1", "apexcharts": "^3.33.2", "apollo-boost": "^0.4.9", - "aws-amplify": "^4.3.17", + "aws-amplify": "^5.2.6", "axios": "^0.26.1", "classnames": "^2.3.1", "date-fns": "^2.28.0", @@ -53,12 +54,17 @@ "react-redux": "^7.2.6", "react-router": "6.0.0", "react-router-dom": "6.0.0", - "react-scripts": "^5.0.0", + "react-scripts": "^5.0.1", "simplebar": "^5.3.6", "simplebar-react": "^2.3.6", "web-vitals": "^2.1.4", "yup": "^0.32.11" }, + "overrides" : { + "@appbaseio/reactivesearch": { + "react-redux": "^7.2.6" + } + }, "resolutions": { "nth-check": "^2.0.1" }, diff --git a/frontend/src/contexts/AmplifyContext.js b/frontend/src/contexts/AmplifyContext.js index 873a09f6e..024561d44 100644 --- a/frontend/src/contexts/AmplifyContext.js +++ b/frontend/src/contexts/AmplifyContext.js @@ -1,6 +1,6 @@ import { createContext, useEffect, useReducer } from 'react'; import PropTypes from 'prop-types'; -import Amplify, { Auth } from 'aws-amplify'; +import { Amplify, Auth } from 'aws-amplify'; import { SET_ERROR } from '../store/errorReducer'; Amplify.configure({ diff --git a/frontend/src/index.js b/frontend/src/index.js index 6c1cbe0d6..165bf5fcd 100644 --- a/frontend/src/index.js +++ b/frontend/src/index.js @@ -4,8 +4,8 @@ import ReactDOM from 'react-dom'; import { HelmetProvider } from 'react-helmet-async'; import { BrowserRouter } from 'react-router-dom'; import { Provider as ReduxProvider } from 'react-redux'; -import LocalizationProvider from '@mui/lab/LocalizationProvider'; -import AdapterDateFns from '@mui/lab/AdapterDateFns'; +import { AdapterDateFns } from "@mui/x-date-pickers/AdapterDateFns"; +import { LocalizationProvider } from "@mui/x-date-pickers/LocalizationProvider"; import StyledEngineProvider from '@mui/material/StyledEngineProvider'; import App from './App'; import { AuthProvider } from './contexts/AmplifyContext'; diff --git a/frontend/yarn.lock b/frontend/yarn.lock index 911acfa48..1ba2a82ec 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -3,190 +3,229 @@ "@ampproject/remapping@^2.1.0": - version "2.2.0" - resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz" - integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== + "version" "2.2.0" dependencies: "@jridgewell/gen-mapping" "^0.1.0" "@jridgewell/trace-mapping" "^0.3.9" "@apideck/better-ajv-errors@^0.3.1": - 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== + "integrity" "sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==" + "resolved" "https://registry.npmjs.org/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz" + "version" "0.3.6" dependencies: - json-schema "^0.4.0" - jsonpointer "^5.0.0" - leven "^3.1.0" + "json-schema" "^0.4.0" + "jsonpointer" "^5.0.0" + "leven" "^3.1.0" "@apollo/client@^3.3.19": - version "3.5.10" - resolved "https://registry.npmjs.org/@apollo/client/-/client-3.5.10.tgz" - integrity sha512-tL3iSpFe9Oldq7gYikZK1dcYxp1c01nlSwtsMz75382HcI6fvQXyFXUCJTTK3wgO2/ckaBvRGw7VqjFREdVoRw== + "version" "3.5.10" dependencies: "@graphql-typed-document-node/core" "^3.0.0" "@wry/context" "^0.6.0" "@wry/equality" "^0.5.0" "@wry/trie" "^0.3.0" - graphql-tag "^2.12.3" - hoist-non-react-statics "^3.3.2" - optimism "^0.16.1" - prop-types "^15.7.2" - symbol-observable "^4.0.0" - ts-invariant "^0.9.4" - tslib "^2.3.0" - zen-observable-ts "^1.2.0" - -"@appbaseio/reactivecore@9.14.3": - version "9.14.3" - resolved "https://registry.npmjs.org/@appbaseio/reactivecore/-/reactivecore-9.14.3.tgz" - integrity sha512-nj2wTjG6JUsjXQ2Qfqs0vftivpzhJASui/9kONHI8RSrWtO9o/Vo2Cc9D/NtEKYn3JaQxn0Qg+POoc5rVlzbig== - dependencies: - cross-fetch "^3.0.4" - prop-types "^15.6.0" - redux "^4.0.0" - redux-thunk "^2.3.0" - xdate "^0.8.2" - -"@appbaseio/reactivesearch@^3.29.1": - version "3.29.1" - resolved "https://registry.npmjs.org/@appbaseio/reactivesearch/-/reactivesearch-3.29.1.tgz" - integrity sha512-CKqM8LWatz6DdUCtCAkpoXv+AXPWjsB1HDE0N8/6O3/4Km0yWERCJSSsrXWgm3wUuwbyF8Pu11XqXe/+y0NvPg== - dependencies: - "@appbaseio/reactivecore" "9.14.3" + "graphql-tag" "^2.12.3" + "hoist-non-react-statics" "^3.3.2" + "optimism" "^0.16.1" + "prop-types" "^15.7.2" + "symbol-observable" "^4.0.0" + "ts-invariant" "^0.9.4" + "tslib" "^2.3.0" + "zen-observable-ts" "^1.2.0" + +"@appbaseio/analytics@^1.1.1": + "integrity" "sha512-uW5sfj8KjrlFtKKkkIMZJgqjNNOgfPUXgdl3lqEDWrdg7J/tMgkYNM3/s2c4LHsD96aHbrfA+DRHk5M45wgqpA==" + "resolved" "https://registry.npmjs.org/@appbaseio/analytics/-/analytics-1.2.0.tgz" + "version" "1.2.0" + dependencies: + "cross-fetch" "^3.0.4" + +"@appbaseio/reactivecore@9.14.40": + "integrity" "sha512-PIq31VBQRV45nNMVxmOBgYu05h2TxXw+GOQhBmPdAyDiX8Y/nNNua5SPNqZ/OHomIOIT1fGSygkKR6E/iZYdlA==" + "resolved" "https://registry.npmjs.org/@appbaseio/reactivecore/-/reactivecore-9.14.40.tgz" + "version" "9.14.40" + dependencies: + "cross-fetch" "^3.0.4" + "dayjs" "^1.11.7" + "prop-types" "^15.6.0" + "redux" "^4.0.0" + "redux-thunk" "^2.3.0" + +"@appbaseio/reactivesearch@^3.43.10": + "integrity" "sha512-QV2NcoxNY72a1ntZitSIdnMa7x3MNvLSYtbgVHHSF2Dx/Yw2plq4H3kRBaWd6VSuDhvjXuk1kZPAkMQV1GynTg==" + "resolved" "https://registry.npmjs.org/@appbaseio/reactivesearch/-/reactivesearch-3.43.10.tgz" + "version" "3.43.10" + dependencies: + "@appbaseio/analytics" "^1.1.1" + "@appbaseio/reactivecore" "9.14.40" + "@appbaseio/rheostat" "^1.0.0-alpha.15" "@emotion/core" "^10.0.28" "@emotion/styled" "^10.0.27" - appbase-js "5.0.0" - cross-env "^5.2.0" - downshift "^1.31.2" - emotion-theming "^10.0.27" - hoist-non-react-statics "^3.2.1" - hotkeys-js "^3.8.7" - polished "^1.9.3" - prop-types "^15.6.0" - react-day-picker "^7.0.5" - react-redux "^6.0.1" - rheostat "^2.1.1" - url-search-params-polyfill "^7.0.0" - xdate "^0.8.2" - -"@aws-amplify/analytics@5.2.2": - version "5.2.2" - resolved "https://registry.npmjs.org/@aws-amplify/analytics/-/analytics-5.2.2.tgz" - integrity sha512-trD19VqQbbjrIx3X4aeNSN6sjyo9PXo62oIuIcS6K3r2iF+0enc9VHGoKlzH95zEUNQVJGdDH9Gyb4HDa8dT1w== - dependencies: - "@aws-amplify/cache" "4.0.37" - "@aws-amplify/core" "4.4.2" + "appbase-js" "^5.2.0" + "cross-env" "^5.2.0" + "dayjs" "^1.11.7" + "downshift" "^1.31.2" + "echarts" "^5.3.3" + "echarts-for-react" "^3.0.2" + "emotion-theming" "^10.0.27" + "hoist-non-react-statics" "^3.2.1" + "hotkeys-js" "^3.8.7" + "polished" "^1.9.3" + "prop-types" "^15.6.0" + "react-day-picker" "^7.0.5" + "react-redux" "^6.0.1" + "url-search-params-polyfill" "^7.0.0" + "xss" "^1.0.11" + +"@appbaseio/rheostat@^1.0.0-alpha.15": + "integrity" "sha512-dFDWv8SGGLRv5yGcQ5/3zYhVRDq2iIYmmU5v6s4/R0XRj2zCwld5O9DWi8WBZiDQJWQ7/7YUWTzqEgtxbYMOJA==" + "resolved" "https://registry.npmjs.org/@appbaseio/rheostat/-/rheostat-1.0.0-alpha.15.tgz" + "version" "1.0.0-alpha.15" + dependencies: + "object.assign" "^4.0.4" + "prop-types" "^15.5.10" + +"@aws-amplify/analytics@6.2.0": + "integrity" "sha512-4dLo3uTl2QxeS396n3ct89pKje6u8/4DENhW9TUUnGN0+h5DRxOZZ999Fom46mChW3dpBhjvgBRxYakNtNzaEQ==" + "resolved" "https://registry.npmjs.org/@aws-amplify/analytics/-/analytics-6.2.0.tgz" + "version" "6.2.0" + dependencies: + "@aws-amplify/cache" "5.1.0" + "@aws-amplify/core" "5.4.0" "@aws-sdk/client-firehose" "3.6.1" "@aws-sdk/client-kinesis" "3.6.1" "@aws-sdk/client-personalize-events" "3.6.1" - "@aws-sdk/client-pinpoint" "3.6.1" "@aws-sdk/util-utf8-browser" "3.6.1" - lodash "^4.17.20" - uuid "^3.2.1" - -"@aws-amplify/api-graphql@2.2.24": - version "2.2.24" - resolved "https://registry.npmjs.org/@aws-amplify/api-graphql/-/api-graphql-2.2.24.tgz" - integrity sha512-34PziqjyrSPymLhZM3KrhzwL+GouOPOD/o5z/nyFU4a4Z2HHlm4n0RUYReKFatEyz4OUeFAFN0k3rnAKigSUYQ== - dependencies: - "@aws-amplify/api-rest" "2.0.35" - "@aws-amplify/auth" "4.4.4" - "@aws-amplify/cache" "4.0.37" - "@aws-amplify/core" "4.4.2" - "@aws-amplify/pubsub" "4.2.11" - graphql "15.8.0" - uuid "^3.2.1" - zen-observable-ts "0.8.19" - -"@aws-amplify/api-rest@2.0.35": - version "2.0.35" - resolved "https://registry.npmjs.org/@aws-amplify/api-rest/-/api-rest-2.0.35.tgz" - integrity sha512-v/jSjR3WIixi0W8sXcCtGBcASxj3+/DFvkW005wzxhgDwbuJi995+DSR3CfTanqe/NXxPeoGFrBHB+7AyVYVhQ== - dependencies: - "@aws-amplify/core" "4.4.2" - axios "0.21.4" - -"@aws-amplify/api@4.0.35": - version "4.0.35" - resolved "https://registry.npmjs.org/@aws-amplify/api/-/api-4.0.35.tgz" - integrity sha512-Wu77wp17QpUDcLkZhcdh1Ad78EvcX4/z4/wdHdANvY0ynIes1AuH5tNWntBrsrcfxgccOsNjIMbttFvupw33LQ== - dependencies: - "@aws-amplify/api-graphql" "2.2.24" - "@aws-amplify/api-rest" "2.0.35" - -"@aws-amplify/auth@4.4.4": - version "4.4.4" - resolved "https://registry.npmjs.org/@aws-amplify/auth/-/auth-4.4.4.tgz" - integrity sha512-/iQB8teOXxb6XkOK2nPBxldU5YZjMLy6vTpihWMOPP96TWqldgnKSZykYtsrTb6uYK8iF1VWr7DI9OE7UpKONQ== - dependencies: - "@aws-amplify/cache" "4.0.37" - "@aws-amplify/core" "4.4.2" - amazon-cognito-identity-js "5.2.8" - crypto-js "^4.1.1" - -"@aws-amplify/cache@4.0.37": - version "4.0.37" - resolved "https://registry.npmjs.org/@aws-amplify/cache/-/cache-4.0.37.tgz" - integrity sha512-SlUYGVTCv848TAOVW+8PhMQKUaC6fAiflEqvW6LkXN0Etj1tetsUhXoSDFVevxkKQEXXouFrj9dSWnYE6SOIhA== - dependencies: - "@aws-amplify/core" "4.4.2" - -"@aws-amplify/core@4.4.2": - version "4.4.2" - resolved "https://registry.npmjs.org/@aws-amplify/core/-/core-4.4.2.tgz" - integrity sha512-5Q6Te5WcLaUcJpXPVVCb/i/HLBr7dS2KyODqiadb2G4ocqmr6DQaMGo7f77LjQ6WqMDETSijqsLjU8nK+2xOpg== - dependencies: - "@aws-crypto/sha256-js" "1.0.0-alpha.0" + "lodash" "^4.17.20" + "tslib" "^1.8.0" + "uuid" "^3.2.1" + +"@aws-amplify/api-graphql@3.3.1": + "integrity" "sha512-faVJUc/vwBySmnhch6CThCOoQ4Hw6dVFUM5H6qNtvk1NVLdMWUQq2BV2B7CNKe9l8wL04RIGJaD/7hOdLqHJHA==" + "resolved" "https://registry.npmjs.org/@aws-amplify/api-graphql/-/api-graphql-3.3.1.tgz" + "version" "3.3.1" + dependencies: + "@aws-amplify/api-rest" "3.2.1" + "@aws-amplify/auth" "5.4.1" + "@aws-amplify/cache" "5.1.0" + "@aws-amplify/core" "5.4.0" + "@aws-amplify/pubsub" "5.2.1" + "graphql" "15.8.0" + "tslib" "^1.8.0" + "uuid" "^3.2.1" + "zen-observable-ts" "0.8.19" + +"@aws-amplify/api-rest@3.2.1": + "integrity" "sha512-GEcxNwCM8r6jg46f1wPR2l8n8tRSKqO5NkD2pJdi8wWDJxY6ieuG2PHTC1zpsHCRKon0p0wiAgayb9ISkEs9Xw==" + "resolved" "https://registry.npmjs.org/@aws-amplify/api-rest/-/api-rest-3.2.1.tgz" + "version" "3.2.1" + dependencies: + "@aws-amplify/core" "5.4.0" + "axios" "0.26.0" + "tslib" "^1.8.0" + "url" "0.11.0" + +"@aws-amplify/api@5.2.1": + "integrity" "sha512-lxH8Aj5PFpf7CYGeHoqWomExwmho5D9ZLnGZD6BH6C8FnxPma55leentStNXm/MMwG288hVQBY1QjIJDxNO2Ag==" + "resolved" "https://registry.npmjs.org/@aws-amplify/api/-/api-5.2.1.tgz" + "version" "5.2.1" + dependencies: + "@aws-amplify/api-graphql" "3.3.1" + "@aws-amplify/api-rest" "3.2.1" + "tslib" "^1.8.0" + +"@aws-amplify/auth@5.4.1": + "integrity" "sha512-+ZbijqBkAMtcIzwZ8zIiR3yFgaJeKbNRqzPI7RIXh7w+5rzJKlXHNXwWJ7m3vIk0XhmQnBw30t0ZrQRQiMs8Vw==" + "resolved" "https://registry.npmjs.org/@aws-amplify/auth/-/auth-5.4.1.tgz" + "version" "5.4.1" + dependencies: + "@aws-amplify/core" "5.4.0" + "amazon-cognito-identity-js" "6.2.0" + "tslib" "^1.8.0" + "url" "0.11.0" + +"@aws-amplify/cache@5.1.0": + "integrity" "sha512-YZnMeQTzLwN2JxUaPXHmQLF7gvwWDp55vlIdOcXtWrQRcsDzstoK2xH41hYIi2Q2P/y79pVzQFXLR4XcV4KKyA==" + "resolved" "https://registry.npmjs.org/@aws-amplify/cache/-/cache-5.1.0.tgz" + "version" "5.1.0" + dependencies: + "@aws-amplify/core" "5.4.0" + "tslib" "^1.8.0" + +"@aws-amplify/core@5.4.0": + "integrity" "sha512-J794EH7x/fvKmgCm7hedhNjYPcGpJ7qFz33q33FVVUJ151NMrotsQdkK6pSqJHDgtYJZB1On9c6p3W4z33gD3w==" + "resolved" "https://registry.npmjs.org/@aws-amplify/core/-/core-5.4.0.tgz" + "version" "5.4.0" + dependencies: + "@aws-crypto/sha256-js" "1.2.2" "@aws-sdk/client-cloudwatch-logs" "3.6.1" - "@aws-sdk/client-cognito-identity" "3.6.1" - "@aws-sdk/credential-provider-cognito-identity" "3.6.1" "@aws-sdk/types" "3.6.1" "@aws-sdk/util-hex-encoding" "3.6.1" - universal-cookie "^4.0.4" - zen-observable-ts "0.8.19" - -"@aws-amplify/datastore@3.7.9": - version "3.7.9" - resolved "https://registry.npmjs.org/@aws-amplify/datastore/-/datastore-3.7.9.tgz" - integrity sha512-bcczvE7grWU5LdtEk+JJ4/QBydXvIlXMJgN13iXQUGqhlsSx+CClofKDLVVABjRzeiReQdMBoHQPjDMgeJsPpQ== - dependencies: - "@aws-amplify/api" "4.0.35" - "@aws-amplify/auth" "4.4.4" - "@aws-amplify/core" "4.4.2" - "@aws-amplify/pubsub" "4.2.11" - amazon-cognito-identity-js "5.2.8" - idb "5.0.6" - immer "9.0.6" - ulid "2.3.0" - uuid "3.3.2" - zen-observable-ts "0.8.19" - zen-push "0.2.1" - -"@aws-amplify/geo@1.2.3": - version "1.2.3" - resolved "https://registry.npmjs.org/@aws-amplify/geo/-/geo-1.2.3.tgz" - integrity sha512-L+ab8R4kKzk+EICQajbzQhlMufshqd1Km5ypjKrnEwqBypthPyI1mtZ+8i0QAJZ1tB1i9Q9mJ8iZM7Gn5wD8QQ== - dependencies: - "@aws-amplify/core" "4.4.2" - "@aws-sdk/client-location" "3.48.0" - camelcase-keys "6.2.2" - -"@aws-amplify/interactions@4.0.35": - version "4.0.35" - resolved "https://registry.npmjs.org/@aws-amplify/interactions/-/interactions-4.0.35.tgz" - integrity sha512-9xplp7gHFsRaFSEh0H27ME2sM2ObYA4RMcu2GTgiZpyCK2GSSWwfq52V2lrFv1XZXq0cXLf4kw1ulE320qZouw== - dependencies: - "@aws-amplify/core" "4.4.2" - "@aws-sdk/client-lex-runtime-service" "3.6.1" - -"@aws-amplify/predictions@4.0.35": - version "4.0.35" - resolved "https://registry.npmjs.org/@aws-amplify/predictions/-/predictions-4.0.35.tgz" - integrity sha512-Bt+JdpHlI5/X0VHST0+rozTpgr42gWr+nIzHgfxwRx23eeDI5kmVBXcIQyQFlMA3pQ0KQxrolT/UjThmmcWtJw== - dependencies: - "@aws-amplify/core" "4.4.2" - "@aws-amplify/storage" "4.4.18" + "isomorphic-unfetch" "^3.0.0" + "react-native-url-polyfill" "^1.3.0" + "tslib" "^1.8.0" + "universal-cookie" "^4.0.4" + "zen-observable-ts" "0.8.19" + +"@aws-amplify/datastore@4.5.1": + "integrity" "sha512-gdeWUzuREhCQ6dd6vpGU7ll2J//z8Ou0Wa+3FKTVwsVCiAg6HCRTgBSiozjZSNLDR8oAfHaBNEhoO6fJByqjXg==" + "resolved" "https://registry.npmjs.org/@aws-amplify/datastore/-/datastore-4.5.1.tgz" + "version" "4.5.1" + dependencies: + "@aws-amplify/api" "5.2.1" + "@aws-amplify/auth" "5.4.1" + "@aws-amplify/core" "5.4.0" + "@aws-amplify/pubsub" "5.2.1" + "amazon-cognito-identity-js" "6.2.0" + "idb" "5.0.6" + "immer" "9.0.6" + "ulid" "2.3.0" + "uuid" "3.4.0" + "zen-observable-ts" "0.8.19" + "zen-push" "0.2.1" + +"@aws-amplify/geo@2.0.35": + "integrity" "sha512-gV5CHubvXBkchjSnCuEY7SnsmCe/CNoJIILqA3m1qOmq+VmI+S4xM7CGuQxKEwAvQImlzjkZa4+9zavQfqkJrQ==" + "resolved" "https://registry.npmjs.org/@aws-amplify/geo/-/geo-2.0.35.tgz" + "version" "2.0.35" + dependencies: + "@aws-amplify/core" "5.4.0" + "@aws-sdk/client-location" "3.186.2" + "@turf/boolean-clockwise" "6.5.0" + "camelcase-keys" "6.2.2" + "tslib" "^1.8.0" + +"@aws-amplify/interactions@5.1.1": + "integrity" "sha512-hGcu8bQEo1XGbouxjbpTBMg+6F8yaSY1q7OPCYGzhFZjXU0mdE0XRWlTzxSeIOxpRg8X9IoGHGiamNF6ZA156A==" + "resolved" "https://registry.npmjs.org/@aws-amplify/interactions/-/interactions-5.1.1.tgz" + "version" "5.1.1" + dependencies: + "@aws-amplify/core" "5.4.0" + "@aws-sdk/client-lex-runtime-service" "3.186.2" + "@aws-sdk/client-lex-runtime-v2" "3.186.2" + "base-64" "1.0.0" + "fflate" "0.7.3" + "pako" "2.0.4" + "tslib" "^1.8.0" + +"@aws-amplify/notifications@1.2.0": + "integrity" "sha512-BUtdSSjop8ieQ+lzwNgBZ1YaULE137zLHO4MAibcex2cOX0E/ZJZdBD/z2uoS2c7EzXfylawJ8n7w5BHWZzy0w==" + "resolved" "https://registry.npmjs.org/@aws-amplify/notifications/-/notifications-1.2.0.tgz" + "version" "1.2.0" + dependencies: + "@aws-amplify/cache" "5.1.0" + "@aws-amplify/core" "5.4.0" + "@aws-amplify/rtn-push-notification" "1.1.1" + "lodash" "^4.17.21" + "uuid" "^3.2.1" + +"@aws-amplify/predictions@5.2.3": + "integrity" "sha512-nbPHIxrA1LKXY9EJf1P+Nn3a8SLk+ooyZBnWtnI8h0o5Pw4F89xZNZ3P6Z1NJKWZ6xynJS6W078RwlxDHKDwrw==" + "resolved" "https://registry.npmjs.org/@aws-amplify/predictions/-/predictions-5.2.3.tgz" + "version" "5.2.3" + dependencies: + "@aws-amplify/core" "5.4.0" + "@aws-amplify/storage" "5.4.1" "@aws-sdk/client-comprehend" "3.6.1" "@aws-sdk/client-polly" "3.6.1" "@aws-sdk/client-rekognition" "3.6.1" @@ -194,87 +233,79 @@ "@aws-sdk/client-translate" "3.6.1" "@aws-sdk/eventstream-marshaller" "3.6.1" "@aws-sdk/util-utf8-node" "3.6.1" - uuid "^3.2.1" - -"@aws-amplify/pubsub@4.2.11": - version "4.2.11" - resolved "https://registry.npmjs.org/@aws-amplify/pubsub/-/pubsub-4.2.11.tgz" - integrity sha512-vOqWIC4MjVHAvDr1h19UFoXpaTcGeV/2U+wCf9Ee96nPQlD25zWer9aV/qFhfCibGdnYt/XCqYmv7VX8h3I3hA== - dependencies: - "@aws-amplify/auth" "4.4.4" - "@aws-amplify/cache" "4.0.37" - "@aws-amplify/core" "4.4.2" - graphql "15.8.0" - paho-mqtt "^1.1.0" - uuid "^3.2.1" - zen-observable-ts "0.8.19" - -"@aws-amplify/storage@4.4.18": - version "4.4.18" - resolved "https://registry.npmjs.org/@aws-amplify/storage/-/storage-4.4.18.tgz" - integrity sha512-QFKPggRAyeYjxNCjLcds8Kr1NcqvgOFukbCgJKZ6x01O/HYsUe7G3pXAEAyOuBAp91a25F8rbje4ncl/NlWl3g== - dependencies: - "@aws-amplify/core" "4.4.2" - "@aws-sdk/client-s3" "3.6.1" + "buffer" "4.9.2" + "tslib" "^1.8.0" + "uuid" "^3.2.1" + +"@aws-amplify/pubsub@5.2.1": + "integrity" "sha512-6bHjXBT6SqWs5A8mh4qSNtuG1OxysmEm8lQLyp94n6rUepkZ9b7yM9tBNcQs1fJQoOHe09h4zAQeFuontK7+5g==" + "resolved" "https://registry.npmjs.org/@aws-amplify/pubsub/-/pubsub-5.2.1.tgz" + "version" "5.2.1" + dependencies: + "@aws-amplify/auth" "5.4.1" + "@aws-amplify/cache" "5.1.0" + "@aws-amplify/core" "5.4.0" + "graphql" "15.8.0" + "tslib" "^1.8.0" + "url" "0.11.0" + "uuid" "^3.2.1" + "zen-observable-ts" "0.8.19" + +"@aws-amplify/rtn-push-notification@1.1.1": + "integrity" "sha512-uYPyiNeK2r2g82U6ayluNrKA2z5280mlW9razEul94i/2XPt9LAXhIb1XnCtxGzxANMHd+FH9V7D7RAGK99pTQ==" + "resolved" "https://registry.npmjs.org/@aws-amplify/rtn-push-notification/-/rtn-push-notification-1.1.1.tgz" + "version" "1.1.1" + +"@aws-amplify/storage@5.4.1": + "integrity" "sha512-b116Hp+nUmbev19ojN34mBQyJ50xW6hnUlnKjBrAFVAooaXzZzYbKoCHthF87YS2CblBlLWcGAzcZiD//KoL1Q==" + "resolved" "https://registry.npmjs.org/@aws-amplify/storage/-/storage-5.4.1.tgz" + "version" "5.4.1" + dependencies: + "@aws-amplify/core" "5.4.0" + "@aws-sdk/client-s3" "3.6.3" "@aws-sdk/s3-request-presigner" "3.6.1" "@aws-sdk/util-create-request" "3.6.1" "@aws-sdk/util-format-url" "3.6.1" - axios "0.21.4" - events "^3.1.0" - -"@aws-amplify/ui@2.0.5": - version "2.0.5" - resolved "https://registry.npmjs.org/@aws-amplify/ui/-/ui-2.0.5.tgz" - integrity sha512-atoc/zIJRhgpoSDDKgRxbTSD7D9S4wbOzHUHMqRlcEPRKqRrQPGvd6zCUVSBS0jqdrrw6+UTJbWj7ttWCfE4pQ== - -"@aws-amplify/xr@3.0.35": - version "3.0.35" - resolved "https://registry.npmjs.org/@aws-amplify/xr/-/xr-3.0.35.tgz" - integrity sha512-xRU01B10I/CGWPjEwEFIaWsjy7G11NxoiIFussSJ4almP2WP5KSi0qHmfs1KepvyUvdl2NhIPE9VUnJjay765A== - dependencies: - "@aws-amplify/core" "4.4.2" + "axios" "0.26.0" + "events" "^3.1.0" + "tslib" "^1.8.0" "@aws-crypto/crc32@^1.0.0": - version "1.2.2" - resolved "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-1.2.2.tgz" - integrity sha512-8K0b1672qbv05chSoKpwGZ3fhvVp28Fg3AVHVkEHFl2lTLChO7wD/hTyyo8ING7uc31uZRt7bNra/hA74Td7Tw== + "integrity" "sha512-8K0b1672qbv05chSoKpwGZ3fhvVp28Fg3AVHVkEHFl2lTLChO7wD/hTyyo8ING7uc31uZRt7bNra/hA74Td7Tw==" + "resolved" "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-1.2.2.tgz" + "version" "1.2.2" dependencies: "@aws-crypto/util" "^1.2.2" "@aws-sdk/types" "^3.1.0" - tslib "^1.11.1" + "tslib" "^1.11.1" -"@aws-crypto/ie11-detection@^1.0.0": - version "1.0.0" - resolved "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-1.0.0.tgz" - integrity sha512-kCKVhCF1oDxFYgQrxXmIrS5oaWulkvRcPz+QBDMsUr2crbF4VGgGT6+uQhSwJFdUAQ2A//Vq+uT83eJrkzFgXA== +"@aws-crypto/crc32@2.0.0": + "integrity" "sha512-TvE1r2CUueyXOuHdEigYjIZVesInd9KN+K/TFFNfkkxRThiNxO6i4ZqqAVMoEjAamZZ1AA8WXJkjCz7YShHPQA==" + "resolved" "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-2.0.0.tgz" + "version" "2.0.0" dependencies: - tslib "^1.11.1" + "@aws-crypto/util" "^2.0.0" + "@aws-sdk/types" "^3.1.0" + "tslib" "^1.11.1" -"@aws-crypto/ie11-detection@^2.0.0": - version "2.0.0" - resolved "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-2.0.0.tgz" - integrity sha512-pkVXf/dq6PITJ0jzYZ69VhL8VFOFoPZLZqtU/12SGnzYuJOOGNfF41q9GxdI1yqC8R13Rq3jOLKDFpUJFT5eTA== +"@aws-crypto/ie11-detection@^1.0.0": + "integrity" "sha512-kCKVhCF1oDxFYgQrxXmIrS5oaWulkvRcPz+QBDMsUr2crbF4VGgGT6+uQhSwJFdUAQ2A//Vq+uT83eJrkzFgXA==" + "resolved" "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-1.0.0.tgz" + "version" "1.0.0" dependencies: - tslib "^1.11.1" + "tslib" "^1.11.1" -"@aws-crypto/sha256-browser@2.0.0": - version "2.0.0" - resolved "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-2.0.0.tgz" - integrity sha512-rYXOQ8BFOaqMEHJrLHul/25ckWH6GTJtdLSajhlqGMx0PmSueAuvboCuZCTqEKlxR8CQOwRarxYMZZSYlhRA1A== +"@aws-crypto/ie11-detection@^2.0.0": + "integrity" "sha512-5XDMQY98gMAf/WRTic5G++jfmS/VLM0rwpiOpaainKi4L0nqWMSB1SzsrEG5rjFZGYN6ZAefO+/Yta2dFM0kMw==" + "resolved" "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-2.0.2.tgz" + "version" "2.0.2" dependencies: - "@aws-crypto/ie11-detection" "^2.0.0" - "@aws-crypto/sha256-js" "^2.0.0" - "@aws-crypto/supports-web-crypto" "^2.0.0" - "@aws-crypto/util" "^2.0.0" - "@aws-sdk/types" "^3.1.0" - "@aws-sdk/util-locate-window" "^3.0.0" - "@aws-sdk/util-utf8-browser" "^3.0.0" - tslib "^1.11.1" + "tslib" "^1.11.1" "@aws-crypto/sha256-browser@^1.0.0": - version "1.2.2" - resolved "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-1.2.2.tgz" - integrity sha512-0tNR4kBtJp+9S0kis4+JLab3eg6QWuIeuPhzaYoYwNUXGBgsWIkktA2mnilet+EGWzf3n1zknJXC4X4DVyyXbg== + "integrity" "sha512-0tNR4kBtJp+9S0kis4+JLab3eg6QWuIeuPhzaYoYwNUXGBgsWIkktA2mnilet+EGWzf3n1zknJXC4X4DVyyXbg==" + "resolved" "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-1.2.2.tgz" + "version" "1.2.2" dependencies: "@aws-crypto/ie11-detection" "^1.0.0" "@aws-crypto/sha256-js" "^1.2.2" @@ -282,111 +313,107 @@ "@aws-crypto/util" "^1.2.2" "@aws-sdk/types" "^3.1.0" "@aws-sdk/util-locate-window" "^3.0.0" - tslib "^1.11.1" - -"@aws-crypto/sha256-js@1.0.0-alpha.0": - version "1.0.0-alpha.0" - resolved "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-1.0.0-alpha.0.tgz" - integrity sha512-GidX2lccEtHZw8mXDKJQj6tea7qh3pAnsNSp1eZNxsN4MMu2OvSraPSqiB1EihsQkZBMg0IiZPpZHoACUX/QMQ== - dependencies: - "@aws-sdk/types" "^1.0.0-alpha.0" - "@aws-sdk/util-utf8-browser" "^1.0.0-alpha.0" - tslib "^1.9.3" + "tslib" "^1.11.1" -"@aws-crypto/sha256-js@2.0.0": - version "2.0.0" - resolved "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-2.0.0.tgz" - integrity sha512-VZY+mCY4Nmrs5WGfitmNqXzaE873fcIZDu54cbaDaaamsaTOP1DBImV9F4pICc3EHjQXujyE8jig+PFCaew9ig== +"@aws-crypto/sha256-browser@2.0.0": + "integrity" "sha512-rYXOQ8BFOaqMEHJrLHul/25ckWH6GTJtdLSajhlqGMx0PmSueAuvboCuZCTqEKlxR8CQOwRarxYMZZSYlhRA1A==" + "resolved" "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-2.0.0.tgz" + "version" "2.0.0" dependencies: + "@aws-crypto/ie11-detection" "^2.0.0" + "@aws-crypto/sha256-js" "^2.0.0" + "@aws-crypto/supports-web-crypto" "^2.0.0" "@aws-crypto/util" "^2.0.0" "@aws-sdk/types" "^3.1.0" - tslib "^1.11.1" + "@aws-sdk/util-locate-window" "^3.0.0" + "@aws-sdk/util-utf8-browser" "^3.0.0" + "tslib" "^1.11.1" -"@aws-crypto/sha256-js@^1.0.0", "@aws-crypto/sha256-js@^1.2.2": - version "1.2.2" - resolved "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-1.2.2.tgz" - integrity sha512-Nr1QJIbW/afYYGzYvrF70LtaHrIRtd4TNAglX8BvlfxJLZ45SAmueIKYl5tWoNBPzp65ymXGFK0Bb1vZUpuc9g== +"@aws-crypto/sha256-js@^1.0.0", "@aws-crypto/sha256-js@^1.2.2", "@aws-crypto/sha256-js@1.2.2": + "integrity" "sha512-Nr1QJIbW/afYYGzYvrF70LtaHrIRtd4TNAglX8BvlfxJLZ45SAmueIKYl5tWoNBPzp65ymXGFK0Bb1vZUpuc9g==" + "resolved" "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-1.2.2.tgz" + "version" "1.2.2" dependencies: "@aws-crypto/util" "^1.2.2" "@aws-sdk/types" "^3.1.0" - tslib "^1.11.1" + "tslib" "^1.11.1" -"@aws-crypto/sha256-js@^2.0.0": - version "2.0.1" - resolved "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-2.0.1.tgz" - integrity sha512-mbHTBSPBvg6o/mN/c18Z/zifM05eJrapj5ggoOIeHIWckvkv5VgGi7r/wYpt+QAO2ySKXLNvH2d8L7bne4xrMQ== +"@aws-crypto/sha256-js@^2.0.0", "@aws-crypto/sha256-js@2.0.0": + "integrity" "sha512-VZY+mCY4Nmrs5WGfitmNqXzaE873fcIZDu54cbaDaaamsaTOP1DBImV9F4pICc3EHjQXujyE8jig+PFCaew9ig==" + "resolved" "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-2.0.0.tgz" + "version" "2.0.0" dependencies: - "@aws-crypto/util" "^2.0.1" + "@aws-crypto/util" "^2.0.0" "@aws-sdk/types" "^3.1.0" - tslib "^1.11.1" + "tslib" "^1.11.1" "@aws-crypto/supports-web-crypto@^1.0.0": - version "1.0.0" - resolved "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-1.0.0.tgz" - integrity sha512-IHLfv+WmVH89EW4n6a5eE8/hUlz6qkWGMn/v4r5ZgzcXdTC5nolii2z3k46y01hWRiC2PPhOdeSLzMUCUMco7g== + "integrity" "sha512-IHLfv+WmVH89EW4n6a5eE8/hUlz6qkWGMn/v4r5ZgzcXdTC5nolii2z3k46y01hWRiC2PPhOdeSLzMUCUMco7g==" + "resolved" "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-1.0.0.tgz" + "version" "1.0.0" dependencies: - tslib "^1.11.1" + "tslib" "^1.11.1" "@aws-crypto/supports-web-crypto@^2.0.0": - version "2.0.0" - resolved "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-2.0.0.tgz" - integrity sha512-Ge7WQ3E0OC7FHYprsZV3h0QIcpdyJLvIeg+uTuHqRYm8D6qCFJoiC+edSzSyFiHtZf+NOQDJ1q46qxjtzIY2nA== + "integrity" "sha512-6mbSsLHwZ99CTOOswvCRP3C+VCWnzBf+1SnbWxzzJ9lR0mA0JnY2JEAhp8rqmTE0GPFy88rrM27ffgp62oErMQ==" + "resolved" "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-2.0.2.tgz" + "version" "2.0.2" dependencies: - tslib "^1.11.1" + "tslib" "^1.11.1" "@aws-crypto/util@^1.2.2": - version "1.2.2" - resolved "https://registry.npmjs.org/@aws-crypto/util/-/util-1.2.2.tgz" - integrity sha512-H8PjG5WJ4wz0UXAFXeJjWCW1vkvIJ3qUUD+rGRwJ2/hj+xT58Qle2MTql/2MGzkU+1JLAFuR6aJpLAjHwhmwwg== + "integrity" "sha512-H8PjG5WJ4wz0UXAFXeJjWCW1vkvIJ3qUUD+rGRwJ2/hj+xT58Qle2MTql/2MGzkU+1JLAFuR6aJpLAjHwhmwwg==" + "resolved" "https://registry.npmjs.org/@aws-crypto/util/-/util-1.2.2.tgz" + "version" "1.2.2" dependencies: "@aws-sdk/types" "^3.1.0" "@aws-sdk/util-utf8-browser" "^3.0.0" - tslib "^1.11.1" + "tslib" "^1.11.1" -"@aws-crypto/util@^2.0.0", "@aws-crypto/util@^2.0.1": - version "2.0.1" - resolved "https://registry.npmjs.org/@aws-crypto/util/-/util-2.0.1.tgz" - integrity sha512-JJmFFwvbm08lULw4Nm5QOLg8+lAQeC8aCXK5xrtxntYzYXCGfHwUJ4Is3770Q7HmICsXthGQ+ZsDL7C2uH3yBQ== +"@aws-crypto/util@^2.0.0": + "integrity" "sha512-Lgu5v/0e/BcrZ5m/IWqzPUf3UYFTy/PpeED+uc9SWUR1iZQL8XXbGQg10UfllwwBryO3hFF5dizK+78aoXC1eA==" + "resolved" "https://registry.npmjs.org/@aws-crypto/util/-/util-2.0.2.tgz" + "version" "2.0.2" dependencies: - "@aws-sdk/types" "^3.1.0" + "@aws-sdk/types" "^3.110.0" "@aws-sdk/util-utf8-browser" "^3.0.0" - tslib "^1.11.1" + "tslib" "^1.11.1" -"@aws-sdk/abort-controller@3.47.2": - version "3.47.2" - resolved "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.47.2.tgz" - integrity sha512-OpxsJ3b2KlpqTQKq6Py6JtLhA7KaAtHthH1JLLWStaFhU5/Js8nFnfPWdJIDRLpuAGyeRTbkjOEUsOkWAI5dAw== +"@aws-sdk/abort-controller@3.186.0": + "integrity" "sha512-JFvvvtEcbYOvVRRXasi64Dd1VcOz5kJmPvtzsJ+HzMHvPbGGs/aopOJAZQJMJttzJmJwVTay0QL6yag9Kk8nYA==" + "resolved" "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.186.0.tgz" + "version" "3.186.0" dependencies: - "@aws-sdk/types" "3.47.1" - tslib "^2.3.0" + "@aws-sdk/types" "3.186.0" + "tslib" "^2.3.1" "@aws-sdk/abort-controller@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.6.1.tgz" - integrity sha512-X81XkxX/2Tvv9YNcEto/rcQzPIdKJHFSnl9hBl/qkSdCFV/GaQ2XNWfKm5qFXMLlZNFS0Fn5CnBJ83qnBm47vg== + "integrity" "sha512-X81XkxX/2Tvv9YNcEto/rcQzPIdKJHFSnl9hBl/qkSdCFV/GaQ2XNWfKm5qFXMLlZNFS0Fn5CnBJ83qnBm47vg==" + "resolved" "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" + "tslib" "^1.8.0" "@aws-sdk/chunked-blob-reader-native@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader-native/-/chunked-blob-reader-native-3.6.1.tgz" - integrity sha512-vP6bc2v9h442Srmo7t2QcIbPjk5IqLSf4jGnKDAes8z+7eyjCtKugRP3lOM1fJCfGlPIsJGYnexxYdEGw008vA== + "integrity" "sha512-vP6bc2v9h442Srmo7t2QcIbPjk5IqLSf4jGnKDAes8z+7eyjCtKugRP3lOM1fJCfGlPIsJGYnexxYdEGw008vA==" + "resolved" "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader-native/-/chunked-blob-reader-native-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-sdk/util-base64-browser" "3.6.1" - tslib "^1.8.0" + "tslib" "^1.8.0" "@aws-sdk/chunked-blob-reader@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader/-/chunked-blob-reader-3.6.1.tgz" - integrity sha512-QBGUBoD8D5nsM/EKoc0rjpApa5NE5pQVzw1caE8sG00QMMPkCXWSB/gTVKVY0GOAhJFoA/VpVPQchIlZcOrBFg== + "integrity" "sha512-QBGUBoD8D5nsM/EKoc0rjpApa5NE5pQVzw1caE8sG00QMMPkCXWSB/gTVKVY0GOAhJFoA/VpVPQchIlZcOrBFg==" + "resolved" "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader/-/chunked-blob-reader-3.6.1.tgz" + "version" "3.6.1" dependencies: - tslib "^1.8.0" + "tslib" "^1.8.0" "@aws-sdk/client-cloudwatch-logs@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/client-cloudwatch-logs/-/client-cloudwatch-logs-3.6.1.tgz" - integrity sha512-QOxIDnlVTpnwJ26Gap6RGz61cDLH6TKrIp30VqwdMeT1pCGy8mn9rWln6XA+ymkofHy/08RfpGp+VN4axwd4Lw== + "integrity" "sha512-QOxIDnlVTpnwJ26Gap6RGz61cDLH6TKrIp30VqwdMeT1pCGy8mn9rWln6XA+ymkofHy/08RfpGp+VN4axwd4Lw==" + "resolved" "https://registry.npmjs.org/@aws-sdk/client-cloudwatch-logs/-/client-cloudwatch-logs-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-crypto/sha256-browser" "^1.0.0" "@aws-crypto/sha256-js" "^1.0.0" @@ -418,49 +445,12 @@ "@aws-sdk/util-user-agent-node" "3.6.1" "@aws-sdk/util-utf8-browser" "3.6.1" "@aws-sdk/util-utf8-node" "3.6.1" - tslib "^2.0.0" - -"@aws-sdk/client-cognito-identity@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.6.1.tgz" - integrity sha512-FMj2GR9R5oCKb3/NI16GIvWeHcE4uX42fBAaQKPbjg2gALFDx9CcJYsdOtDP37V89GtPyZilLv6GJxrwJKzYGg== - dependencies: - "@aws-crypto/sha256-browser" "^1.0.0" - "@aws-crypto/sha256-js" "^1.0.0" - "@aws-sdk/config-resolver" "3.6.1" - "@aws-sdk/credential-provider-node" "3.6.1" - "@aws-sdk/fetch-http-handler" "3.6.1" - "@aws-sdk/hash-node" "3.6.1" - "@aws-sdk/invalid-dependency" "3.6.1" - "@aws-sdk/middleware-content-length" "3.6.1" - "@aws-sdk/middleware-host-header" "3.6.1" - "@aws-sdk/middleware-logger" "3.6.1" - "@aws-sdk/middleware-retry" "3.6.1" - "@aws-sdk/middleware-serde" "3.6.1" - "@aws-sdk/middleware-signing" "3.6.1" - "@aws-sdk/middleware-stack" "3.6.1" - "@aws-sdk/middleware-user-agent" "3.6.1" - "@aws-sdk/node-config-provider" "3.6.1" - "@aws-sdk/node-http-handler" "3.6.1" - "@aws-sdk/protocol-http" "3.6.1" - "@aws-sdk/smithy-client" "3.6.1" - "@aws-sdk/types" "3.6.1" - "@aws-sdk/url-parser" "3.6.1" - "@aws-sdk/url-parser-native" "3.6.1" - "@aws-sdk/util-base64-browser" "3.6.1" - "@aws-sdk/util-base64-node" "3.6.1" - "@aws-sdk/util-body-length-browser" "3.6.1" - "@aws-sdk/util-body-length-node" "3.6.1" - "@aws-sdk/util-user-agent-browser" "3.6.1" - "@aws-sdk/util-user-agent-node" "3.6.1" - "@aws-sdk/util-utf8-browser" "3.6.1" - "@aws-sdk/util-utf8-node" "3.6.1" - tslib "^2.0.0" + "tslib" "^2.0.0" "@aws-sdk/client-comprehend@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/client-comprehend/-/client-comprehend-3.6.1.tgz" - integrity sha512-Y2ixlSTjjAp2HJhkUArtYqC/X+zG5Qqu3Bl+Ez22u4u4YnG8HsNFD6FE1axuWSdSa5AFtWTEt+Cz2Ghj/tDySA== + "integrity" "sha512-Y2ixlSTjjAp2HJhkUArtYqC/X+zG5Qqu3Bl+Ez22u4u4YnG8HsNFD6FE1axuWSdSa5AFtWTEt+Cz2Ghj/tDySA==" + "resolved" "https://registry.npmjs.org/@aws-sdk/client-comprehend/-/client-comprehend-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-crypto/sha256-browser" "^1.0.0" "@aws-crypto/sha256-js" "^1.0.0" @@ -492,13 +482,13 @@ "@aws-sdk/util-user-agent-node" "3.6.1" "@aws-sdk/util-utf8-browser" "3.6.1" "@aws-sdk/util-utf8-node" "3.6.1" - tslib "^2.0.0" - uuid "^3.0.0" + "tslib" "^2.0.0" + "uuid" "^3.0.0" "@aws-sdk/client-firehose@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/client-firehose/-/client-firehose-3.6.1.tgz" - integrity sha512-KhiKCm+cJmnRFuAEyO3DBpFVDNix1XcVikdxk2lvYbFWkM1oUZoBpudxaJ+fPf2W3stF3CXIAOP+TnGqSZCy9g== + "integrity" "sha512-KhiKCm+cJmnRFuAEyO3DBpFVDNix1XcVikdxk2lvYbFWkM1oUZoBpudxaJ+fPf2W3stF3CXIAOP+TnGqSZCy9g==" + "resolved" "https://registry.npmjs.org/@aws-sdk/client-firehose/-/client-firehose-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-crypto/sha256-browser" "^1.0.0" "@aws-crypto/sha256-js" "^1.0.0" @@ -530,12 +520,12 @@ "@aws-sdk/util-user-agent-node" "3.6.1" "@aws-sdk/util-utf8-browser" "3.6.1" "@aws-sdk/util-utf8-node" "3.6.1" - tslib "^2.0.0" + "tslib" "^2.0.0" "@aws-sdk/client-kinesis@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/client-kinesis/-/client-kinesis-3.6.1.tgz" - integrity sha512-Ygo+92LxHeUZmiyhiHT+k7hIOhJd6S7ckCEVUsQs2rfwe9bAygUY/3cCoZSqgWy7exFRRKsjhzStcyV6i6jrVQ== + "integrity" "sha512-Ygo+92LxHeUZmiyhiHT+k7hIOhJd6S7ckCEVUsQs2rfwe9bAygUY/3cCoZSqgWy7exFRRKsjhzStcyV6i6jrVQ==" + "resolved" "https://registry.npmjs.org/@aws-sdk/client-kinesis/-/client-kinesis-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-crypto/sha256-browser" "^1.0.0" "@aws-crypto/sha256-js" "^1.0.0" @@ -571,125 +561,137 @@ "@aws-sdk/util-utf8-browser" "3.6.1" "@aws-sdk/util-utf8-node" "3.6.1" "@aws-sdk/util-waiter" "3.6.1" - tslib "^2.0.0" + "tslib" "^2.0.0" -"@aws-sdk/client-lex-runtime-service@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/client-lex-runtime-service/-/client-lex-runtime-service-3.6.1.tgz" - integrity sha512-xi3m3f3G9KEKdziOFyynkfvN7OzdT9T8V3wkM4x+Zhid9v1K4Rg7OvbBb5oG9UicLz54tcZGkt0VN4ldEB/XLQ== +"@aws-sdk/client-lex-runtime-service@3.186.2": + "integrity" "sha512-UzIDdbz04SxjQbUZJCSoDkKMfzfmi4QsoCBL52vdqB6wOW26yQvwxqJcXsSfGgD7YbEKJhlLb1dncFuSGUMuEQ==" + "resolved" "https://registry.npmjs.org/@aws-sdk/client-lex-runtime-service/-/client-lex-runtime-service-3.186.2.tgz" + "version" "3.186.2" dependencies: - "@aws-crypto/sha256-browser" "^1.0.0" - "@aws-crypto/sha256-js" "^1.0.0" - "@aws-sdk/config-resolver" "3.6.1" - "@aws-sdk/credential-provider-node" "3.6.1" - "@aws-sdk/fetch-http-handler" "3.6.1" - "@aws-sdk/hash-node" "3.6.1" - "@aws-sdk/invalid-dependency" "3.6.1" - "@aws-sdk/middleware-content-length" "3.6.1" - "@aws-sdk/middleware-host-header" "3.6.1" - "@aws-sdk/middleware-logger" "3.6.1" - "@aws-sdk/middleware-retry" "3.6.1" - "@aws-sdk/middleware-serde" "3.6.1" - "@aws-sdk/middleware-signing" "3.6.1" - "@aws-sdk/middleware-stack" "3.6.1" - "@aws-sdk/middleware-user-agent" "3.6.1" - "@aws-sdk/node-config-provider" "3.6.1" - "@aws-sdk/node-http-handler" "3.6.1" - "@aws-sdk/protocol-http" "3.6.1" - "@aws-sdk/smithy-client" "3.6.1" - "@aws-sdk/types" "3.6.1" - "@aws-sdk/url-parser" "3.6.1" - "@aws-sdk/url-parser-native" "3.6.1" - "@aws-sdk/util-base64-browser" "3.6.1" - "@aws-sdk/util-base64-node" "3.6.1" - "@aws-sdk/util-body-length-browser" "3.6.1" - "@aws-sdk/util-body-length-node" "3.6.1" - "@aws-sdk/util-user-agent-browser" "3.6.1" - "@aws-sdk/util-user-agent-node" "3.6.1" - "@aws-sdk/util-utf8-browser" "3.6.1" - "@aws-sdk/util-utf8-node" "3.6.1" - tslib "^2.0.0" - -"@aws-sdk/client-location@3.48.0": - version "3.48.0" - resolved "https://registry.npmjs.org/@aws-sdk/client-location/-/client-location-3.48.0.tgz" - integrity sha512-oQtViqE1cxLkkV6UCOkq/eTNtw9pXPQ42jPjaIyhNRrNJaDa03qeoJv4I1hNhaA1fEdcXQ0TxayWHwbkrax6oA== + "@aws-crypto/sha256-browser" "2.0.0" + "@aws-crypto/sha256-js" "2.0.0" + "@aws-sdk/client-sts" "3.186.2" + "@aws-sdk/config-resolver" "3.186.0" + "@aws-sdk/credential-provider-node" "3.186.0" + "@aws-sdk/fetch-http-handler" "3.186.0" + "@aws-sdk/hash-node" "3.186.0" + "@aws-sdk/invalid-dependency" "3.186.0" + "@aws-sdk/middleware-content-length" "3.186.0" + "@aws-sdk/middleware-host-header" "3.186.0" + "@aws-sdk/middleware-logger" "3.186.0" + "@aws-sdk/middleware-recursion-detection" "3.186.0" + "@aws-sdk/middleware-retry" "3.186.0" + "@aws-sdk/middleware-serde" "3.186.0" + "@aws-sdk/middleware-signing" "3.186.0" + "@aws-sdk/middleware-stack" "3.186.0" + "@aws-sdk/middleware-user-agent" "3.186.0" + "@aws-sdk/node-config-provider" "3.186.0" + "@aws-sdk/node-http-handler" "3.186.0" + "@aws-sdk/protocol-http" "3.186.0" + "@aws-sdk/smithy-client" "3.186.0" + "@aws-sdk/types" "3.186.0" + "@aws-sdk/url-parser" "3.186.0" + "@aws-sdk/util-base64-browser" "3.186.0" + "@aws-sdk/util-base64-node" "3.186.0" + "@aws-sdk/util-body-length-browser" "3.186.0" + "@aws-sdk/util-body-length-node" "3.186.0" + "@aws-sdk/util-defaults-mode-browser" "3.186.0" + "@aws-sdk/util-defaults-mode-node" "3.186.0" + "@aws-sdk/util-user-agent-browser" "3.186.0" + "@aws-sdk/util-user-agent-node" "3.186.0" + "@aws-sdk/util-utf8-browser" "3.186.0" + "@aws-sdk/util-utf8-node" "3.186.0" + "tslib" "^2.3.1" + +"@aws-sdk/client-lex-runtime-v2@3.186.2": + "integrity" "sha512-OUO3wclrJIHNoczrCaTYnOhDayPNiz270I4jrOKORddepOeawbqmUZBIVeQh1JaL6/qlKz1ZId/zazBf2Mgcsw==" + "resolved" "https://registry.npmjs.org/@aws-sdk/client-lex-runtime-v2/-/client-lex-runtime-v2-3.186.2.tgz" + "version" "3.186.2" dependencies: "@aws-crypto/sha256-browser" "2.0.0" "@aws-crypto/sha256-js" "2.0.0" - "@aws-sdk/client-sts" "3.48.0" - "@aws-sdk/config-resolver" "3.47.2" - "@aws-sdk/credential-provider-node" "3.48.0" - "@aws-sdk/fetch-http-handler" "3.47.2" - "@aws-sdk/hash-node" "3.47.2" - "@aws-sdk/invalid-dependency" "3.47.2" - "@aws-sdk/middleware-content-length" "3.47.2" - "@aws-sdk/middleware-host-header" "3.47.2" - "@aws-sdk/middleware-logger" "3.47.2" - "@aws-sdk/middleware-retry" "3.47.2" - "@aws-sdk/middleware-serde" "3.47.2" - "@aws-sdk/middleware-signing" "3.47.2" - "@aws-sdk/middleware-stack" "3.47.2" - "@aws-sdk/middleware-user-agent" "3.47.2" - "@aws-sdk/node-config-provider" "3.47.2" - "@aws-sdk/node-http-handler" "3.47.2" - "@aws-sdk/protocol-http" "3.47.2" - "@aws-sdk/smithy-client" "3.47.2" - "@aws-sdk/types" "3.47.1" - "@aws-sdk/url-parser" "3.47.2" - "@aws-sdk/util-base64-browser" "3.47.1" - "@aws-sdk/util-base64-node" "3.47.2" - "@aws-sdk/util-body-length-browser" "3.47.1" - "@aws-sdk/util-body-length-node" "3.47.1" - "@aws-sdk/util-defaults-mode-browser" "3.47.2" - "@aws-sdk/util-defaults-mode-node" "3.47.2" - "@aws-sdk/util-user-agent-browser" "3.47.2" - "@aws-sdk/util-user-agent-node" "3.47.2" - "@aws-sdk/util-utf8-browser" "3.47.1" - "@aws-sdk/util-utf8-node" "3.47.2" - tslib "^2.3.0" - -"@aws-sdk/client-personalize-events@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/client-personalize-events/-/client-personalize-events-3.6.1.tgz" - integrity sha512-x9Jl/7emSQsB6GwBvjyw5BiSO26CnH4uvjNit6n54yNMtJ26q0+oIxkplnUDyjLTfLRe373c/z5/4dQQtDffkw== + "@aws-sdk/client-sts" "3.186.2" + "@aws-sdk/config-resolver" "3.186.0" + "@aws-sdk/credential-provider-node" "3.186.0" + "@aws-sdk/eventstream-handler-node" "3.186.0" + "@aws-sdk/eventstream-serde-browser" "3.186.0" + "@aws-sdk/eventstream-serde-config-resolver" "3.186.0" + "@aws-sdk/eventstream-serde-node" "3.186.0" + "@aws-sdk/fetch-http-handler" "3.186.0" + "@aws-sdk/hash-node" "3.186.0" + "@aws-sdk/invalid-dependency" "3.186.0" + "@aws-sdk/middleware-content-length" "3.186.0" + "@aws-sdk/middleware-eventstream" "3.186.0" + "@aws-sdk/middleware-host-header" "3.186.0" + "@aws-sdk/middleware-logger" "3.186.0" + "@aws-sdk/middleware-recursion-detection" "3.186.0" + "@aws-sdk/middleware-retry" "3.186.0" + "@aws-sdk/middleware-serde" "3.186.0" + "@aws-sdk/middleware-signing" "3.186.0" + "@aws-sdk/middleware-stack" "3.186.0" + "@aws-sdk/middleware-user-agent" "3.186.0" + "@aws-sdk/node-config-provider" "3.186.0" + "@aws-sdk/node-http-handler" "3.186.0" + "@aws-sdk/protocol-http" "3.186.0" + "@aws-sdk/smithy-client" "3.186.0" + "@aws-sdk/types" "3.186.0" + "@aws-sdk/url-parser" "3.186.0" + "@aws-sdk/util-base64-browser" "3.186.0" + "@aws-sdk/util-base64-node" "3.186.0" + "@aws-sdk/util-body-length-browser" "3.186.0" + "@aws-sdk/util-body-length-node" "3.186.0" + "@aws-sdk/util-defaults-mode-browser" "3.186.0" + "@aws-sdk/util-defaults-mode-node" "3.186.0" + "@aws-sdk/util-user-agent-browser" "3.186.0" + "@aws-sdk/util-user-agent-node" "3.186.0" + "@aws-sdk/util-utf8-browser" "3.186.0" + "@aws-sdk/util-utf8-node" "3.186.0" + "tslib" "^2.3.1" + +"@aws-sdk/client-location@3.186.2": + "integrity" "sha512-pjuwqfibyfkVOXbTaHzO4zNb/3NamlA/R+R8UvMex3NtxsDAWgqM3B9cYa2/Auqhzk+Wc/bhrz8FBskSEgdfWg==" + "resolved" "https://registry.npmjs.org/@aws-sdk/client-location/-/client-location-3.186.2.tgz" + "version" "3.186.2" dependencies: - "@aws-crypto/sha256-browser" "^1.0.0" - "@aws-crypto/sha256-js" "^1.0.0" - "@aws-sdk/config-resolver" "3.6.1" - "@aws-sdk/credential-provider-node" "3.6.1" - "@aws-sdk/fetch-http-handler" "3.6.1" - "@aws-sdk/hash-node" "3.6.1" - "@aws-sdk/invalid-dependency" "3.6.1" - "@aws-sdk/middleware-content-length" "3.6.1" - "@aws-sdk/middleware-host-header" "3.6.1" - "@aws-sdk/middleware-logger" "3.6.1" - "@aws-sdk/middleware-retry" "3.6.1" - "@aws-sdk/middleware-serde" "3.6.1" - "@aws-sdk/middleware-signing" "3.6.1" - "@aws-sdk/middleware-stack" "3.6.1" - "@aws-sdk/middleware-user-agent" "3.6.1" - "@aws-sdk/node-config-provider" "3.6.1" - "@aws-sdk/node-http-handler" "3.6.1" - "@aws-sdk/protocol-http" "3.6.1" - "@aws-sdk/smithy-client" "3.6.1" - "@aws-sdk/types" "3.6.1" - "@aws-sdk/url-parser" "3.6.1" - "@aws-sdk/url-parser-native" "3.6.1" - "@aws-sdk/util-base64-browser" "3.6.1" - "@aws-sdk/util-base64-node" "3.6.1" - "@aws-sdk/util-body-length-browser" "3.6.1" - "@aws-sdk/util-body-length-node" "3.6.1" - "@aws-sdk/util-user-agent-browser" "3.6.1" - "@aws-sdk/util-user-agent-node" "3.6.1" - "@aws-sdk/util-utf8-browser" "3.6.1" - "@aws-sdk/util-utf8-node" "3.6.1" - tslib "^2.0.0" + "@aws-crypto/sha256-browser" "2.0.0" + "@aws-crypto/sha256-js" "2.0.0" + "@aws-sdk/client-sts" "3.186.2" + "@aws-sdk/config-resolver" "3.186.0" + "@aws-sdk/credential-provider-node" "3.186.0" + "@aws-sdk/fetch-http-handler" "3.186.0" + "@aws-sdk/hash-node" "3.186.0" + "@aws-sdk/invalid-dependency" "3.186.0" + "@aws-sdk/middleware-content-length" "3.186.0" + "@aws-sdk/middleware-host-header" "3.186.0" + "@aws-sdk/middleware-logger" "3.186.0" + "@aws-sdk/middleware-recursion-detection" "3.186.0" + "@aws-sdk/middleware-retry" "3.186.0" + "@aws-sdk/middleware-serde" "3.186.0" + "@aws-sdk/middleware-signing" "3.186.0" + "@aws-sdk/middleware-stack" "3.186.0" + "@aws-sdk/middleware-user-agent" "3.186.0" + "@aws-sdk/node-config-provider" "3.186.0" + "@aws-sdk/node-http-handler" "3.186.0" + "@aws-sdk/protocol-http" "3.186.0" + "@aws-sdk/smithy-client" "3.186.0" + "@aws-sdk/types" "3.186.0" + "@aws-sdk/url-parser" "3.186.0" + "@aws-sdk/util-base64-browser" "3.186.0" + "@aws-sdk/util-base64-node" "3.186.0" + "@aws-sdk/util-body-length-browser" "3.186.0" + "@aws-sdk/util-body-length-node" "3.186.0" + "@aws-sdk/util-defaults-mode-browser" "3.186.0" + "@aws-sdk/util-defaults-mode-node" "3.186.0" + "@aws-sdk/util-user-agent-browser" "3.186.0" + "@aws-sdk/util-user-agent-node" "3.186.0" + "@aws-sdk/util-utf8-browser" "3.186.0" + "@aws-sdk/util-utf8-node" "3.186.0" + "tslib" "^2.3.1" -"@aws-sdk/client-pinpoint@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/client-pinpoint/-/client-pinpoint-3.6.1.tgz" - integrity sha512-dueBedp91EKAHxcWLR3aNx/eUEdxdF9niEQTzOO2O4iJL2yvO2Hh7ZYiO7B3g7FuuICTpWSHd//Y9mGmSVLMCg== +"@aws-sdk/client-personalize-events@3.6.1": + "integrity" "sha512-x9Jl/7emSQsB6GwBvjyw5BiSO26CnH4uvjNit6n54yNMtJ26q0+oIxkplnUDyjLTfLRe373c/z5/4dQQtDffkw==" + "resolved" "https://registry.npmjs.org/@aws-sdk/client-personalize-events/-/client-personalize-events-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-crypto/sha256-browser" "^1.0.0" "@aws-crypto/sha256-js" "^1.0.0" @@ -721,12 +723,12 @@ "@aws-sdk/util-user-agent-node" "3.6.1" "@aws-sdk/util-utf8-browser" "3.6.1" "@aws-sdk/util-utf8-node" "3.6.1" - tslib "^2.0.0" + "tslib" "^2.0.0" "@aws-sdk/client-polly@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/client-polly/-/client-polly-3.6.1.tgz" - integrity sha512-y6fxVYndGS7z2KqHViPCqagBEOsZlxBUYUJZuD6WWTiQrI0Pwe5qG02oKJVaa5OmxE20QLf6bRBWj2rQpeF4IQ== + "integrity" "sha512-y6fxVYndGS7z2KqHViPCqagBEOsZlxBUYUJZuD6WWTiQrI0Pwe5qG02oKJVaa5OmxE20QLf6bRBWj2rQpeF4IQ==" + "resolved" "https://registry.npmjs.org/@aws-sdk/client-polly/-/client-polly-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-crypto/sha256-browser" "^1.0.0" "@aws-crypto/sha256-js" "^1.0.0" @@ -758,12 +760,12 @@ "@aws-sdk/util-user-agent-node" "3.6.1" "@aws-sdk/util-utf8-browser" "3.6.1" "@aws-sdk/util-utf8-node" "3.6.1" - tslib "^2.0.0" + "tslib" "^2.0.0" "@aws-sdk/client-rekognition@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/client-rekognition/-/client-rekognition-3.6.1.tgz" - integrity sha512-Ia4FEog9RrI0IoDRbOJO6djwhVAAaEZutxEKrWbjrVz4bgib28L+V+yAio2SUneeirj8pNYXwBKPfoYOUqGHhA== + "integrity" "sha512-Ia4FEog9RrI0IoDRbOJO6djwhVAAaEZutxEKrWbjrVz4bgib28L+V+yAio2SUneeirj8pNYXwBKPfoYOUqGHhA==" + "resolved" "https://registry.npmjs.org/@aws-sdk/client-rekognition/-/client-rekognition-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-crypto/sha256-browser" "^1.0.0" "@aws-crypto/sha256-js" "^1.0.0" @@ -796,12 +798,12 @@ "@aws-sdk/util-utf8-browser" "3.6.1" "@aws-sdk/util-utf8-node" "3.6.1" "@aws-sdk/util-waiter" "3.6.1" - tslib "^2.0.0" + "tslib" "^2.0.0" -"@aws-sdk/client-s3@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.6.1.tgz" - integrity sha512-59cTmZj92iwgNoAeJirK5sZNQNXLc/oI3luqrEHRNLuOh70bjdgad70T0a5k2Ysd/v/QNamqJxnCJMPuX1bhgw== +"@aws-sdk/client-s3@3.6.3": + "integrity" "sha512-nDcz/vyQ+otYjt9AetCWw9X4Ii4sdKOxmBJA06bLufzaWeGyYzVT3oY9o+9GywUXMEkz6vFVeKDZuSptt3aycA==" + "resolved" "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.6.3.tgz" + "version" "3.6.3" dependencies: "@aws-crypto/sha256-browser" "^1.0.0" "@aws-crypto/sha256-js" "^1.0.0" @@ -847,90 +849,92 @@ "@aws-sdk/util-utf8-node" "3.6.1" "@aws-sdk/util-waiter" "3.6.1" "@aws-sdk/xml-builder" "3.6.1" - fast-xml-parser "^3.16.0" - tslib "^2.0.0" + "fast-xml-parser" "4.2.4" + "tslib" "^2.0.0" -"@aws-sdk/client-sso@3.48.0": - version "3.48.0" - resolved "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.48.0.tgz" - integrity sha512-A9f7B5k+X7bx062OQEcLHIMMIq0H1GlUqdw9xReCLd6W6vcRthbeSK5xbkM7TzHeKHE2/9qQYAy0lyKkxFE6bQ== +"@aws-sdk/client-sso@3.186.0": + "integrity" "sha512-qwLPomqq+fjvp42izzEpBEtGL2+dIlWH5pUCteV55hTEwHgo+m9LJPIrMWkPeoMBzqbNiu5n6+zihnwYlCIlEA==" + "resolved" "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.186.0.tgz" + "version" "3.186.0" dependencies: "@aws-crypto/sha256-browser" "2.0.0" "@aws-crypto/sha256-js" "2.0.0" - "@aws-sdk/config-resolver" "3.47.2" - "@aws-sdk/fetch-http-handler" "3.47.2" - "@aws-sdk/hash-node" "3.47.2" - "@aws-sdk/invalid-dependency" "3.47.2" - "@aws-sdk/middleware-content-length" "3.47.2" - "@aws-sdk/middleware-host-header" "3.47.2" - "@aws-sdk/middleware-logger" "3.47.2" - "@aws-sdk/middleware-retry" "3.47.2" - "@aws-sdk/middleware-serde" "3.47.2" - "@aws-sdk/middleware-stack" "3.47.2" - "@aws-sdk/middleware-user-agent" "3.47.2" - "@aws-sdk/node-config-provider" "3.47.2" - "@aws-sdk/node-http-handler" "3.47.2" - "@aws-sdk/protocol-http" "3.47.2" - "@aws-sdk/smithy-client" "3.47.2" - "@aws-sdk/types" "3.47.1" - "@aws-sdk/url-parser" "3.47.2" - "@aws-sdk/util-base64-browser" "3.47.1" - "@aws-sdk/util-base64-node" "3.47.2" - "@aws-sdk/util-body-length-browser" "3.47.1" - "@aws-sdk/util-body-length-node" "3.47.1" - "@aws-sdk/util-defaults-mode-browser" "3.47.2" - "@aws-sdk/util-defaults-mode-node" "3.47.2" - "@aws-sdk/util-user-agent-browser" "3.47.2" - "@aws-sdk/util-user-agent-node" "3.47.2" - "@aws-sdk/util-utf8-browser" "3.47.1" - "@aws-sdk/util-utf8-node" "3.47.2" - tslib "^2.3.0" - -"@aws-sdk/client-sts@3.48.0": - version "3.48.0" - resolved "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.48.0.tgz" - integrity sha512-vOSIYCHjXB9nztZqwjIjV/jRZCfgej1YHpgqeNlfL8hPNhcrHemaoJaKHRPnhljIuHi+H5yQW7Pm4qJUFtGwKA== + "@aws-sdk/config-resolver" "3.186.0" + "@aws-sdk/fetch-http-handler" "3.186.0" + "@aws-sdk/hash-node" "3.186.0" + "@aws-sdk/invalid-dependency" "3.186.0" + "@aws-sdk/middleware-content-length" "3.186.0" + "@aws-sdk/middleware-host-header" "3.186.0" + "@aws-sdk/middleware-logger" "3.186.0" + "@aws-sdk/middleware-recursion-detection" "3.186.0" + "@aws-sdk/middleware-retry" "3.186.0" + "@aws-sdk/middleware-serde" "3.186.0" + "@aws-sdk/middleware-stack" "3.186.0" + "@aws-sdk/middleware-user-agent" "3.186.0" + "@aws-sdk/node-config-provider" "3.186.0" + "@aws-sdk/node-http-handler" "3.186.0" + "@aws-sdk/protocol-http" "3.186.0" + "@aws-sdk/smithy-client" "3.186.0" + "@aws-sdk/types" "3.186.0" + "@aws-sdk/url-parser" "3.186.0" + "@aws-sdk/util-base64-browser" "3.186.0" + "@aws-sdk/util-base64-node" "3.186.0" + "@aws-sdk/util-body-length-browser" "3.186.0" + "@aws-sdk/util-body-length-node" "3.186.0" + "@aws-sdk/util-defaults-mode-browser" "3.186.0" + "@aws-sdk/util-defaults-mode-node" "3.186.0" + "@aws-sdk/util-user-agent-browser" "3.186.0" + "@aws-sdk/util-user-agent-node" "3.186.0" + "@aws-sdk/util-utf8-browser" "3.186.0" + "@aws-sdk/util-utf8-node" "3.186.0" + "tslib" "^2.3.1" + +"@aws-sdk/client-sts@3.186.2": + "integrity" "sha512-v58K2uVt7Yy980cCMCWKnNiTL3WAP0a82rI4p/eisc0i6WmXNguUtR+F4FyFlhJtHogjV7Uj4MSoI/qPwT2unA==" + "resolved" "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.186.2.tgz" + "version" "3.186.2" dependencies: "@aws-crypto/sha256-browser" "2.0.0" "@aws-crypto/sha256-js" "2.0.0" - "@aws-sdk/config-resolver" "3.47.2" - "@aws-sdk/credential-provider-node" "3.48.0" - "@aws-sdk/fetch-http-handler" "3.47.2" - "@aws-sdk/hash-node" "3.47.2" - "@aws-sdk/invalid-dependency" "3.47.2" - "@aws-sdk/middleware-content-length" "3.47.2" - "@aws-sdk/middleware-host-header" "3.47.2" - "@aws-sdk/middleware-logger" "3.47.2" - "@aws-sdk/middleware-retry" "3.47.2" - "@aws-sdk/middleware-sdk-sts" "3.47.2" - "@aws-sdk/middleware-serde" "3.47.2" - "@aws-sdk/middleware-signing" "3.47.2" - "@aws-sdk/middleware-stack" "3.47.2" - "@aws-sdk/middleware-user-agent" "3.47.2" - "@aws-sdk/node-config-provider" "3.47.2" - "@aws-sdk/node-http-handler" "3.47.2" - "@aws-sdk/protocol-http" "3.47.2" - "@aws-sdk/smithy-client" "3.47.2" - "@aws-sdk/types" "3.47.1" - "@aws-sdk/url-parser" "3.47.2" - "@aws-sdk/util-base64-browser" "3.47.1" - "@aws-sdk/util-base64-node" "3.47.2" - "@aws-sdk/util-body-length-browser" "3.47.1" - "@aws-sdk/util-body-length-node" "3.47.1" - "@aws-sdk/util-defaults-mode-browser" "3.47.2" - "@aws-sdk/util-defaults-mode-node" "3.47.2" - "@aws-sdk/util-user-agent-browser" "3.47.2" - "@aws-sdk/util-user-agent-node" "3.47.2" - "@aws-sdk/util-utf8-browser" "3.47.1" - "@aws-sdk/util-utf8-node" "3.47.2" - entities "2.2.0" - fast-xml-parser "3.19.0" - tslib "^2.3.0" + "@aws-sdk/config-resolver" "3.186.0" + "@aws-sdk/credential-provider-node" "3.186.0" + "@aws-sdk/fetch-http-handler" "3.186.0" + "@aws-sdk/hash-node" "3.186.0" + "@aws-sdk/invalid-dependency" "3.186.0" + "@aws-sdk/middleware-content-length" "3.186.0" + "@aws-sdk/middleware-host-header" "3.186.0" + "@aws-sdk/middleware-logger" "3.186.0" + "@aws-sdk/middleware-recursion-detection" "3.186.0" + "@aws-sdk/middleware-retry" "3.186.0" + "@aws-sdk/middleware-sdk-sts" "3.186.0" + "@aws-sdk/middleware-serde" "3.186.0" + "@aws-sdk/middleware-signing" "3.186.0" + "@aws-sdk/middleware-stack" "3.186.0" + "@aws-sdk/middleware-user-agent" "3.186.0" + "@aws-sdk/node-config-provider" "3.186.0" + "@aws-sdk/node-http-handler" "3.186.0" + "@aws-sdk/protocol-http" "3.186.0" + "@aws-sdk/smithy-client" "3.186.0" + "@aws-sdk/types" "3.186.0" + "@aws-sdk/url-parser" "3.186.0" + "@aws-sdk/util-base64-browser" "3.186.0" + "@aws-sdk/util-base64-node" "3.186.0" + "@aws-sdk/util-body-length-browser" "3.186.0" + "@aws-sdk/util-body-length-node" "3.186.0" + "@aws-sdk/util-defaults-mode-browser" "3.186.0" + "@aws-sdk/util-defaults-mode-node" "3.186.0" + "@aws-sdk/util-user-agent-browser" "3.186.0" + "@aws-sdk/util-user-agent-node" "3.186.0" + "@aws-sdk/util-utf8-browser" "3.186.0" + "@aws-sdk/util-utf8-node" "3.186.0" + "entities" "2.2.0" + "fast-xml-parser" "4.2.4" + "tslib" "^2.3.1" "@aws-sdk/client-textract@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/client-textract/-/client-textract-3.6.1.tgz" - integrity sha512-nLrBzWDt3ToiGVFF4lW7a/eZpI2zjdvu7lwmOWyXX8iiPzhBVVEfd5oOorRyJYBsGMslp4sqV8TBkU5Ld/a97Q== + "integrity" "sha512-nLrBzWDt3ToiGVFF4lW7a/eZpI2zjdvu7lwmOWyXX8iiPzhBVVEfd5oOorRyJYBsGMslp4sqV8TBkU5Ld/a97Q==" + "resolved" "https://registry.npmjs.org/@aws-sdk/client-textract/-/client-textract-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-crypto/sha256-browser" "^1.0.0" "@aws-crypto/sha256-js" "^1.0.0" @@ -962,12 +966,12 @@ "@aws-sdk/util-user-agent-node" "3.6.1" "@aws-sdk/util-utf8-browser" "3.6.1" "@aws-sdk/util-utf8-node" "3.6.1" - tslib "^2.0.0" + "tslib" "^2.0.0" "@aws-sdk/client-translate@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/client-translate/-/client-translate-3.6.1.tgz" - integrity sha512-RIHY+Og1i43B5aWlfUUk0ZFnNfM7j2vzlYUwOqhndawV49GFf96M3pmskR5sKEZI+5TXY77qR9TgZ/r3UxVCRQ== + "integrity" "sha512-RIHY+Og1i43B5aWlfUUk0ZFnNfM7j2vzlYUwOqhndawV49GFf96M3pmskR5sKEZI+5TXY77qR9TgZ/r3UxVCRQ==" + "resolved" "https://registry.npmjs.org/@aws-sdk/client-translate/-/client-translate-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-crypto/sha256-browser" "^1.0.0" "@aws-crypto/sha256-js" "^1.0.0" @@ -999,122 +1003,111 @@ "@aws-sdk/util-user-agent-node" "3.6.1" "@aws-sdk/util-utf8-browser" "3.6.1" "@aws-sdk/util-utf8-node" "3.6.1" - tslib "^2.0.0" - uuid "^3.0.0" + "tslib" "^2.0.0" + "uuid" "^3.0.0" -"@aws-sdk/config-resolver@3.47.2": - version "3.47.2" - resolved "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.47.2.tgz" - integrity sha512-uv9U/qDOSqyCPQ71qiwMslqRMxYyt0y0h6X0aQ67GCPq4rbbU/dn8PqnYT0VfX/9Ss+DcbTm7vOTxVKv+8XADA== +"@aws-sdk/config-resolver@3.186.0": + "integrity" "sha512-l8DR7Q4grEn1fgo2/KvtIfIHJS33HGKPQnht8OPxkl0dMzOJ0jxjOw/tMbrIcPnr2T3Fi7LLcj3dY1Fo1poruQ==" + "resolved" "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.186.0.tgz" + "version" "3.186.0" dependencies: - "@aws-sdk/signature-v4" "3.47.2" - "@aws-sdk/types" "3.47.1" - "@aws-sdk/util-config-provider" "3.47.1" - tslib "^2.3.0" + "@aws-sdk/signature-v4" "3.186.0" + "@aws-sdk/types" "3.186.0" + "@aws-sdk/util-config-provider" "3.186.0" + "@aws-sdk/util-middleware" "3.186.0" + "tslib" "^2.3.1" "@aws-sdk/config-resolver@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.6.1.tgz" - integrity sha512-qjP1g3jLIm+XvOIJ4J7VmZRi87vsDmTRzIFePVeG+EFWwYQLxQjTGMdIj3yKTh1WuZ0HByf47mGcpiS4HZLm1Q== + "integrity" "sha512-qjP1g3jLIm+XvOIJ4J7VmZRi87vsDmTRzIFePVeG+EFWwYQLxQjTGMdIj3yKTh1WuZ0HByf47mGcpiS4HZLm1Q==" + "resolved" "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-sdk/signature-v4" "3.6.1" "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" - -"@aws-sdk/credential-provider-cognito-identity@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.6.1.tgz" - integrity sha512-uJ9q+yq+Dhdo32gcv0p/AT7sKSAUH0y4ts9XRK/vx0dW9Q3XJy99mOJlq/6fkh4LfWeavJJlaCo9lSHNMWXx4w== - dependencies: - "@aws-sdk/client-cognito-identity" "3.6.1" - "@aws-sdk/property-provider" "3.6.1" - "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" + "tslib" "^1.8.0" -"@aws-sdk/credential-provider-env@3.47.2": - version "3.47.2" - resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.47.2.tgz" - integrity sha512-HQKXY8y51kpTrD7P8fZJNf4MdCdu0+NcdOc+HScrQ21oZJv3BXUwXxKiOWY95Z3jYqyFwSKs1/FFuQ1mV0wjPg== +"@aws-sdk/credential-provider-env@3.186.0": + "integrity" "sha512-N9LPAqi1lsQWgxzmU4NPvLPnCN5+IQ3Ai1IFf3wM6FFPNoSUd1kIA2c6xaf0BE7j5Kelm0raZOb4LnV3TBAv+g==" + "resolved" "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.186.0.tgz" + "version" "3.186.0" dependencies: - "@aws-sdk/property-provider" "3.47.2" - "@aws-sdk/types" "3.47.1" - tslib "^2.3.0" + "@aws-sdk/property-provider" "3.186.0" + "@aws-sdk/types" "3.186.0" + "tslib" "^2.3.1" "@aws-sdk/credential-provider-env@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.6.1.tgz" - integrity sha512-coeFf/HnhpGidcAN1i1NuFgyFB2M6DeN1zNVy4f6s4mAh96ftr9DgWM1CcE3C+cLHEdpNqleVgC/2VQpyzOBLQ== + "integrity" "sha512-coeFf/HnhpGidcAN1i1NuFgyFB2M6DeN1zNVy4f6s4mAh96ftr9DgWM1CcE3C+cLHEdpNqleVgC/2VQpyzOBLQ==" + "resolved" "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-sdk/property-provider" "3.6.1" "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" + "tslib" "^1.8.0" -"@aws-sdk/credential-provider-imds@3.47.2": - version "3.47.2" - resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.47.2.tgz" - integrity sha512-7fCIofgU5pdKGgbCAYQ8H7sIFluN3oebFyFy7C4eXJyNy/8QKjFHEW3NkNCh0Bkd5sLOqkwYU3nyRx0CbNkEoQ== +"@aws-sdk/credential-provider-imds@3.186.0": + "integrity" "sha512-iJeC7KrEgPPAuXjCZ3ExYZrRQvzpSdTZopYgUm5TnNZ8S1NU/4nvv5xVy61JvMj3JQAeG8UDYYgC421Foc8wQw==" + "resolved" "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.186.0.tgz" + "version" "3.186.0" dependencies: - "@aws-sdk/node-config-provider" "3.47.2" - "@aws-sdk/property-provider" "3.47.2" - "@aws-sdk/types" "3.47.1" - "@aws-sdk/url-parser" "3.47.2" - tslib "^2.3.0" + "@aws-sdk/node-config-provider" "3.186.0" + "@aws-sdk/property-provider" "3.186.0" + "@aws-sdk/types" "3.186.0" + "@aws-sdk/url-parser" "3.186.0" + "tslib" "^2.3.1" "@aws-sdk/credential-provider-imds@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.6.1.tgz" - integrity sha512-bf4LMI418OYcQbyLZRAW8Q5AYM2IKrNqOnIcfrFn2f17ulG7TzoWW3WN/kMOw4TC9+y+vIlCWOv87GxU1yP0Bg== + "integrity" "sha512-bf4LMI418OYcQbyLZRAW8Q5AYM2IKrNqOnIcfrFn2f17ulG7TzoWW3WN/kMOw4TC9+y+vIlCWOv87GxU1yP0Bg==" + "resolved" "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-sdk/property-provider" "3.6.1" "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" - -"@aws-sdk/credential-provider-ini@3.48.0": - version "3.48.0" - resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.48.0.tgz" - integrity sha512-PSTfzK8V+3WVJOv+wlS4y09KYZx3iYj4Ad8LMGmGE4aqew8eRf6u2WuTmqrWwuOTxDra9PJ1ObcM5vBc+nZcYA== - dependencies: - "@aws-sdk/credential-provider-env" "3.47.2" - "@aws-sdk/credential-provider-imds" "3.47.2" - "@aws-sdk/credential-provider-sso" "3.48.0" - "@aws-sdk/credential-provider-web-identity" "3.47.2" - "@aws-sdk/property-provider" "3.47.2" - "@aws-sdk/shared-ini-file-loader" "3.47.1" - "@aws-sdk/types" "3.47.1" - "@aws-sdk/util-credentials" "3.47.2" - tslib "^2.3.0" + "tslib" "^1.8.0" + +"@aws-sdk/credential-provider-ini@3.186.0": + "integrity" "sha512-ecrFh3MoZhAj5P2k/HXo/hMJQ3sfmvlommzXuZ/D1Bj2yMcyWuBhF1A83Fwd2gtYrWRrllsK3IOMM5Jr8UIVZA==" + "resolved" "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.186.0.tgz" + "version" "3.186.0" + dependencies: + "@aws-sdk/credential-provider-env" "3.186.0" + "@aws-sdk/credential-provider-imds" "3.186.0" + "@aws-sdk/credential-provider-sso" "3.186.0" + "@aws-sdk/credential-provider-web-identity" "3.186.0" + "@aws-sdk/property-provider" "3.186.0" + "@aws-sdk/shared-ini-file-loader" "3.186.0" + "@aws-sdk/types" "3.186.0" + "tslib" "^2.3.1" "@aws-sdk/credential-provider-ini@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.6.1.tgz" - integrity sha512-3jguW6+ttRNddRZvbrs1yb3F1jrUbqyv0UfRoHuOGthjTt+L9sDpJaJGugYnT3bS9WBu1NydLVE2kDV++mJGVw== + "integrity" "sha512-3jguW6+ttRNddRZvbrs1yb3F1jrUbqyv0UfRoHuOGthjTt+L9sDpJaJGugYnT3bS9WBu1NydLVE2kDV++mJGVw==" + "resolved" "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-sdk/property-provider" "3.6.1" "@aws-sdk/shared-ini-file-loader" "3.6.1" "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" - -"@aws-sdk/credential-provider-node@3.48.0": - version "3.48.0" - resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.48.0.tgz" - integrity sha512-7CrbUT7yEZvYSQNXxZWN5KUx355wD+xrYIafoEST28T7nwcIiu7l2zpBY3JPhPIPNXqryVKfNQJvKV1dP3wF4g== - dependencies: - "@aws-sdk/credential-provider-env" "3.47.2" - "@aws-sdk/credential-provider-imds" "3.47.2" - "@aws-sdk/credential-provider-ini" "3.48.0" - "@aws-sdk/credential-provider-process" "3.47.2" - "@aws-sdk/credential-provider-sso" "3.48.0" - "@aws-sdk/credential-provider-web-identity" "3.47.2" - "@aws-sdk/property-provider" "3.47.2" - "@aws-sdk/shared-ini-file-loader" "3.47.1" - "@aws-sdk/types" "3.47.1" - "@aws-sdk/util-credentials" "3.47.2" - tslib "^2.3.0" + "tslib" "^1.8.0" + +"@aws-sdk/credential-provider-node@3.186.0": + "integrity" "sha512-HIt2XhSRhEvVgRxTveLCzIkd/SzEBQfkQ6xMJhkBtfJw1o3+jeCk+VysXM0idqmXytctL0O3g9cvvTHOsUgxOA==" + "resolved" "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.186.0.tgz" + "version" "3.186.0" + dependencies: + "@aws-sdk/credential-provider-env" "3.186.0" + "@aws-sdk/credential-provider-imds" "3.186.0" + "@aws-sdk/credential-provider-ini" "3.186.0" + "@aws-sdk/credential-provider-process" "3.186.0" + "@aws-sdk/credential-provider-sso" "3.186.0" + "@aws-sdk/credential-provider-web-identity" "3.186.0" + "@aws-sdk/property-provider" "3.186.0" + "@aws-sdk/shared-ini-file-loader" "3.186.0" + "@aws-sdk/types" "3.186.0" + "tslib" "^2.3.1" "@aws-sdk/credential-provider-node@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.6.1.tgz" - integrity sha512-VAHOcsqkPrF1k/fA62pv9c75lUWe5bHpcbFX83C3EUPd2FXV10Lfkv6bdWhyZPQy0k8T+9/yikHH3c7ZQeFE5A== + "integrity" "sha512-VAHOcsqkPrF1k/fA62pv9c75lUWe5bHpcbFX83C3EUPd2FXV10Lfkv6bdWhyZPQy0k8T+9/yikHH3c7ZQeFE5A==" + "resolved" "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-sdk/credential-provider-env" "3.6.1" "@aws-sdk/credential-provider-imds" "3.6.1" @@ -1123,528 +1116,600 @@ "@aws-sdk/property-provider" "3.6.1" "@aws-sdk/shared-ini-file-loader" "3.6.1" "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" + "tslib" "^1.8.0" -"@aws-sdk/credential-provider-process@3.47.2": - version "3.47.2" - resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.47.2.tgz" - integrity sha512-LBuABkVt/tdSoHy8hdGVnInZx5QADhK90dEHc41+HTTP3bCSNsSBIErkZnmhAD/3AGz7m/4qkPmhJOqzFisY/g== +"@aws-sdk/credential-provider-process@3.186.0": + "integrity" "sha512-ATRU6gbXvWC1TLnjOEZugC/PBXHBoZgBADid4fDcEQY1vF5e5Ux1kmqkJxyHtV5Wl8sE2uJfwWn+FlpUHRX67g==" + "resolved" "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.186.0.tgz" + "version" "3.186.0" dependencies: - "@aws-sdk/property-provider" "3.47.2" - "@aws-sdk/shared-ini-file-loader" "3.47.1" - "@aws-sdk/types" "3.47.1" - "@aws-sdk/util-credentials" "3.47.2" - tslib "^2.3.0" + "@aws-sdk/property-provider" "3.186.0" + "@aws-sdk/shared-ini-file-loader" "3.186.0" + "@aws-sdk/types" "3.186.0" + "tslib" "^2.3.1" "@aws-sdk/credential-provider-process@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.6.1.tgz" - integrity sha512-d0/TpMoEV4qMYkdpyyjU2Otse9X2jC1DuxWajHOWZYEw8oejMvXYTZ10hNaXZvAcNM9q214rp+k4mkt6gIcI6g== + "integrity" "sha512-d0/TpMoEV4qMYkdpyyjU2Otse9X2jC1DuxWajHOWZYEw8oejMvXYTZ10hNaXZvAcNM9q214rp+k4mkt6gIcI6g==" + "resolved" "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-sdk/credential-provider-ini" "3.6.1" "@aws-sdk/property-provider" "3.6.1" "@aws-sdk/shared-ini-file-loader" "3.6.1" "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" - -"@aws-sdk/credential-provider-sso@3.48.0": - version "3.48.0" - resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.48.0.tgz" - integrity sha512-31Ill3ZW35dueXb09PpOJ4C8oKdRGypbnycAgLYvvqYlO4LOs9FyQAsw+t2+ExvE6DznM0vkeWTQI3y7HUVYCA== - dependencies: - "@aws-sdk/client-sso" "3.48.0" - "@aws-sdk/property-provider" "3.47.2" - "@aws-sdk/shared-ini-file-loader" "3.47.1" - "@aws-sdk/types" "3.47.1" - "@aws-sdk/util-credentials" "3.47.2" - tslib "^2.3.0" - -"@aws-sdk/credential-provider-web-identity@3.47.2": - version "3.47.2" - resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.47.2.tgz" - integrity sha512-biJo8zJwNk8Dwrd/mkTcu8iLuOlGbsG2Uahta4StkOUhZ733xewOZ4WISLXVLocb/PXLM1lZQgkobwugpFOQRA== - dependencies: - "@aws-sdk/property-provider" "3.47.2" - "@aws-sdk/types" "3.47.1" - tslib "^2.3.0" + "tslib" "^1.8.0" + +"@aws-sdk/credential-provider-sso@3.186.0": + "integrity" "sha512-mJ+IZljgXPx99HCmuLgBVDPLepHrwqnEEC/0wigrLCx6uz3SrAWmGZsNbxSEtb2CFSAaczlTHcU/kIl7XZIyeQ==" + "resolved" "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.186.0.tgz" + "version" "3.186.0" + dependencies: + "@aws-sdk/client-sso" "3.186.0" + "@aws-sdk/property-provider" "3.186.0" + "@aws-sdk/shared-ini-file-loader" "3.186.0" + "@aws-sdk/types" "3.186.0" + "tslib" "^2.3.1" + +"@aws-sdk/credential-provider-web-identity@3.186.0": + "integrity" "sha512-KqzI5eBV72FE+8SuOQAu+r53RXGVHg4AuDJmdXyo7Gc4wS/B9FNElA8jVUjjYgVnf0FSiri+l41VzQ44dCopSA==" + "resolved" "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.186.0.tgz" + "version" "3.186.0" + dependencies: + "@aws-sdk/property-provider" "3.186.0" + "@aws-sdk/types" "3.186.0" + "tslib" "^2.3.1" + +"@aws-sdk/eventstream-codec@3.186.0": + "integrity" "sha512-3kLcJ0/H+zxFlhTlE1SGoFpzd/SitwXOsTSlYVwrwdISKRjooGg0BJpm1CSTkvmWnQIUlYijJvS96TAJ+fCPIA==" + "resolved" "https://registry.npmjs.org/@aws-sdk/eventstream-codec/-/eventstream-codec-3.186.0.tgz" + "version" "3.186.0" + dependencies: + "@aws-crypto/crc32" "2.0.0" + "@aws-sdk/types" "3.186.0" + "@aws-sdk/util-hex-encoding" "3.186.0" + "tslib" "^2.3.1" + +"@aws-sdk/eventstream-handler-node@3.186.0": + "integrity" "sha512-S8eAxCHyFAGSH7F6GHKU2ckpiwFPwJUQwMzewISLg3wzLQeu6lmduxBxVaV3/SoEbEMsbNmrgw9EXtw3Vt/odQ==" + "resolved" "https://registry.npmjs.org/@aws-sdk/eventstream-handler-node/-/eventstream-handler-node-3.186.0.tgz" + "version" "3.186.0" + dependencies: + "@aws-sdk/eventstream-codec" "3.186.0" + "@aws-sdk/types" "3.186.0" + "tslib" "^2.3.1" "@aws-sdk/eventstream-marshaller@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/eventstream-marshaller/-/eventstream-marshaller-3.6.1.tgz" - integrity sha512-ZvN3Nvxn2Gul08L9MOSN123LwSO0E1gF/CqmOGZtEWzPnoSX/PWM9mhPPeXubyw2KdlXylOodYYw3EAATk3OmA== + "integrity" "sha512-ZvN3Nvxn2Gul08L9MOSN123LwSO0E1gF/CqmOGZtEWzPnoSX/PWM9mhPPeXubyw2KdlXylOodYYw3EAATk3OmA==" + "resolved" "https://registry.npmjs.org/@aws-sdk/eventstream-marshaller/-/eventstream-marshaller-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-crypto/crc32" "^1.0.0" "@aws-sdk/types" "3.6.1" "@aws-sdk/util-hex-encoding" "3.6.1" - tslib "^1.8.0" + "tslib" "^1.8.0" + +"@aws-sdk/eventstream-serde-browser@3.186.0": + "integrity" "sha512-0r2c+yugBdkP5bglGhGOgztjeHdHTKqu2u6bvTByM0nJShNO9YyqWygqPqDUOE5axcYQE1D0aFDGzDtP3mGJhw==" + "resolved" "https://registry.npmjs.org/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.186.0.tgz" + "version" "3.186.0" + dependencies: + "@aws-sdk/eventstream-serde-universal" "3.186.0" + "@aws-sdk/types" "3.186.0" + "tslib" "^2.3.1" "@aws-sdk/eventstream-serde-browser@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.6.1.tgz" - integrity sha512-J8B30d+YUfkBtgWRr7+9AfYiPnbG28zjMlFGsJf8Wxr/hDCfff+Z8NzlBYFEbS7McXXhRiIN8DHUvCtolJtWJQ== + "integrity" "sha512-J8B30d+YUfkBtgWRr7+9AfYiPnbG28zjMlFGsJf8Wxr/hDCfff+Z8NzlBYFEbS7McXXhRiIN8DHUvCtolJtWJQ==" + "resolved" "https://registry.npmjs.org/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-sdk/eventstream-marshaller" "3.6.1" "@aws-sdk/eventstream-serde-universal" "3.6.1" "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" + "tslib" "^1.8.0" + +"@aws-sdk/eventstream-serde-config-resolver@3.186.0": + "integrity" "sha512-xhwCqYrAX5c7fg9COXVw6r7Sa3BO5cCfQMSR5S1QisE7do8K1GDKEHvUCheOx+RLon+P3glLjuNBMdD0HfCVNA==" + "resolved" "https://registry.npmjs.org/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.186.0.tgz" + "version" "3.186.0" + dependencies: + "@aws-sdk/types" "3.186.0" + "tslib" "^2.3.1" "@aws-sdk/eventstream-serde-config-resolver@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.6.1.tgz" - integrity sha512-72pCzcT/KeD4gPgRVBSQzEzz4JBim8bNwPwZCGaIYdYAsAI8YMlvp0JNdis3Ov9DFURc87YilWKQlAfw7CDJxA== + "integrity" "sha512-72pCzcT/KeD4gPgRVBSQzEzz4JBim8bNwPwZCGaIYdYAsAI8YMlvp0JNdis3Ov9DFURc87YilWKQlAfw7CDJxA==" + "resolved" "https://registry.npmjs.org/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" + "tslib" "^1.8.0" + +"@aws-sdk/eventstream-serde-node@3.186.0": + "integrity" "sha512-9p/gdukJYfmA+OEYd6MfIuufxrrfdt15lBDM3FODuc9j09LSYSRHSxthkIhiM5XYYaaUM+4R0ZlSMdaC3vFDFQ==" + "resolved" "https://registry.npmjs.org/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.186.0.tgz" + "version" "3.186.0" + dependencies: + "@aws-sdk/eventstream-serde-universal" "3.186.0" + "@aws-sdk/types" "3.186.0" + "tslib" "^2.3.1" "@aws-sdk/eventstream-serde-node@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.6.1.tgz" - integrity sha512-rjBbJFjCrEcm2NxZctp+eJmyPxKYayG3tQZo8PEAQSViIlK5QexQI3fgqNAeCtK7l/SFAAvnOMRZF6Z3NdUY6A== + "integrity" "sha512-rjBbJFjCrEcm2NxZctp+eJmyPxKYayG3tQZo8PEAQSViIlK5QexQI3fgqNAeCtK7l/SFAAvnOMRZF6Z3NdUY6A==" + "resolved" "https://registry.npmjs.org/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-sdk/eventstream-marshaller" "3.6.1" "@aws-sdk/eventstream-serde-universal" "3.6.1" "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" + "tslib" "^1.8.0" + +"@aws-sdk/eventstream-serde-universal@3.186.0": + "integrity" "sha512-rIgPmwUxn2tzainBoh+cxAF+b7o01CcW+17yloXmawsi0kiR7QK7v9m/JTGQPWKtHSsPOrtRzuiWQNX57SlcsQ==" + "resolved" "https://registry.npmjs.org/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.186.0.tgz" + "version" "3.186.0" + dependencies: + "@aws-sdk/eventstream-codec" "3.186.0" + "@aws-sdk/types" "3.186.0" + "tslib" "^2.3.1" "@aws-sdk/eventstream-serde-universal@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.6.1.tgz" - integrity sha512-rpRu97yAGHr9GQLWMzcGICR2PxNu1dHU/MYc9Kb6UgGeZd4fod4o1zjhAJuj98cXn2xwHNFM4wMKua6B4zKrZg== + "integrity" "sha512-rpRu97yAGHr9GQLWMzcGICR2PxNu1dHU/MYc9Kb6UgGeZd4fod4o1zjhAJuj98cXn2xwHNFM4wMKua6B4zKrZg==" + "resolved" "https://registry.npmjs.org/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-sdk/eventstream-marshaller" "3.6.1" "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" + "tslib" "^1.8.0" -"@aws-sdk/fetch-http-handler@3.47.2": - version "3.47.2" - resolved "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.47.2.tgz" - integrity sha512-MZwwKtJwkWPm3Tzh+F3gcts13v1OuZih0slOO4GJpMxq46+lcW4DoW04lNHULJsyduXs4CziH8g65DDh0Yhq6w== +"@aws-sdk/fetch-http-handler@3.186.0": + "integrity" "sha512-k2v4AAHRD76WnLg7arH94EvIclClo/YfuqO7NoQ6/KwOxjRhs4G6TgIsAZ9E0xmqoJoV81Xqy8H8ldfy9F8LEw==" + "resolved" "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.186.0.tgz" + "version" "3.186.0" dependencies: - "@aws-sdk/protocol-http" "3.47.2" - "@aws-sdk/querystring-builder" "3.47.2" - "@aws-sdk/types" "3.47.1" - "@aws-sdk/util-base64-browser" "3.47.1" - tslib "^2.3.0" + "@aws-sdk/protocol-http" "3.186.0" + "@aws-sdk/querystring-builder" "3.186.0" + "@aws-sdk/types" "3.186.0" + "@aws-sdk/util-base64-browser" "3.186.0" + "tslib" "^2.3.1" "@aws-sdk/fetch-http-handler@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.6.1.tgz" - integrity sha512-N8l6ZbwhINuWG5hsl625lmIQmVjzsqRPmlgh061jm5D90IhsM5/3A3wUxpB/k0av1dmuMRw/m0YtBU5w4LOwvw== + "integrity" "sha512-N8l6ZbwhINuWG5hsl625lmIQmVjzsqRPmlgh061jm5D90IhsM5/3A3wUxpB/k0av1dmuMRw/m0YtBU5w4LOwvw==" + "resolved" "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-sdk/protocol-http" "3.6.1" "@aws-sdk/querystring-builder" "3.6.1" "@aws-sdk/types" "3.6.1" "@aws-sdk/util-base64-browser" "3.6.1" - tslib "^1.8.0" + "tslib" "^1.8.0" "@aws-sdk/hash-blob-browser@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/hash-blob-browser/-/hash-blob-browser-3.6.1.tgz" - integrity sha512-9jPaZ/e3F8gf9JZd44DD6MvbYV6bKnn99rkG3GFIINOy9etoxPrLehp2bH2DK/j0ow60RNuwgUjj5qHV/zF67g== + "integrity" "sha512-9jPaZ/e3F8gf9JZd44DD6MvbYV6bKnn99rkG3GFIINOy9etoxPrLehp2bH2DK/j0ow60RNuwgUjj5qHV/zF67g==" + "resolved" "https://registry.npmjs.org/@aws-sdk/hash-blob-browser/-/hash-blob-browser-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-sdk/chunked-blob-reader" "3.6.1" "@aws-sdk/chunked-blob-reader-native" "3.6.1" "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" + "tslib" "^1.8.0" -"@aws-sdk/hash-node@3.47.2": - version "3.47.2" - resolved "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.47.2.tgz" - integrity sha512-OpUCNGvchKI1WoOCtCm36gQtECMz2P5mJoXxAHNZQ5qQ69A5Vk/DZs1V24N94M7tl1u7ZpbLsJbWFdu+P4B27g== +"@aws-sdk/hash-node@3.186.0": + "integrity" "sha512-G3zuK8/3KExDTxqrGqko+opOMLRF0BwcwekV/wm3GKIM/NnLhHblBs2zd/yi7VsEoWmuzibfp6uzxgFpEoJ87w==" + "resolved" "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.186.0.tgz" + "version" "3.186.0" dependencies: - "@aws-sdk/types" "3.47.1" - "@aws-sdk/util-buffer-from" "3.47.2" - tslib "^2.3.0" + "@aws-sdk/types" "3.186.0" + "@aws-sdk/util-buffer-from" "3.186.0" + "tslib" "^2.3.1" "@aws-sdk/hash-node@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.6.1.tgz" - integrity sha512-iKEpzpyaG9PYCnaOGwTIf0lffsF/TpsXrzAfnBlfeOU/3FbgniW2z/yq5xBbtMDtLobtOYC09kUFwDnDvuveSA== + "integrity" "sha512-iKEpzpyaG9PYCnaOGwTIf0lffsF/TpsXrzAfnBlfeOU/3FbgniW2z/yq5xBbtMDtLobtOYC09kUFwDnDvuveSA==" + "resolved" "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-sdk/types" "3.6.1" "@aws-sdk/util-buffer-from" "3.6.1" - tslib "^1.8.0" + "tslib" "^1.8.0" "@aws-sdk/hash-stream-node@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/hash-stream-node/-/hash-stream-node-3.6.1.tgz" - integrity sha512-ePaWjCItIWxuSxA/UnUM/keQ3IAOsQz3FYSxu0KK8K0e1bKTEUgDIG9oMLBq7jIl9TzJG0HBXuPfMe73QHUNug== + "integrity" "sha512-ePaWjCItIWxuSxA/UnUM/keQ3IAOsQz3FYSxu0KK8K0e1bKTEUgDIG9oMLBq7jIl9TzJG0HBXuPfMe73QHUNug==" + "resolved" "https://registry.npmjs.org/@aws-sdk/hash-stream-node/-/hash-stream-node-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" + "tslib" "^1.8.0" -"@aws-sdk/invalid-dependency@3.47.2": - version "3.47.2" - resolved "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.47.2.tgz" - integrity sha512-QLIp0Gv9IbSVXru1kS92M4kF9ZgHmVP7Us8dWSu5UC7LJt6Uxhxjb+e+F0h9qY1Z3Prior12I4r5COgVO3dWxA== +"@aws-sdk/invalid-dependency@3.186.0": + "integrity" "sha512-hjeZKqORhG2DPWYZ776lQ9YO3gjw166vZHZCZU/43kEYaCZHsF4mexHwHzreAY6RfS25cH60Um7dUh1aeVIpkw==" + "resolved" "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.186.0.tgz" + "version" "3.186.0" dependencies: - "@aws-sdk/types" "3.47.1" - tslib "^2.3.0" + "@aws-sdk/types" "3.186.0" + "tslib" "^2.3.1" "@aws-sdk/invalid-dependency@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.6.1.tgz" - integrity sha512-d0RLqK7yeDCZJKopnGmGXo2rYkQNE7sGKVmBHQD1j1kKZ9lWwRoJeWqo834JNPZzY5XRvZG5SuIjJ1kFy8LpyQ== + "integrity" "sha512-d0RLqK7yeDCZJKopnGmGXo2rYkQNE7sGKVmBHQD1j1kKZ9lWwRoJeWqo834JNPZzY5XRvZG5SuIjJ1kFy8LpyQ==" + "resolved" "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" + "tslib" "^1.8.0" -"@aws-sdk/is-array-buffer@3.47.1": - version "3.47.1" - resolved "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.47.1.tgz" - integrity sha512-HQMvT3dP6DCjmn87WkzYxUF9RqkvuXgKfddLEKj/tg/OgDQJv9xIPjEEry8Fd36ncbBqaBmC/z2ETZhpzHQvXA== +"@aws-sdk/is-array-buffer@3.186.0": + "integrity" "sha512-fObm+P6mjWYzxoFY4y2STHBmSdgKbIAXez0xope563mox62I8I4hhVPUCaDVydXvDpJv8tbedJMk0meJl22+xA==" + "resolved" "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.186.0.tgz" + "version" "3.186.0" dependencies: - tslib "^2.3.0" + "tslib" "^2.3.1" "@aws-sdk/is-array-buffer@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.6.1.tgz" - integrity sha512-qm2iDJmCrxlQE2dsFG+TujPe7jw4DF+4RTrsFMhk/e3lOl3MAzQ6Fc2kXtgeUcVrZVFTL8fQvXE1ByYyI6WbCw== + "integrity" "sha512-qm2iDJmCrxlQE2dsFG+TujPe7jw4DF+4RTrsFMhk/e3lOl3MAzQ6Fc2kXtgeUcVrZVFTL8fQvXE1ByYyI6WbCw==" + "resolved" "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.6.1.tgz" + "version" "3.6.1" dependencies: - tslib "^1.8.0" + "tslib" "^1.8.0" "@aws-sdk/md5-js@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/md5-js/-/md5-js-3.6.1.tgz" - integrity sha512-lzCqkZF1sbzGFDyq1dI+lR3AmlE33rbC/JhZ5fzw3hJZvfZ6Beq3Su7YwDo65IWEu0zOKYaNywTeOloXP/CkxQ== + "integrity" "sha512-lzCqkZF1sbzGFDyq1dI+lR3AmlE33rbC/JhZ5fzw3hJZvfZ6Beq3Su7YwDo65IWEu0zOKYaNywTeOloXP/CkxQ==" + "resolved" "https://registry.npmjs.org/@aws-sdk/md5-js/-/md5-js-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-sdk/types" "3.6.1" "@aws-sdk/util-utf8-browser" "3.6.1" - tslib "^1.8.0" + "tslib" "^1.8.0" "@aws-sdk/middleware-apply-body-checksum@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-apply-body-checksum/-/middleware-apply-body-checksum-3.6.1.tgz" - integrity sha512-IncmXR1MPk6aYvmD37It8dP6wVMzaxxzgrkIU2ACkN5UVwA+/0Sr3ZNd9dNwjpyoH1AwpL9BetnlJaWtT6K5ew== + "integrity" "sha512-IncmXR1MPk6aYvmD37It8dP6wVMzaxxzgrkIU2ACkN5UVwA+/0Sr3ZNd9dNwjpyoH1AwpL9BetnlJaWtT6K5ew==" + "resolved" "https://registry.npmjs.org/@aws-sdk/middleware-apply-body-checksum/-/middleware-apply-body-checksum-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-sdk/is-array-buffer" "3.6.1" "@aws-sdk/protocol-http" "3.6.1" "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" + "tslib" "^1.8.0" "@aws-sdk/middleware-bucket-endpoint@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.6.1.tgz" - integrity sha512-Frcqn2RQDNHy+e2Q9hv3ejT3mQWtGlfZESbXEF6toR4M0R8MmEVqIB/ohI6VKBj11lRmGwvpPsR6zz+PJ8HS7A== + "integrity" "sha512-Frcqn2RQDNHy+e2Q9hv3ejT3mQWtGlfZESbXEF6toR4M0R8MmEVqIB/ohI6VKBj11lRmGwvpPsR6zz+PJ8HS7A==" + "resolved" "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-sdk/protocol-http" "3.6.1" "@aws-sdk/types" "3.6.1" "@aws-sdk/util-arn-parser" "3.6.1" - tslib "^1.8.0" + "tslib" "^1.8.0" -"@aws-sdk/middleware-content-length@3.47.2": - version "3.47.2" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.47.2.tgz" - integrity sha512-rpLtN6BczAfJnH1fpXyUOMdDFN3xrky3QZ4SULVgTLXNMOvN5zDJnjwUh/QNgEaEQhxd6lroVJSgosG3357kWg== +"@aws-sdk/middleware-content-length@3.186.0": + "integrity" "sha512-Ol3c1ks3IK1s+Okc/rHIX7w2WpXofuQdoAEme37gHeml+8FtUlWH/881h62xfMdf+0YZpRuYv/eM7lBmJBPNJw==" + "resolved" "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.186.0.tgz" + "version" "3.186.0" dependencies: - "@aws-sdk/protocol-http" "3.47.2" - "@aws-sdk/types" "3.47.1" - tslib "^2.3.0" + "@aws-sdk/protocol-http" "3.186.0" + "@aws-sdk/types" "3.186.0" + "tslib" "^2.3.1" "@aws-sdk/middleware-content-length@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.6.1.tgz" - integrity sha512-QRcocG9f5YjYzbjs2HjKla6ZIjvx8Y8tm1ZSFOPey81m18CLif1O7M3AtJXvxn+0zeSck9StFdhz5gfjVNYtDg== + "integrity" "sha512-QRcocG9f5YjYzbjs2HjKla6ZIjvx8Y8tm1ZSFOPey81m18CLif1O7M3AtJXvxn+0zeSck9StFdhz5gfjVNYtDg==" + "resolved" "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-sdk/protocol-http" "3.6.1" "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" + "tslib" "^1.8.0" + +"@aws-sdk/middleware-eventstream@3.186.0": + "integrity" "sha512-7yjFiitTGgfKL6cHK3u3HYFnld26IW5aUAFuEd6ocR/FjliysfBd8g0g1bw3bRfIMgCDD8OIOkXK8iCk2iYGWQ==" + "resolved" "https://registry.npmjs.org/@aws-sdk/middleware-eventstream/-/middleware-eventstream-3.186.0.tgz" + "version" "3.186.0" + dependencies: + "@aws-sdk/protocol-http" "3.186.0" + "@aws-sdk/types" "3.186.0" + "tslib" "^2.3.1" "@aws-sdk/middleware-expect-continue@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.6.1.tgz" - integrity sha512-vvMOqVYU3uvdJzg/X6NHewZUEBZhSqND1IEcdahLb6RmvDhsS39iS97VZmEFsjj/UFGoePtYjrrdEgRG9Rm1kQ== + "integrity" "sha512-vvMOqVYU3uvdJzg/X6NHewZUEBZhSqND1IEcdahLb6RmvDhsS39iS97VZmEFsjj/UFGoePtYjrrdEgRG9Rm1kQ==" + "resolved" "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-sdk/middleware-header-default" "3.6.1" "@aws-sdk/protocol-http" "3.6.1" "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" + "tslib" "^1.8.0" "@aws-sdk/middleware-header-default@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-header-default/-/middleware-header-default-3.6.1.tgz" - integrity sha512-YD137iIctXVH8Eut0WOBalvvA+uL0jM0UXZ9N2oKrC8kPQPpqjK9lYGFKZQFsl/XlQHAjJi+gCAFrYsBntRWJQ== + "integrity" "sha512-YD137iIctXVH8Eut0WOBalvvA+uL0jM0UXZ9N2oKrC8kPQPpqjK9lYGFKZQFsl/XlQHAjJi+gCAFrYsBntRWJQ==" + "resolved" "https://registry.npmjs.org/@aws-sdk/middleware-header-default/-/middleware-header-default-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-sdk/protocol-http" "3.6.1" "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" + "tslib" "^1.8.0" -"@aws-sdk/middleware-host-header@3.47.2": - version "3.47.2" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.47.2.tgz" - integrity sha512-sDIGydvdO1LC7VQntTDMK+YYLRVCJAhrsCT8SxyAX0Jhu7Ek1BfRZzSZDwapL+idbMyyKsB80NpNoTWuKRrrew== +"@aws-sdk/middleware-host-header@3.186.0": + "integrity" "sha512-5bTzrRzP2IGwyF3QCyMGtSXpOOud537x32htZf344IvVjrqZF/P8CDfGTkHkeBCIH+wnJxjK+l/QBb3ypAMIqQ==" + "resolved" "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.186.0.tgz" + "version" "3.186.0" dependencies: - "@aws-sdk/protocol-http" "3.47.2" - "@aws-sdk/types" "3.47.1" - tslib "^2.3.0" + "@aws-sdk/protocol-http" "3.186.0" + "@aws-sdk/types" "3.186.0" + "tslib" "^2.3.1" "@aws-sdk/middleware-host-header@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.6.1.tgz" - integrity sha512-nwq8R2fGBRZQE0Fr/jiOgqfppfiTQCUoD8hyX3qSS7Qc2uqpsDOt2TnnoZl56mpQYkF/344IvMAkp+ew6wR73w== + "integrity" "sha512-nwq8R2fGBRZQE0Fr/jiOgqfppfiTQCUoD8hyX3qSS7Qc2uqpsDOt2TnnoZl56mpQYkF/344IvMAkp+ew6wR73w==" + "resolved" "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-sdk/protocol-http" "3.6.1" "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" + "tslib" "^1.8.0" "@aws-sdk/middleware-location-constraint@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.6.1.tgz" - integrity sha512-nFisTc0O5D+4I+sRxiiLPasC/I4NDc3s+hgbPPt/b3uAdrujJjhwFBOSaTx8qQvz/xJPAA8pUA/bfWIyeZKi/w== + "integrity" "sha512-nFisTc0O5D+4I+sRxiiLPasC/I4NDc3s+hgbPPt/b3uAdrujJjhwFBOSaTx8qQvz/xJPAA8pUA/bfWIyeZKi/w==" + "resolved" "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" + "tslib" "^1.8.0" -"@aws-sdk/middleware-logger@3.47.2": - version "3.47.2" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.47.2.tgz" - integrity sha512-Oz14cAaYmtzMYw0/ehlVLvMF4gqQS0qaYWGyyR4a3nONiwEDzxNMEQiEg7i8VgsP4usK7lfYZLXgwSmqo7uCzg== +"@aws-sdk/middleware-logger@3.186.0": + "integrity" "sha512-/1gGBImQT8xYh80pB7QtyzA799TqXtLZYQUohWAsFReYB7fdh5o+mu2rX0FNzZnrLIh2zBUNs4yaWGsnab4uXg==" + "resolved" "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.186.0.tgz" + "version" "3.186.0" dependencies: - "@aws-sdk/types" "3.47.1" - tslib "^2.3.0" + "@aws-sdk/types" "3.186.0" + "tslib" "^2.3.1" "@aws-sdk/middleware-logger@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.6.1.tgz" - integrity sha512-zxaSLpwKlja7JvK20UsDTxPqBZUo3rbDA1uv3VWwpxzOrEWSlVZYx/KLuyGWGkx9V71ZEkf6oOWWJIstS0wyQQ== + "integrity" "sha512-zxaSLpwKlja7JvK20UsDTxPqBZUo3rbDA1uv3VWwpxzOrEWSlVZYx/KLuyGWGkx9V71ZEkf6oOWWJIstS0wyQQ==" + "resolved" "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" + "tslib" "^1.8.0" + +"@aws-sdk/middleware-recursion-detection@3.186.0": + "integrity" "sha512-Za7k26Kovb4LuV5tmC6wcVILDCt0kwztwSlB991xk4vwNTja8kKxSt53WsYG8Q2wSaW6UOIbSoguZVyxbIY07Q==" + "resolved" "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.186.0.tgz" + "version" "3.186.0" + dependencies: + "@aws-sdk/protocol-http" "3.186.0" + "@aws-sdk/types" "3.186.0" + "tslib" "^2.3.1" -"@aws-sdk/middleware-retry@3.47.2": - version "3.47.2" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.47.2.tgz" - integrity sha512-qgAE/+hVGXQDkqbVo+uFeb+N7mr7kBi0Oc1Fm490fm3uLQnXuyu3suIix//wxNejoLwIgKQGSLrQNgnXtuvhxw== +"@aws-sdk/middleware-retry@3.186.0": + "integrity" "sha512-/VI9emEKhhDzlNv9lQMmkyxx3GjJ8yPfXH3HuAeOgM1wx1BjCTLRYEWnTbQwq7BDzVENdneleCsGAp7yaj80Aw==" + "resolved" "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.186.0.tgz" + "version" "3.186.0" dependencies: - "@aws-sdk/protocol-http" "3.47.2" - "@aws-sdk/service-error-classification" "3.47.2" - "@aws-sdk/types" "3.47.1" - tslib "^2.3.0" - uuid "^8.3.2" + "@aws-sdk/protocol-http" "3.186.0" + "@aws-sdk/service-error-classification" "3.186.0" + "@aws-sdk/types" "3.186.0" + "@aws-sdk/util-middleware" "3.186.0" + "tslib" "^2.3.1" + "uuid" "^8.3.2" "@aws-sdk/middleware-retry@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.6.1.tgz" - integrity sha512-WHeo4d2jsXxBP+cec2SeLb0btYXwYXuE56WLmNt0RvJYmiBzytUeGJeRa9HuwV574kgigAuHGCeHlPO36G4Y0Q== + "integrity" "sha512-WHeo4d2jsXxBP+cec2SeLb0btYXwYXuE56WLmNt0RvJYmiBzytUeGJeRa9HuwV574kgigAuHGCeHlPO36G4Y0Q==" + "resolved" "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-sdk/protocol-http" "3.6.1" "@aws-sdk/service-error-classification" "3.6.1" "@aws-sdk/types" "3.6.1" - react-native-get-random-values "^1.4.0" - tslib "^1.8.0" - uuid "^3.0.0" + "react-native-get-random-values" "^1.4.0" + "tslib" "^1.8.0" + "uuid" "^3.0.0" "@aws-sdk/middleware-sdk-s3@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.6.1.tgz" - integrity sha512-HEA9kynNTsOSIIz8p5GEEAH03pnn+SSohwPl80sGqkmI1yl1tzjqgYZRii0e6acJTh4j9655XFzSx36hYPeB2w== + "integrity" "sha512-HEA9kynNTsOSIIz8p5GEEAH03pnn+SSohwPl80sGqkmI1yl1tzjqgYZRii0e6acJTh4j9655XFzSx36hYPeB2w==" + "resolved" "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-sdk/protocol-http" "3.6.1" "@aws-sdk/types" "3.6.1" "@aws-sdk/util-arn-parser" "3.6.1" - tslib "^1.8.0" + "tslib" "^1.8.0" -"@aws-sdk/middleware-sdk-sts@3.47.2": - version "3.47.2" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.47.2.tgz" - integrity sha512-KlO4cYb4Bxf/Jg/uxlxRrFvxUR/DmjMIS+JRZNGqK4XyYA+apYZkfM0XUtMiKc491n/euluf9A0AyTxpMgixxg== +"@aws-sdk/middleware-sdk-sts@3.186.0": + "integrity" "sha512-GDcK0O8rjtnd+XRGnxzheq1V2jk4Sj4HtjrxW/ROyhzLOAOyyxutBt+/zOpDD6Gba3qxc69wE+Cf/qngOkEkDw==" + "resolved" "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.186.0.tgz" + "version" "3.186.0" dependencies: - "@aws-sdk/middleware-signing" "3.47.2" - "@aws-sdk/property-provider" "3.47.2" - "@aws-sdk/protocol-http" "3.47.2" - "@aws-sdk/signature-v4" "3.47.2" - "@aws-sdk/types" "3.47.1" - tslib "^2.3.0" + "@aws-sdk/middleware-signing" "3.186.0" + "@aws-sdk/property-provider" "3.186.0" + "@aws-sdk/protocol-http" "3.186.0" + "@aws-sdk/signature-v4" "3.186.0" + "@aws-sdk/types" "3.186.0" + "tslib" "^2.3.1" -"@aws-sdk/middleware-serde@3.47.2": - version "3.47.2" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.47.2.tgz" - integrity sha512-Gjw+fkG4UvvbP5LrGW1FzUq0IJB6QIBFxStE0gbyjkKNYtcb9c0R3dIwH5CSECtelDZScytwmBKaVe8NGi6wJA== +"@aws-sdk/middleware-serde@3.186.0": + "integrity" "sha512-6FEAz70RNf18fKL5O7CepPSwTKJEIoyG9zU6p17GzKMgPeFsxS5xO94Hcq5tV2/CqeHliebjqhKY7yi+Pgok7g==" + "resolved" "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.186.0.tgz" + "version" "3.186.0" dependencies: - "@aws-sdk/types" "3.47.1" - tslib "^2.3.0" + "@aws-sdk/types" "3.186.0" + "tslib" "^2.3.1" "@aws-sdk/middleware-serde@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.6.1.tgz" - integrity sha512-EdQCFZRERfP3uDuWcPNuaa2WUR3qL1WFDXafhcx+7ywQxagdYqBUWKFJlLYi6njbkOKXFM+eHBzoXGF0OV3MJA== + "integrity" "sha512-EdQCFZRERfP3uDuWcPNuaa2WUR3qL1WFDXafhcx+7ywQxagdYqBUWKFJlLYi6njbkOKXFM+eHBzoXGF0OV3MJA==" + "resolved" "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" + "tslib" "^1.8.0" -"@aws-sdk/middleware-signing@3.47.2": - version "3.47.2" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.47.2.tgz" - integrity sha512-r6/2gf5gwkVdI7EOa1TdYdfzOdCF3jkhjLi98c3nAxZNxZFGwoycIy7Bd6sCfOdcmk8NyVmR0APpsgD9q+a3nw== +"@aws-sdk/middleware-signing@3.186.0": + "integrity" "sha512-riCJYG/LlF/rkgVbHkr4xJscc0/sECzDivzTaUmfb9kJhAwGxCyNqnTvg0q6UO00kxSdEB9zNZI2/iJYVBijBQ==" + "resolved" "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.186.0.tgz" + "version" "3.186.0" dependencies: - "@aws-sdk/property-provider" "3.47.2" - "@aws-sdk/protocol-http" "3.47.2" - "@aws-sdk/signature-v4" "3.47.2" - "@aws-sdk/types" "3.47.1" - tslib "^2.3.0" + "@aws-sdk/property-provider" "3.186.0" + "@aws-sdk/protocol-http" "3.186.0" + "@aws-sdk/signature-v4" "3.186.0" + "@aws-sdk/types" "3.186.0" + "@aws-sdk/util-middleware" "3.186.0" + "tslib" "^2.3.1" "@aws-sdk/middleware-signing@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.6.1.tgz" - integrity sha512-1woKq+1sU3eausdl8BNdAMRZMkSYuy4mxhLsF0/qAUuLwo1eJLLUCOQp477tICawgu4O4q2OAyUHk7wMqYnQCg== + "integrity" "sha512-1woKq+1sU3eausdl8BNdAMRZMkSYuy4mxhLsF0/qAUuLwo1eJLLUCOQp477tICawgu4O4q2OAyUHk7wMqYnQCg==" + "resolved" "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-sdk/protocol-http" "3.6.1" "@aws-sdk/signature-v4" "3.6.1" "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" + "tslib" "^1.8.0" "@aws-sdk/middleware-ssec@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.6.1.tgz" - integrity sha512-svuH6s91uKUTORt51msiL/ZBjtYSW32c3uVoWxludd/PEf6zO5wCmUEsKoyVwa88L7rrCq+81UBv5A8S5kc3Cw== + "integrity" "sha512-svuH6s91uKUTORt51msiL/ZBjtYSW32c3uVoWxludd/PEf6zO5wCmUEsKoyVwa88L7rrCq+81UBv5A8S5kc3Cw==" + "resolved" "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" + "tslib" "^1.8.0" -"@aws-sdk/middleware-stack@3.47.2": - version "3.47.2" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.47.2.tgz" - integrity sha512-9wedI1L92stvg5fs6Y3CbUXYLZIYdI3Mrdqex+ulNRuepgZNORsk+dnb8rTkf9cO3nuWRrnfKBLc/uiTcA1dww== +"@aws-sdk/middleware-stack@3.186.0": + "integrity" "sha512-fENMoo0pW7UBrbuycPf+3WZ+fcUgP9PnQ0jcOK3WWZlZ9d2ewh4HNxLh4EE3NkNYj4VIUFXtTUuVNHlG8trXjQ==" + "resolved" "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.186.0.tgz" + "version" "3.186.0" dependencies: - tslib "^2.3.0" + "tslib" "^2.3.1" "@aws-sdk/middleware-stack@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.6.1.tgz" - integrity sha512-EPsIxMi8LtCt7YwTFpWGlVGYJc0q4kwFbOssY02qfqdCnyqi2y5wo089dH7OdxUooQ0D7CPsXM1zTTuzvm+9Fw== + "integrity" "sha512-EPsIxMi8LtCt7YwTFpWGlVGYJc0q4kwFbOssY02qfqdCnyqi2y5wo089dH7OdxUooQ0D7CPsXM1zTTuzvm+9Fw==" + "resolved" "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.6.1.tgz" + "version" "3.6.1" dependencies: - tslib "^1.8.0" + "tslib" "^1.8.0" -"@aws-sdk/middleware-user-agent@3.47.2": - version "3.47.2" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.47.2.tgz" - integrity sha512-LF5gOi37lJ3tkuDSqZVKHmqYY8oTIUTEdmPVUbBQtPKsx9xfCNbMNVAP+C+7bnbt6StZIZsvtu0M144yNFXPGQ== +"@aws-sdk/middleware-user-agent@3.186.0": + "integrity" "sha512-fb+F2PF9DLKOVMgmhkr+ltN8ZhNJavTla9aqmbd01846OLEaN1n5xEnV7p8q5+EznVBWDF38Oz9Ae5BMt3Hs7w==" + "resolved" "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.186.0.tgz" + "version" "3.186.0" dependencies: - "@aws-sdk/protocol-http" "3.47.2" - "@aws-sdk/types" "3.47.1" - tslib "^2.3.0" + "@aws-sdk/protocol-http" "3.186.0" + "@aws-sdk/types" "3.186.0" + "tslib" "^2.3.1" "@aws-sdk/middleware-user-agent@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.6.1.tgz" - integrity sha512-YvXvwllNDVvxQ30vIqLsx+P6jjnfFEQUmhlv64n98gOme6h2BqoyQDcC3yHRGctuxRZEsR7W/H1ASTKC+iabbQ== + "integrity" "sha512-YvXvwllNDVvxQ30vIqLsx+P6jjnfFEQUmhlv64n98gOme6h2BqoyQDcC3yHRGctuxRZEsR7W/H1ASTKC+iabbQ==" + "resolved" "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-sdk/protocol-http" "3.6.1" "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" + "tslib" "^1.8.0" -"@aws-sdk/node-config-provider@3.47.2": - version "3.47.2" - resolved "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.47.2.tgz" - integrity sha512-POdigo6ZXLRVWhmjE21Y1Q1ziPnM/c3rH0wHgzAtdx0Mfn6/9jS77QHMkZzC8MJ7lzgXVFDWM25evVZqdYrh+g== +"@aws-sdk/node-config-provider@3.186.0": + "integrity" "sha512-De93mgmtuUUeoiKXU8pVHXWKPBfJQlS/lh1k2H9T2Pd9Tzi0l7p5ttddx4BsEx4gk+Pc5flNz+DeptiSjZpa4A==" + "resolved" "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.186.0.tgz" + "version" "3.186.0" dependencies: - "@aws-sdk/property-provider" "3.47.2" - "@aws-sdk/shared-ini-file-loader" "3.47.1" - "@aws-sdk/types" "3.47.1" - tslib "^2.3.0" + "@aws-sdk/property-provider" "3.186.0" + "@aws-sdk/shared-ini-file-loader" "3.186.0" + "@aws-sdk/types" "3.186.0" + "tslib" "^2.3.1" "@aws-sdk/node-config-provider@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.6.1.tgz" - integrity sha512-x2Z7lm0ZhHYqMybvkaI5hDKfBkaLaXhTDfgrLl9TmBZ3QHO4fIHgeL82VZ90Paol+OS+jdq2AheLmzbSxv3HrA== + "integrity" "sha512-x2Z7lm0ZhHYqMybvkaI5hDKfBkaLaXhTDfgrLl9TmBZ3QHO4fIHgeL82VZ90Paol+OS+jdq2AheLmzbSxv3HrA==" + "resolved" "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-sdk/property-provider" "3.6.1" "@aws-sdk/shared-ini-file-loader" "3.6.1" "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" + "tslib" "^1.8.0" -"@aws-sdk/node-http-handler@3.47.2": - version "3.47.2" - resolved "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.47.2.tgz" - integrity sha512-X2Y+H2DBoeDnrSe5rsVc63uhext230AuG/+hIFHK2/HkyG9DiiHKNCNj2w8N4FLWEX3l8KDif3C7BqYxj9ZkDg== +"@aws-sdk/node-http-handler@3.186.0": + "integrity" "sha512-CbkbDuPZT9UNJ4dAZJWB3BV+Z65wFy7OduqGkzNNrKq6ZYMUfehthhUOTk8vU6RMe/0FkN+J0fFXlBx/bs/cHw==" + "resolved" "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.186.0.tgz" + "version" "3.186.0" dependencies: - "@aws-sdk/abort-controller" "3.47.2" - "@aws-sdk/protocol-http" "3.47.2" - "@aws-sdk/querystring-builder" "3.47.2" - "@aws-sdk/types" "3.47.1" - tslib "^2.3.0" + "@aws-sdk/abort-controller" "3.186.0" + "@aws-sdk/protocol-http" "3.186.0" + "@aws-sdk/querystring-builder" "3.186.0" + "@aws-sdk/types" "3.186.0" + "tslib" "^2.3.1" "@aws-sdk/node-http-handler@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.6.1.tgz" - integrity sha512-6XSaoqbm9ZF6T4UdBCcs/Gn2XclwBotkdjj46AxO+9vRAgZDP+lH/8WwZsvfqJhhRhS0qxWrks98WGJwmaTG8g== + "integrity" "sha512-6XSaoqbm9ZF6T4UdBCcs/Gn2XclwBotkdjj46AxO+9vRAgZDP+lH/8WwZsvfqJhhRhS0qxWrks98WGJwmaTG8g==" + "resolved" "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-sdk/abort-controller" "3.6.1" "@aws-sdk/protocol-http" "3.6.1" "@aws-sdk/querystring-builder" "3.6.1" "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" + "tslib" "^1.8.0" -"@aws-sdk/property-provider@3.47.2": - version "3.47.2" - resolved "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.47.2.tgz" - integrity sha512-0NiVJ6+JtRC8XOvNb1ofHtsjINrinC1/fDKvl/bDtJDhehC5EcIeiDQmHFUhGsgTyD+VpmuHj7E4AlV6BchNPQ== +"@aws-sdk/property-provider@3.186.0": + "integrity" "sha512-nWKqt36UW3xV23RlHUmat+yevw9up+T+953nfjcmCBKtgWlCWu/aUzewTRhKj3VRscbN+Wer95SBw9Lr/MMOlQ==" + "resolved" "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.186.0.tgz" + "version" "3.186.0" dependencies: - "@aws-sdk/types" "3.47.1" - tslib "^2.3.0" + "@aws-sdk/types" "3.186.0" + "tslib" "^2.3.1" "@aws-sdk/property-provider@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.6.1.tgz" - integrity sha512-2gR2DzDySXKFoj9iXLm1TZBVSvFIikEPJsbRmAZx5RBY+tp1IXWqZM6PESjaLdLg/ZtR0QhW2ZcRn0fyq2JfnQ== + "integrity" "sha512-2gR2DzDySXKFoj9iXLm1TZBVSvFIikEPJsbRmAZx5RBY+tp1IXWqZM6PESjaLdLg/ZtR0QhW2ZcRn0fyq2JfnQ==" + "resolved" "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" + "tslib" "^1.8.0" -"@aws-sdk/protocol-http@3.47.2": - version "3.47.2" - resolved "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.47.2.tgz" - integrity sha512-XAQFbSigJD0fk61nSR6y6TMv3+o1IjymltWuDmGEtoI25pisC2M3A+3/xO9YHag/41CSgt9nQ+lh1iC4UlKKJw== +"@aws-sdk/protocol-http@3.186.0": + "integrity" "sha512-l/KYr/UBDUU5ginqTgHtFfHR3X6ljf/1J1ThIiUg3C3kVC/Zwztm7BEOw8hHRWnWQGU/jYasGYcrcPLdQqFZyQ==" + "resolved" "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.186.0.tgz" + "version" "3.186.0" dependencies: - "@aws-sdk/types" "3.47.1" - tslib "^2.3.0" + "@aws-sdk/types" "3.186.0" + "tslib" "^2.3.1" "@aws-sdk/protocol-http@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.6.1.tgz" - integrity sha512-WkQz7ncVYTLvCidDfXWouDzqxgSNPZDz3Bql+7VhZeITnzAEcr4hNMyEqMAVYBVugGmkG2W6YiUqNNs1goOcDA== + "integrity" "sha512-WkQz7ncVYTLvCidDfXWouDzqxgSNPZDz3Bql+7VhZeITnzAEcr4hNMyEqMAVYBVugGmkG2W6YiUqNNs1goOcDA==" + "resolved" "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" + "tslib" "^1.8.0" -"@aws-sdk/querystring-builder@3.47.2": - version "3.47.2" - resolved "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.47.2.tgz" - integrity sha512-rsckQ262jFSDVES6rOuTnSDM9XEbM57zxeBj5BtD6eCnyUD0G4FZa1xZRum4khoxfff6/eJ+i2uncKrEk1v+EQ== +"@aws-sdk/querystring-builder@3.186.0": + "integrity" "sha512-mweCpuLufImxfq/rRBTEpjGuB4xhQvbokA+otjnUxlPdIobytLqEs7pCGQfLzQ7+1ZMo8LBXt70RH4A2nSX/JQ==" + "resolved" "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.186.0.tgz" + "version" "3.186.0" dependencies: - "@aws-sdk/types" "3.47.1" - "@aws-sdk/util-uri-escape" "3.47.1" - tslib "^2.3.0" + "@aws-sdk/types" "3.186.0" + "@aws-sdk/util-uri-escape" "3.186.0" + "tslib" "^2.3.1" "@aws-sdk/querystring-builder@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.6.1.tgz" - integrity sha512-ESe255Yl6vB1AMNqaGSQow3TBYYnpw0AFjE40q2VyiNrkbaqKmW2EzjeCy3wEmB1IfJDHy3O12ZOMUMOnjFT8g== + "integrity" "sha512-ESe255Yl6vB1AMNqaGSQow3TBYYnpw0AFjE40q2VyiNrkbaqKmW2EzjeCy3wEmB1IfJDHy3O12ZOMUMOnjFT8g==" + "resolved" "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-sdk/types" "3.6.1" "@aws-sdk/util-uri-escape" "3.6.1" - tslib "^1.8.0" + "tslib" "^1.8.0" -"@aws-sdk/querystring-parser@3.47.2": - version "3.47.2" - resolved "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.47.2.tgz" - integrity sha512-28BirdFhZ+Y2pUMuI9r1ATgcQyt4q3cSqqpLSy7ADGb7xHde6oA/ZfRdX/s7OVIHoAfhrjAeI+TbYjwso9F/HA== +"@aws-sdk/querystring-parser@3.186.0": + "integrity" "sha512-0iYfEloghzPVXJjmnzHamNx1F1jIiTW9Svy5ZF9LVqyr/uHZcQuiWYsuhWloBMLs8mfWarkZM02WfxZ8buAuhg==" + "resolved" "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.186.0.tgz" + "version" "3.186.0" dependencies: - "@aws-sdk/types" "3.47.1" - tslib "^2.3.0" + "@aws-sdk/types" "3.186.0" + "tslib" "^2.3.1" "@aws-sdk/querystring-parser@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.6.1.tgz" - integrity sha512-hh6dhqamKrWWaDSuO2YULci0RGwJWygoy8hpCRxs/FpzzHIcbm6Cl6Jhrn5eKBzOBv+PhCcYwbfad0kIZZovcQ== + "integrity" "sha512-hh6dhqamKrWWaDSuO2YULci0RGwJWygoy8hpCRxs/FpzzHIcbm6Cl6Jhrn5eKBzOBv+PhCcYwbfad0kIZZovcQ==" + "resolved" "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" + "tslib" "^1.8.0" "@aws-sdk/s3-request-presigner@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.6.1.tgz" - integrity sha512-OI7UHCKBwuiO/RmHHewBKnL2NYqdilXRmpX67TJ4tTszIrWP2+vpm3lIfrx/BM8nf8nKTzgkO98uFhoJsEhmTg== + "integrity" "sha512-OI7UHCKBwuiO/RmHHewBKnL2NYqdilXRmpX67TJ4tTszIrWP2+vpm3lIfrx/BM8nf8nKTzgkO98uFhoJsEhmTg==" + "resolved" "https://registry.npmjs.org/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-sdk/protocol-http" "3.6.1" "@aws-sdk/signature-v4" "3.6.1" @@ -1652,404 +1717,382 @@ "@aws-sdk/types" "3.6.1" "@aws-sdk/util-create-request" "3.6.1" "@aws-sdk/util-format-url" "3.6.1" - tslib "^1.8.0" + "tslib" "^1.8.0" -"@aws-sdk/service-error-classification@3.47.2": - version "3.47.2" - resolved "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.47.2.tgz" - integrity sha512-oJCJbAPYhTNguJUhD8hlD7ibWIDpkvGrhkcq89gxBcXHPl/2/kjsii0gr302IH452IJlumpVe5wOXoZeqZYjaw== +"@aws-sdk/service-error-classification@3.186.0": + "integrity" "sha512-DRl3ORk4tF+jmH5uvftlfaq0IeKKpt0UPAOAFQ/JFWe+TjOcQd/K+VC0iiIG97YFp3aeFmH1JbEgsNxd+8fdxw==" + "resolved" "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.186.0.tgz" + "version" "3.186.0" "@aws-sdk/service-error-classification@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.6.1.tgz" - integrity sha512-kZ7ZhbrN1f+vrSRkTJvXsu7BlOyZgym058nPA745+1RZ1Rtv4Ax8oknf2RvJyj/1qRUi8LBaAREjzQ3C8tmLBA== + "integrity" "sha512-kZ7ZhbrN1f+vrSRkTJvXsu7BlOyZgym058nPA745+1RZ1Rtv4Ax8oknf2RvJyj/1qRUi8LBaAREjzQ3C8tmLBA==" + "resolved" "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.6.1.tgz" + "version" "3.6.1" -"@aws-sdk/shared-ini-file-loader@3.47.1": - version "3.47.1" - resolved "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.47.1.tgz" - integrity sha512-f0eVOMYkT4H0gOf1B9lw65/xeTa7rT9hocVB7DbjWk8Ifv46Uvlb4ZyYOLZIBDQyFNFrD/HHvja3BkzfV0MEOA== +"@aws-sdk/shared-ini-file-loader@3.186.0": + "integrity" "sha512-2FZqxmICtwN9CYid4dwfJSz/gGFHyStFQ3HCOQ8DsJUf2yREMSBsVmKqsyWgOrYcQ98gPcD5GIa7QO5yl3XF6A==" + "resolved" "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.186.0.tgz" + "version" "3.186.0" dependencies: - tslib "^2.3.0" + "@aws-sdk/types" "3.186.0" + "tslib" "^2.3.1" "@aws-sdk/shared-ini-file-loader@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.6.1.tgz" - integrity sha512-BnLHtsNLOoow6rPV+QVi6jnovU5g1m0YzoUG0BQYZ1ALyVlWVr0VvlUX30gMDfdYoPMp+DHvF8GXdMuGINq6kQ== + "integrity" "sha512-BnLHtsNLOoow6rPV+QVi6jnovU5g1m0YzoUG0BQYZ1ALyVlWVr0VvlUX30gMDfdYoPMp+DHvF8GXdMuGINq6kQ==" + "resolved" "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.6.1.tgz" + "version" "3.6.1" dependencies: - tslib "^1.8.0" + "tslib" "^1.8.0" -"@aws-sdk/signature-v4@3.47.2": - version "3.47.2" - resolved "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.47.2.tgz" - integrity sha512-zJIhUY8LLiQldfM9wpgVw525dHbILJovyZm3xmm6Tq/t258cawNaeOvOp9w0I3ycA3gs+nKgMXdeMjLH8QLbWg== +"@aws-sdk/signature-v4@3.186.0": + "integrity" "sha512-18i96P5c4suMqwSNhnEOqhq4doqqyjH4fn0YV3F8TkekHPIWP4mtIJ0PWAN4eievqdtcKgD/GqVO6FaJG9texw==" + "resolved" "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.186.0.tgz" + "version" "3.186.0" dependencies: - "@aws-sdk/is-array-buffer" "3.47.1" - "@aws-sdk/types" "3.47.1" - "@aws-sdk/util-hex-encoding" "3.47.1" - "@aws-sdk/util-uri-escape" "3.47.1" - tslib "^2.3.0" + "@aws-sdk/is-array-buffer" "3.186.0" + "@aws-sdk/types" "3.186.0" + "@aws-sdk/util-hex-encoding" "3.186.0" + "@aws-sdk/util-middleware" "3.186.0" + "@aws-sdk/util-uri-escape" "3.186.0" + "tslib" "^2.3.1" "@aws-sdk/signature-v4@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.6.1.tgz" - integrity sha512-EAR0qGVL4AgzodZv4t+BSuBfyOXhTNxDxom50IFI1MqidR9vI6avNZKcPHhgXbm7XVcsDGThZKbzQ2q7MZ2NTA== + "integrity" "sha512-EAR0qGVL4AgzodZv4t+BSuBfyOXhTNxDxom50IFI1MqidR9vI6avNZKcPHhgXbm7XVcsDGThZKbzQ2q7MZ2NTA==" + "resolved" "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-sdk/is-array-buffer" "3.6.1" "@aws-sdk/types" "3.6.1" "@aws-sdk/util-hex-encoding" "3.6.1" "@aws-sdk/util-uri-escape" "3.6.1" - tslib "^1.8.0" + "tslib" "^1.8.0" -"@aws-sdk/smithy-client@3.47.2": - version "3.47.2" - resolved "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.47.2.tgz" - integrity sha512-vCzZodWyKmLzC+N/B1GzDjKD8I5b/ILTwPHaaH7yJdncISq/3jyTMJVW7mZHbDX61a18rL/bADnIxEd524Y2hQ== +"@aws-sdk/smithy-client@3.186.0": + "integrity" "sha512-rdAxSFGSnrSprVJ6i1BXi65r4X14cuya6fYe8dSdgmFSa+U2ZevT97lb3tSINCUxBGeMXhENIzbVGkRZuMh+DQ==" + "resolved" "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.186.0.tgz" + "version" "3.186.0" dependencies: - "@aws-sdk/middleware-stack" "3.47.2" - "@aws-sdk/types" "3.47.1" - tslib "^2.3.0" + "@aws-sdk/middleware-stack" "3.186.0" + "@aws-sdk/types" "3.186.0" + "tslib" "^2.3.1" "@aws-sdk/smithy-client@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.6.1.tgz" - integrity sha512-AVpRK4/iUxNeDdAm8UqP0ZgtgJMQeWcagTylijwelhWXyXzHUReY1sgILsWcdWnoy6gq845W7K2VBhBleni8+w== + "integrity" "sha512-AVpRK4/iUxNeDdAm8UqP0ZgtgJMQeWcagTylijwelhWXyXzHUReY1sgILsWcdWnoy6gq845W7K2VBhBleni8+w==" + "resolved" "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-sdk/middleware-stack" "3.6.1" "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" - -"@aws-sdk/types@3.47.1": - version "3.47.1" - resolved "https://registry.npmjs.org/@aws-sdk/types/-/types-3.47.1.tgz" - integrity sha512-c+lxJJLD5Bq8HkrgaIWQfK8oGH53CYpRRJizyQ5qfRo9aXp/qshUnIVcgnA8t0k7jfzcIfa0Q7jSSBw3EerEbg== + "tslib" "^1.8.0" -"@aws-sdk/types@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/types/-/types-3.6.1.tgz" - integrity sha512-4Dx3eRTrUHLxhFdLJL8zdNGzVsJfAxtxPYYGmIddUkO2Gj3WA1TGjdfG4XN/ClI6e1XonCHafQX3UYO/mgnH3g== +"@aws-sdk/types@^3.1.0", "@aws-sdk/types@3.6.1": + "integrity" "sha512-4Dx3eRTrUHLxhFdLJL8zdNGzVsJfAxtxPYYGmIddUkO2Gj3WA1TGjdfG4XN/ClI6e1XonCHafQX3UYO/mgnH3g==" + "resolved" "https://registry.npmjs.org/@aws-sdk/types/-/types-3.6.1.tgz" + "version" "3.6.1" -"@aws-sdk/types@^1.0.0-alpha.0": - version "1.0.0-rc.10" - resolved "https://registry.npmjs.org/@aws-sdk/types/-/types-1.0.0-rc.10.tgz" - integrity sha512-9gwhYnkTNuYZ+etCtM4T8gjpZ0SWSXbzQxY34UjSS+dt3C/UnbX0J22tMahp/9Z1yCa9pihtXrkD+nO2xn7nVQ== +"@aws-sdk/types@^3.110.0": + "integrity" "sha512-GkCMy79mdjU9OTIe5KT58fI/6uqdf8UmMdWqVHmFJ+UpEzOci7L/uw4sOXWo7xpPzLs6cJ7s5ouGZW4GRPmHFA==" + "resolved" "https://registry.npmjs.org/@aws-sdk/types/-/types-3.347.0.tgz" + "version" "3.347.0" + dependencies: + "tslib" "^2.5.0" -"@aws-sdk/types@^3.1.0": - version "3.55.0" - resolved "https://registry.npmjs.org/@aws-sdk/types/-/types-3.55.0.tgz" - integrity sha512-wrDZjuy1CVAYxDCbm3bWQIKMGfNs7XXmG0eG4858Ixgqmq2avsIn5TORy8ynBxcXn9aekV/+tGEQ7BBSYzIVNQ== +"@aws-sdk/types@3.186.0": + "integrity" "sha512-NatmSU37U+XauMFJCdFI6nougC20JUFZar+ump5wVv0i54H+2Refg1YbFDxSs0FY28TSB9jfhWIpfFBmXgL5MQ==" + "resolved" "https://registry.npmjs.org/@aws-sdk/types/-/types-3.186.0.tgz" + "version" "3.186.0" "@aws-sdk/url-parser-native@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/url-parser-native/-/url-parser-native-3.6.1.tgz" - integrity sha512-3O+ktsrJoE8YQCho9L41YXO8EWILXrSeES7amUaV3mgIV5w4S3SB/r4RkmylpqRpQF7Ry8LFiAnMqH1wa4WBPA== + "integrity" "sha512-3O+ktsrJoE8YQCho9L41YXO8EWILXrSeES7amUaV3mgIV5w4S3SB/r4RkmylpqRpQF7Ry8LFiAnMqH1wa4WBPA==" + "resolved" "https://registry.npmjs.org/@aws-sdk/url-parser-native/-/url-parser-native-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-sdk/querystring-parser" "3.6.1" "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" - url "^0.11.0" + "tslib" "^1.8.0" + "url" "^0.11.0" -"@aws-sdk/url-parser@3.47.2": - version "3.47.2" - resolved "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.47.2.tgz" - integrity sha512-xapm+8toLY1FJmdGWl/YWCGSbbzPitiKmcg9+NP1DIyZyHjzeG5vBZ2SYejYtGOf+Qn1VKyNN2+Qs049FOsh6w== +"@aws-sdk/url-parser@3.186.0": + "integrity" "sha512-jfdJkKqJZp8qjjwEjIGDqbqTuajBsddw02f86WiL8bPqD8W13/hdqbG4Fpwc+Bm6GwR6/4MY6xWXFnk8jDUKeA==" + "resolved" "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.186.0.tgz" + "version" "3.186.0" dependencies: - "@aws-sdk/querystring-parser" "3.47.2" - "@aws-sdk/types" "3.47.1" - tslib "^2.3.0" + "@aws-sdk/querystring-parser" "3.186.0" + "@aws-sdk/types" "3.186.0" + "tslib" "^2.3.1" "@aws-sdk/url-parser@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.6.1.tgz" - integrity sha512-pWFIePDx0PMCleQRsQDWoDl17YiijOLj0ZobN39rQt+wv5PhLSZDz9PgJsqS48nZ6hqsKgipRcjiBMhn5NtFcQ== + "integrity" "sha512-pWFIePDx0PMCleQRsQDWoDl17YiijOLj0ZobN39rQt+wv5PhLSZDz9PgJsqS48nZ6hqsKgipRcjiBMhn5NtFcQ==" + "resolved" "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-sdk/querystring-parser" "3.6.1" "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" + "tslib" "^1.8.0" "@aws-sdk/util-arn-parser@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.6.1.tgz" - integrity sha512-NFdYeuhaSrgnBG6Pt3zHNU7QwvhHq6sKUTWZShUayLMJYYbQr6IjmYVlPST4c84b+lyDoK68y/Zga621VfIdBg== + "integrity" "sha512-NFdYeuhaSrgnBG6Pt3zHNU7QwvhHq6sKUTWZShUayLMJYYbQr6IjmYVlPST4c84b+lyDoK68y/Zga621VfIdBg==" + "resolved" "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.6.1.tgz" + "version" "3.6.1" dependencies: - tslib "^1.8.0" + "tslib" "^1.8.0" -"@aws-sdk/util-base64-browser@3.47.1": - version "3.47.1" - resolved "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.47.1.tgz" - integrity sha512-asStae2d1xvgs3czWvvVb4JWHfY2iV8yximL4MwF+Lb8XG/b8LH3tG1E5axAFVMBcljdvRB941N7w3rug7V9ig== +"@aws-sdk/util-base64-browser@3.186.0": + "integrity" "sha512-TpQL8opoFfzTwUDxKeon/vuc83kGXpYqjl6hR8WzmHoQgmFfdFlV+0KXZOohra1001OP3FhqvMqaYbO8p9vXVQ==" + "resolved" "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.186.0.tgz" + "version" "3.186.0" dependencies: - tslib "^2.3.0" + "tslib" "^2.3.1" "@aws-sdk/util-base64-browser@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.6.1.tgz" - integrity sha512-+DHAIgt0AFARDVC7J0Z9FkSmJhBMlkYdOPeAAgO0WaQoKj7rtsLQJ7P3v3aS1paKN5/sk5xNY7ziVB6uHtOvHA== + "integrity" "sha512-+DHAIgt0AFARDVC7J0Z9FkSmJhBMlkYdOPeAAgO0WaQoKj7rtsLQJ7P3v3aS1paKN5/sk5xNY7ziVB6uHtOvHA==" + "resolved" "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.6.1.tgz" + "version" "3.6.1" dependencies: - tslib "^1.8.0" + "tslib" "^1.8.0" -"@aws-sdk/util-base64-node@3.47.2": - version "3.47.2" - resolved "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-3.47.2.tgz" - integrity sha512-0Oml66+9/uERV1dosecA/1tEd0zdiwI3kEobCF5w2f4gJDzUdaEoztcRwtbLcFv6yVT7XoW4evMQbtlcruypcQ== +"@aws-sdk/util-base64-node@3.186.0": + "integrity" "sha512-wH5Y/EQNBfGS4VkkmiMyZXU+Ak6VCoFM1GKWopV+sj03zR2D4FHexi4SxWwEBMpZCd6foMtihhbNBuPA5fnh6w==" + "resolved" "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-3.186.0.tgz" + "version" "3.186.0" dependencies: - "@aws-sdk/util-buffer-from" "3.47.2" - tslib "^2.3.0" + "@aws-sdk/util-buffer-from" "3.186.0" + "tslib" "^2.3.1" "@aws-sdk/util-base64-node@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-3.6.1.tgz" - integrity sha512-oiqzpsvtTSS92+cL3ykhGd7t3qBJKeHvrgOwUyEf1wFWHQ2DPJR+dIMy5rMFRXWLKCl3w7IddY2rJCkLYMjaqQ== + "integrity" "sha512-oiqzpsvtTSS92+cL3ykhGd7t3qBJKeHvrgOwUyEf1wFWHQ2DPJR+dIMy5rMFRXWLKCl3w7IddY2rJCkLYMjaqQ==" + "resolved" "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-sdk/util-buffer-from" "3.6.1" - tslib "^1.8.0" + "tslib" "^1.8.0" -"@aws-sdk/util-body-length-browser@3.47.1": - version "3.47.1" - resolved "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.47.1.tgz" - integrity sha512-qR307MATPC+4JtN7W9sSkchfdB3O4mulLKRpk7rF6Ns6vVwhaPfJstSGe9Qa68zYZXubF9h5WnoWuJz4N0Vqdw== +"@aws-sdk/util-body-length-browser@3.186.0": + "integrity" "sha512-zKtjkI/dkj9oGkjo+7fIz+I9KuHrVt1ROAeL4OmDESS8UZi3/O8uMDFMuCp8jft6H+WFuYH6qRVWAVwXMiasXw==" + "resolved" "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.186.0.tgz" + "version" "3.186.0" dependencies: - tslib "^2.3.0" + "tslib" "^2.3.1" "@aws-sdk/util-body-length-browser@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.6.1.tgz" - integrity sha512-IdWwE3rm/CFDk2F+IwTZOFTnnNW5SB8y1lWiQ54cfc7y03hO6jmXNnpZGZ5goHhT+vf1oheNQt1J47m0pM/Irw== + "integrity" "sha512-IdWwE3rm/CFDk2F+IwTZOFTnnNW5SB8y1lWiQ54cfc7y03hO6jmXNnpZGZ5goHhT+vf1oheNQt1J47m0pM/Irw==" + "resolved" "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.6.1.tgz" + "version" "3.6.1" dependencies: - tslib "^1.8.0" + "tslib" "^1.8.0" -"@aws-sdk/util-body-length-node@3.47.1": - version "3.47.1" - resolved "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.47.1.tgz" - integrity sha512-U2K7+gi3bAQBb3WB1/trvA+4rPC2SKH9w/sRtqBwtxHNOjXjiCiF3oEYnbir7cdSfhzMH4HBYKbfkHZwTAHMfw== +"@aws-sdk/util-body-length-node@3.186.0": + "integrity" "sha512-U7Ii8u8Wvu9EnBWKKeuwkdrWto3c0j7LG677Spe6vtwWkvY70n9WGfiKHTgBpVeLNv8jvfcx5+H0UOPQK1o9SQ==" + "resolved" "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.186.0.tgz" + "version" "3.186.0" dependencies: - tslib "^2.3.0" + "tslib" "^2.3.1" "@aws-sdk/util-body-length-node@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.6.1.tgz" - integrity sha512-CUG3gc18bSOsqViQhB3M4AlLpAWV47RE6yWJ6rLD0J6/rSuzbwbjzxM39q0YTAVuSo/ivdbij+G9c3QCirC+QQ== + "integrity" "sha512-CUG3gc18bSOsqViQhB3M4AlLpAWV47RE6yWJ6rLD0J6/rSuzbwbjzxM39q0YTAVuSo/ivdbij+G9c3QCirC+QQ==" + "resolved" "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.6.1.tgz" + "version" "3.6.1" dependencies: - tslib "^1.8.0" + "tslib" "^1.8.0" -"@aws-sdk/util-buffer-from@3.47.2": - version "3.47.2" - resolved "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.47.2.tgz" - integrity sha512-oLytLGiIeJEk7FcT7bdeQNv7+vvVVPuL5hyXlCjHZwoWuDxepjoDhTaIC9Isq1UyPKfSZaVpk/1nqREe4aYDHw== +"@aws-sdk/util-buffer-from@3.186.0": + "integrity" "sha512-be2GCk2lsLWg/2V5Y+S4/9pOMXhOQo4DR4dIqBdR2R+jrMMHN9Xsr5QrkT6chcqLaJ/SBlwiAEEi3StMRmCOXA==" + "resolved" "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.186.0.tgz" + "version" "3.186.0" dependencies: - "@aws-sdk/is-array-buffer" "3.47.1" - tslib "^2.3.0" + "@aws-sdk/is-array-buffer" "3.186.0" + "tslib" "^2.3.1" "@aws-sdk/util-buffer-from@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.6.1.tgz" - integrity sha512-OGUh2B5NY4h7iRabqeZ+EgsrzE1LUmNFzMyhoZv0tO4NExyfQjxIYXLQQvydeOq9DJUbCw+yrRZrj8vXNDQG+g== + "integrity" "sha512-OGUh2B5NY4h7iRabqeZ+EgsrzE1LUmNFzMyhoZv0tO4NExyfQjxIYXLQQvydeOq9DJUbCw+yrRZrj8vXNDQG+g==" + "resolved" "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-sdk/is-array-buffer" "3.6.1" - tslib "^1.8.0" + "tslib" "^1.8.0" -"@aws-sdk/util-config-provider@3.47.1": - version "3.47.1" - resolved "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.47.1.tgz" - integrity sha512-kBs+YghZaOqChxLZDTR8dw5RQxJ/qF064EjRpC+TdCegLCO2UtZ97RXBvc5mdt94OxXGjGUjDiD/eAlpjjFNXw== +"@aws-sdk/util-config-provider@3.186.0": + "integrity" "sha512-71Qwu/PN02XsRLApyxG0EUy/NxWh/CXxtl2C7qY14t+KTiRapwbDkdJ1cMsqYqghYP4BwJoj1M+EFMQSSlkZQQ==" + "resolved" "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.186.0.tgz" + "version" "3.186.0" dependencies: - tslib "^2.3.0" + "tslib" "^2.3.1" "@aws-sdk/util-create-request@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/util-create-request/-/util-create-request-3.6.1.tgz" - integrity sha512-jR1U8WpwXl+xZ9ThS42Jr5MXuegQ7QioHsZjQn3V5pbm8CXTkBF0B2BcULQu/2G1XtHOJb8qUZQlk/REoaORfQ== + "integrity" "sha512-jR1U8WpwXl+xZ9ThS42Jr5MXuegQ7QioHsZjQn3V5pbm8CXTkBF0B2BcULQu/2G1XtHOJb8qUZQlk/REoaORfQ==" + "resolved" "https://registry.npmjs.org/@aws-sdk/util-create-request/-/util-create-request-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-sdk/middleware-stack" "3.6.1" "@aws-sdk/smithy-client" "3.6.1" "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" - -"@aws-sdk/util-credentials@3.47.2": - version "3.47.2" - resolved "https://registry.npmjs.org/@aws-sdk/util-credentials/-/util-credentials-3.47.2.tgz" - integrity sha512-C0L8pfZkJyWfuvLVRcM2Ff11t2mkM4lzjNBnQKdL80wuASZWCnAi50oUKBgwbHZdOsRKGV7C4zqAuTLTRaFpCQ== - dependencies: - "@aws-sdk/shared-ini-file-loader" "3.47.1" - tslib "^2.3.0" - -"@aws-sdk/util-defaults-mode-browser@3.47.2": - version "3.47.2" - resolved "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.47.2.tgz" - integrity sha512-ojAF5k/VFbPvJoj6/G6ekVQhbFvabUBvRhRaoQjkmj8LVEahtzcNcOxhu3FmH17mXR2oxWsGwvq6VAw6V3jLBg== - dependencies: - "@aws-sdk/property-provider" "3.47.2" - "@aws-sdk/types" "3.47.1" - bowser "^2.11.0" - tslib "^2.3.0" - -"@aws-sdk/util-defaults-mode-node@3.47.2": - version "3.47.2" - resolved "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.47.2.tgz" - integrity sha512-O35bXeahlepgPxg72XDN+5cXlbs+jZec5AH+7YYI+ldEVu6WxF0MxeQtMG4Fqpb19bpPIPz0SodHM1D1I53S5w== - dependencies: - "@aws-sdk/config-resolver" "3.47.2" - "@aws-sdk/credential-provider-imds" "3.47.2" - "@aws-sdk/node-config-provider" "3.47.2" - "@aws-sdk/property-provider" "3.47.2" - "@aws-sdk/types" "3.47.1" - tslib "^2.3.0" + "tslib" "^1.8.0" + +"@aws-sdk/util-defaults-mode-browser@3.186.0": + "integrity" "sha512-U8GOfIdQ0dZ7RRVpPynGteAHx4URtEh+JfWHHVfS6xLPthPHWTbyRhkQX++K/F8Jk+T5U8Anrrqlea4TlcO2DA==" + "resolved" "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.186.0.tgz" + "version" "3.186.0" + dependencies: + "@aws-sdk/property-provider" "3.186.0" + "@aws-sdk/types" "3.186.0" + "bowser" "^2.11.0" + "tslib" "^2.3.1" + +"@aws-sdk/util-defaults-mode-node@3.186.0": + "integrity" "sha512-N6O5bpwCiE4z8y7SPHd7KYlszmNOYREa+mMgtOIXRU3VXSEHVKVWTZsHKvNTTHpW0qMqtgIvjvXCo3vsch5l3A==" + "resolved" "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.186.0.tgz" + "version" "3.186.0" + dependencies: + "@aws-sdk/config-resolver" "3.186.0" + "@aws-sdk/credential-provider-imds" "3.186.0" + "@aws-sdk/node-config-provider" "3.186.0" + "@aws-sdk/property-provider" "3.186.0" + "@aws-sdk/types" "3.186.0" + "tslib" "^2.3.1" "@aws-sdk/util-format-url@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/util-format-url/-/util-format-url-3.6.1.tgz" - integrity sha512-FvhcXcqLyJ0j0WdlmGs7PtjCCv8NaY4zBuXYO2iwAmqoy2SIZXQL63uAvmilqWj25q47ASAsUwSFLReCCfMklQ== + "integrity" "sha512-FvhcXcqLyJ0j0WdlmGs7PtjCCv8NaY4zBuXYO2iwAmqoy2SIZXQL63uAvmilqWj25q47ASAsUwSFLReCCfMklQ==" + "resolved" "https://registry.npmjs.org/@aws-sdk/util-format-url/-/util-format-url-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-sdk/querystring-builder" "3.6.1" "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" + "tslib" "^1.8.0" -"@aws-sdk/util-hex-encoding@3.47.1": - version "3.47.1" - resolved "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.47.1.tgz" - integrity sha512-9vBhp1E74s6nImK5xk7BkopQ10w6Vk8UrIinu71U7V/0PdjCEb4Jmnn++MLyim2jTT0QEGmJ6v0VjPZi9ETWaA== +"@aws-sdk/util-hex-encoding@3.186.0": + "integrity" "sha512-UL9rdgIZz1E/jpAfaKH8QgUxNK9VP5JPgoR0bSiaefMjnsoBh0x/VVMsfUyziOoJCMLebhJzFowtwrSKEGsxNg==" + "resolved" "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.186.0.tgz" + "version" "3.186.0" dependencies: - tslib "^2.3.0" + "tslib" "^2.3.1" "@aws-sdk/util-hex-encoding@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.6.1.tgz" - integrity sha512-pzsGOHtU2eGca4NJgFg94lLaeXDOg8pcS9sVt4f9LmtUGbrqRveeyBv0XlkHeZW2n0IZBssPHipVYQFlk7iaRA== + "integrity" "sha512-pzsGOHtU2eGca4NJgFg94lLaeXDOg8pcS9sVt4f9LmtUGbrqRveeyBv0XlkHeZW2n0IZBssPHipVYQFlk7iaRA==" + "resolved" "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.6.1.tgz" + "version" "3.6.1" dependencies: - tslib "^1.8.0" + "tslib" "^1.8.0" "@aws-sdk/util-locate-window@^3.0.0": - version "3.55.0" - resolved "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.55.0.tgz" - integrity sha512-0sPmK2JaJE2BbTcnvybzob/VrFKCXKfN4CUKcvn0yGg/me7Bz+vtzQRB3Xp+YSx+7OtWxzv63wsvHoAnXvgxgg== + "integrity" "sha512-qo2t/vBTnoXpjKxlsC2e1gBrRm80M3bId27r0BRB2VniSSe7bL1mmzM+/HFtujm0iAxtPM+aLEflLJlJeDPg0w==" + "resolved" "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.310.0.tgz" + "version" "3.310.0" + dependencies: + "tslib" "^2.5.0" + +"@aws-sdk/util-middleware@3.186.0": + "integrity" "sha512-fddwDgXtnHyL9mEZ4s1tBBsKnVQHqTUmFbZKUUKPrg9CxOh0Y/zZxEa5Olg/8dS/LzM1tvg0ATkcyd4/kEHIhg==" + "resolved" "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.186.0.tgz" + "version" "3.186.0" dependencies: - tslib "^2.3.1" + "tslib" "^2.3.1" -"@aws-sdk/util-uri-escape@3.47.1": - version "3.47.1" - resolved "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.47.1.tgz" - integrity sha512-CGqm+bT07OCJSgDo48/4Fegh9tNPR3kcOMfNWZ/J6lrt+nfAnOdXx5zZB63PjKCt5zJ7LM0thOQgAeOf2WdJzQ== +"@aws-sdk/util-uri-escape@3.186.0": + "integrity" "sha512-imtOrJFpIZAipAg8VmRqYwv1G/x4xzyoxOJ48ZSn1/ZGnKEEnB6n6E9gwYRebi4mlRuMSVeZwCPLq0ey5hReeQ==" + "resolved" "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.186.0.tgz" + "version" "3.186.0" dependencies: - tslib "^2.3.0" + "tslib" "^2.3.1" "@aws-sdk/util-uri-escape@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.6.1.tgz" - integrity sha512-tgABiT71r0ScRJZ1pMX0xO0QPMMiISCtumph50IU5VDyZWYgeIxqkMhIcrL1lX0QbNCMgX0n6rZxGrrbjDNavA== + "integrity" "sha512-tgABiT71r0ScRJZ1pMX0xO0QPMMiISCtumph50IU5VDyZWYgeIxqkMhIcrL1lX0QbNCMgX0n6rZxGrrbjDNavA==" + "resolved" "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.6.1.tgz" + "version" "3.6.1" dependencies: - tslib "^1.8.0" + "tslib" "^1.8.0" -"@aws-sdk/util-user-agent-browser@3.47.2": - version "3.47.2" - resolved "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.47.2.tgz" - integrity sha512-dstakqLW8hXRMzR/s3uLpfYbMs/qDowG/Fp123cAuln4rUODG29VNFLkMAYRnG6RQ9hf2OtXsCfFGNSm+bnJMg== +"@aws-sdk/util-user-agent-browser@3.186.0": + "integrity" "sha512-fbRcTTutMk4YXY3A2LePI4jWSIeHOT8DaYavpc/9Xshz/WH9RTGMmokeVOcClRNBeDSi5cELPJJ7gx6SFD3ZlQ==" + "resolved" "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.186.0.tgz" + "version" "3.186.0" dependencies: - "@aws-sdk/types" "3.47.1" - bowser "^2.11.0" - tslib "^2.3.0" + "@aws-sdk/types" "3.186.0" + "bowser" "^2.11.0" + "tslib" "^2.3.1" "@aws-sdk/util-user-agent-browser@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.6.1.tgz" - integrity sha512-KhJ4VED4QpuBVPXoTjb5LqspX1xHWJTuL8hbPrKfxj+cAaRRW2CNEe7PPy2CfuHtPzP3dU3urtGTachbwNb0jg== + "integrity" "sha512-KhJ4VED4QpuBVPXoTjb5LqspX1xHWJTuL8hbPrKfxj+cAaRRW2CNEe7PPy2CfuHtPzP3dU3urtGTachbwNb0jg==" + "resolved" "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-sdk/types" "3.6.1" - bowser "^2.11.0" - tslib "^1.8.0" + "bowser" "^2.11.0" + "tslib" "^1.8.0" -"@aws-sdk/util-user-agent-node@3.47.2": - version "3.47.2" - resolved "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.47.2.tgz" - integrity sha512-9wYkGvTrOFWb+9QjziQma+l9M0u1tmHiIdL9r4Btsc9WVMsy1Y9HUUeXacM3dLLIzCpQ5dDbjIlAZWA8Rm3ZOQ== +"@aws-sdk/util-user-agent-node@3.186.0": + "integrity" "sha512-oWZR7hN6NtOgnT6fUvHaafgbipQc2xJCRB93XHiF9aZGptGNLJzznIOP7uURdn0bTnF73ejbUXWLQIm8/6ue6w==" + "resolved" "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.186.0.tgz" + "version" "3.186.0" dependencies: - "@aws-sdk/node-config-provider" "3.47.2" - "@aws-sdk/types" "3.47.1" - tslib "^2.3.0" + "@aws-sdk/node-config-provider" "3.186.0" + "@aws-sdk/types" "3.186.0" + "tslib" "^2.3.1" "@aws-sdk/util-user-agent-node@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.6.1.tgz" - integrity sha512-PWwL5EDRwhkXX40m5jjgttlBmLA7vDhHBen1Jcle0RPIDFRVPSE7GgvLF3y4r3SNH0WD6hxqadT50bHQynXW6w== + "integrity" "sha512-PWwL5EDRwhkXX40m5jjgttlBmLA7vDhHBen1Jcle0RPIDFRVPSE7GgvLF3y4r3SNH0WD6hxqadT50bHQynXW6w==" + "resolved" "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-sdk/node-config-provider" "3.6.1" "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" - -"@aws-sdk/util-utf8-browser@3.47.1": - version "3.47.1" - resolved "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.47.1.tgz" - integrity sha512-PzHEdiBhfnZbHvZ+dIlIPodDbpgrpKDYslHe9A+tH8ZfuAxxmZEqnukp7QEkFr6mBcmq3H2thcPdNT45/5pA7Q== - dependencies: - tslib "^2.3.0" - -"@aws-sdk/util-utf8-browser@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.6.1.tgz" - integrity sha512-gZPySY6JU5gswnw3nGOEHl3tYE7vPKvtXGYoS2NRabfDKRejFvu+4/nNW6SSpoOxk6LSXsrWB39NO51k+G4PVA== - dependencies: - tslib "^1.8.0" + "tslib" "^1.8.0" -"@aws-sdk/util-utf8-browser@^1.0.0-alpha.0": - version "1.0.0-rc.8" - resolved "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-1.0.0-rc.8.tgz" - integrity sha512-clncPMJ23rxCIkZ9LoUC8SowwZGxWyN2TwRb0XvW/Cv9EavkRgRCOrCpneGyC326lqtMKx36onnpaSRHxErUYw== +"@aws-sdk/util-utf8-browser@^3.0.0", "@aws-sdk/util-utf8-browser@3.6.1": + "integrity" "sha512-gZPySY6JU5gswnw3nGOEHl3tYE7vPKvtXGYoS2NRabfDKRejFvu+4/nNW6SSpoOxk6LSXsrWB39NO51k+G4PVA==" + "resolved" "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.6.1.tgz" + "version" "3.6.1" dependencies: - tslib "^1.8.0" + "tslib" "^1.8.0" -"@aws-sdk/util-utf8-browser@^3.0.0": - version "3.55.0" - resolved "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.55.0.tgz" - integrity sha512-ljzqJcyjfJpEVSIAxwtIS8xMRUly84BdjlBXyp6cu4G8TUufgjNS31LWdhyGhgmW5vYBNr+LTz0Kwf6J+ou7Ug== +"@aws-sdk/util-utf8-browser@3.186.0": + "integrity" "sha512-n+IdFYF/4qT2WxhMOCeig8LndDggaYHw3BJJtfIBZRiS16lgwcGYvOUmhCkn0aSlG1f/eyg9YZHQG0iz9eLdHQ==" + "resolved" "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.186.0.tgz" + "version" "3.186.0" dependencies: - tslib "^2.3.1" + "tslib" "^2.3.1" -"@aws-sdk/util-utf8-node@3.47.2": - version "3.47.2" - resolved "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.47.2.tgz" - integrity sha512-itgWlytqhbD/pRiGxX7XY7RF8k15ScV816FUlZtOKeRpAphliFT07TGWKmiZcFxEbHpi9r8A5H1FOoPmyU635Q== +"@aws-sdk/util-utf8-node@3.186.0": + "integrity" "sha512-7qlE0dOVdjuRbZTb7HFywnHHCrsN7AeQiTnsWT63mjXGDbPeUWQQw3TrdI20um3cxZXnKoeudGq8K6zbXyQ4iA==" + "resolved" "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.186.0.tgz" + "version" "3.186.0" dependencies: - "@aws-sdk/util-buffer-from" "3.47.2" - tslib "^2.3.0" + "@aws-sdk/util-buffer-from" "3.186.0" + "tslib" "^2.3.1" "@aws-sdk/util-utf8-node@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.6.1.tgz" - integrity sha512-4s0vYfMUn74XLn13rUUhNsmuPMh0j1d4rF58wXtjlVUU78THxonnN8mbCLC48fI3fKDHTmDDkeEqy7+IWP9VyA== + "integrity" "sha512-4s0vYfMUn74XLn13rUUhNsmuPMh0j1d4rF58wXtjlVUU78THxonnN8mbCLC48fI3fKDHTmDDkeEqy7+IWP9VyA==" + "resolved" "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-sdk/util-buffer-from" "3.6.1" - tslib "^1.8.0" + "tslib" "^1.8.0" "@aws-sdk/util-waiter@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.6.1.tgz" - integrity sha512-CQMRteoxW1XZSzPBVrTsOTnfzsEGs8N/xZ8BuBnXLBjoIQmRKVxIH9lgphm1ohCtVHoSWf28XH/KoOPFULQ4Tg== + "integrity" "sha512-CQMRteoxW1XZSzPBVrTsOTnfzsEGs8N/xZ8BuBnXLBjoIQmRKVxIH9lgphm1ohCtVHoSWf28XH/KoOPFULQ4Tg==" + "resolved" "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.6.1.tgz" + "version" "3.6.1" dependencies: "@aws-sdk/abort-controller" "3.6.1" "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" + "tslib" "^1.8.0" "@aws-sdk/xml-builder@3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.6.1.tgz" - integrity sha512-+HOCH4a0XO+I09okd0xdVP5Q5c9ZsEsDvnogiOcBQxoMivWhPUCo9pjXP3buCvVKP2oDHXQplBKSjGHvGaKFdg== + "integrity" "sha512-+HOCH4a0XO+I09okd0xdVP5Q5c9ZsEsDvnogiOcBQxoMivWhPUCo9pjXP3buCvVKP2oDHXQplBKSjGHvGaKFdg==" + "resolved" "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.6.1.tgz" + "version" "3.6.1" dependencies: - tslib "^1.8.0" + "tslib" "^1.8.0" "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.0", "@babel/code-frame@^7.18.6", "@babel/code-frame@^7.8.3": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz" - integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== + "version" "7.18.6" dependencies: "@babel/highlight" "^7.18.6" "@babel/compat-data@^7.17.7", "@babel/compat-data@^7.20.1", "@babel/compat-data@^7.20.5": - version "7.20.10" - resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.10.tgz" - integrity sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg== + "version" "7.20.10" -"@babel/core@^7.1.0", "@babel/core@^7.11.1", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.7.2", "@babel/core@^7.8.0": - version "7.20.12" - resolved "https://registry.npmjs.org/@babel/core/-/core-7.20.12.tgz" - integrity sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg== +"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.1.0", "@babel/core@^7.11.1", "@babel/core@^7.12.0", "@babel/core@^7.12.3", "@babel/core@^7.13.0", "@babel/core@^7.13.16", "@babel/core@^7.16.0", "@babel/core@^7.20.0", "@babel/core@^7.4.0-0", "@babel/core@^7.7.2", "@babel/core@^7.8.0", "@babel/core@>=7.11.0": + "version" "7.20.12" dependencies: "@ampproject/remapping" "^2.1.0" "@babel/code-frame" "^7.18.6" @@ -2061,60 +2104,48 @@ "@babel/template" "^7.20.7" "@babel/traverse" "^7.20.12" "@babel/types" "^7.20.7" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.2" - semver "^6.3.0" + "convert-source-map" "^1.7.0" + "debug" "^4.1.0" + "gensync" "^1.0.0-beta.2" + "json5" "^2.2.2" + "semver" "^6.3.0" "@babel/eslint-parser@^7.16.3": - version "7.19.1" - resolved "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.19.1.tgz" - integrity sha512-AqNf2QWt1rtu2/1rLswy6CDP7H9Oh3mMhk177Y67Rg8d7RD9WfOLLv8CGn6tisFvS2htm86yIe1yLF6I1UDaGQ== + "version" "7.19.1" dependencies: "@nicolo-ribaudo/eslint-scope-5-internals" "5.1.1-v1" - eslint-visitor-keys "^2.1.0" - semver "^6.3.0" + "eslint-visitor-keys" "^2.1.0" + "semver" "^6.3.0" -"@babel/generator@^7.20.7", "@babel/generator@^7.7.2": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.20.7.tgz" - integrity sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw== +"@babel/generator@^7.20.0", "@babel/generator@^7.20.7", "@babel/generator@^7.7.2": + "version" "7.20.7" dependencies: "@babel/types" "^7.20.7" "@jridgewell/gen-mapping" "^0.3.2" - jsesc "^2.5.1" + "jsesc" "^2.5.1" "@babel/helper-annotate-as-pure@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz" - integrity sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA== + "version" "7.18.6" dependencies: "@babel/types" "^7.18.6" "@babel/helper-builder-binary-assignment-operator-visitor@^7.18.6": - version "7.18.9" - resolved "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz" - integrity sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw== + "version" "7.18.9" dependencies: "@babel/helper-explode-assignable-expression" "^7.18.6" "@babel/types" "^7.18.9" "@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9", "@babel/helper-compilation-targets@^7.20.0", "@babel/helper-compilation-targets@^7.20.7": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz" - integrity sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ== + "version" "7.20.7" dependencies: "@babel/compat-data" "^7.20.5" "@babel/helper-validator-option" "^7.18.6" - browserslist "^4.21.3" - lru-cache "^5.1.1" - semver "^6.3.0" + "browserslist" "^4.21.3" + "lru-cache" "^5.1.1" + "semver" "^6.3.0" "@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.20.5", "@babel/helper-create-class-features-plugin@^7.20.7": - version "7.20.12" - resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.12.tgz" - integrity sha512-9OunRkbT0JQcednL0UFvbfXpAsUXiGjUk0a7sN8fUXX7Mue79cUSMjHGDRRi/Vz9vYlpIhLV5fMD5dKoMhhsNQ== + "version" "7.20.12" dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" "@babel/helper-environment-visitor" "^7.18.9" @@ -2126,70 +2157,52 @@ "@babel/helper-split-export-declaration" "^7.18.6" "@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.20.5": - version "7.20.5" - resolved "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.20.5.tgz" - integrity sha512-m68B1lkg3XDGX5yCvGO0kPx3v9WIYLnzjKfPcQiwntEQa5ZeRkPmo2X/ISJc8qxWGfwUr+kvZAeEzAwLec2r2w== + "version" "7.20.5" dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" - regexpu-core "^5.2.1" + "regexpu-core" "^5.2.1" "@babel/helper-define-polyfill-provider@^0.3.3": - version "0.3.3" - resolved "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz" - integrity sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww== + "version" "0.3.3" dependencies: "@babel/helper-compilation-targets" "^7.17.7" "@babel/helper-plugin-utils" "^7.16.7" - debug "^4.1.1" - lodash.debounce "^4.0.8" - resolve "^1.14.2" - semver "^6.1.2" + "debug" "^4.1.1" + "lodash.debounce" "^4.0.8" + "resolve" "^1.14.2" + "semver" "^6.1.2" "@babel/helper-environment-visitor@^7.18.9": - version "7.18.9" - resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz" - integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== + "version" "7.18.9" "@babel/helper-explode-assignable-expression@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz" - integrity sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg== + "version" "7.18.6" dependencies: "@babel/types" "^7.18.6" "@babel/helper-function-name@^7.18.9", "@babel/helper-function-name@^7.19.0": - version "7.19.0" - resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz" - integrity sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w== + "version" "7.19.0" dependencies: "@babel/template" "^7.18.10" "@babel/types" "^7.19.0" "@babel/helper-hoist-variables@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz" - integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== + "version" "7.18.6" dependencies: "@babel/types" "^7.18.6" "@babel/helper-member-expression-to-functions@^7.20.7": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.20.7.tgz" - integrity sha512-9J0CxJLq315fEdi4s7xK5TQaNYjZw+nDVpVqr1axNGKzdrdwYBD5b4uKv3n75aABG0rCCTK8Im8Ww7eYfMrZgw== + "version" "7.20.7" dependencies: "@babel/types" "^7.20.7" -"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz" - integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== +"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.18.6": + "version" "7.18.6" dependencies: "@babel/types" "^7.18.6" "@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.20.11": - version "7.20.11" - resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz" - integrity sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg== + "version" "7.20.11" dependencies: "@babel/helper-environment-visitor" "^7.18.9" "@babel/helper-module-imports" "^7.18.6" @@ -2201,21 +2214,17 @@ "@babel/types" "^7.20.7" "@babel/helper-optimise-call-expression@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz" - integrity sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA== + "version" "7.18.6" dependencies: "@babel/types" "^7.18.6" -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.20.2" - resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz" - integrity sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ== +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + "integrity" "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==" + "resolved" "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz" + "version" "7.22.5" "@babel/helper-remap-async-to-generator@^7.18.9": - version "7.18.9" - resolved "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz" - integrity sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA== + "version" "7.18.9" dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" "@babel/helper-environment-visitor" "^7.18.9" @@ -2223,9 +2232,7 @@ "@babel/types" "^7.18.9" "@babel/helper-replace-supers@^7.18.6", "@babel/helper-replace-supers@^7.20.7": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz" - integrity sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A== + "version" "7.20.7" dependencies: "@babel/helper-environment-visitor" "^7.18.9" "@babel/helper-member-expression-to-functions" "^7.20.7" @@ -2235,45 +2242,33 @@ "@babel/types" "^7.20.7" "@babel/helper-simple-access@^7.20.2": - version "7.20.2" - resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz" - integrity sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA== + "version" "7.20.2" dependencies: "@babel/types" "^7.20.2" "@babel/helper-skip-transparent-expression-wrappers@^7.20.0": - version "7.20.0" - resolved "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz" - integrity sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg== + "version" "7.20.0" dependencies: "@babel/types" "^7.20.0" "@babel/helper-split-export-declaration@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz" - integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== + "version" "7.18.6" dependencies: "@babel/types" "^7.18.6" "@babel/helper-string-parser@^7.19.4": - version "7.19.4" - resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz" - integrity sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw== + "version" "7.19.4" "@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": - version "7.19.1" - resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz" - integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== + "version" "7.19.1" -"@babel/helper-validator-option@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz" - integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw== +"@babel/helper-validator-option@^7.18.6", "@babel/helper-validator-option@^7.22.5": + "integrity" "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==" + "resolved" "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz" + "version" "7.22.5" "@babel/helper-wrap-function@^7.18.9": - version "7.20.5" - resolved "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz" - integrity sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q== + "version" "7.20.5" dependencies: "@babel/helper-function-name" "^7.19.0" "@babel/template" "^7.18.10" @@ -2281,75 +2276,61 @@ "@babel/types" "^7.20.5" "@babel/helpers@^7.20.7": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.7.tgz" - integrity sha512-PBPjs5BppzsGaxHQCDKnZ6Gd9s6xl8bBCluz3vEInLGRJmnZan4F6BYCeqtyXqkk4W5IlPmjK4JlOuZkpJ3xZA== + "version" "7.20.7" dependencies: "@babel/template" "^7.20.7" "@babel/traverse" "^7.20.7" "@babel/types" "^7.20.7" "@babel/highlight@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz" - integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== + "version" "7.18.6" dependencies: "@babel/helper-validator-identifier" "^7.18.6" - chalk "^2.0.0" - js-tokens "^4.0.0" + "chalk" "^2.0.0" + "js-tokens" "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.20.7.tgz" - integrity sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg== +"@babel/parser@^7.1.0", "@babel/parser@^7.13.16", "@babel/parser@^7.14.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.0", "@babel/parser@^7.20.7": + "version" "7.20.7" "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": - version "7.18.6" - 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.18.6.tgz" - integrity sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ== + "version" "7.18.6" dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.18.9": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7.tgz" - integrity sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ== + "version" "7.20.7" dependencies: "@babel/helper-plugin-utils" "^7.20.2" "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" "@babel/plugin-proposal-optional-chaining" "^7.20.7" -"@babel/plugin-proposal-async-generator-functions@^7.20.1": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz" - integrity sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA== +"@babel/plugin-proposal-async-generator-functions@^7.0.0", "@babel/plugin-proposal-async-generator-functions@^7.20.1": + "integrity" "sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz" + "version" "7.20.7" dependencies: "@babel/helper-environment-visitor" "^7.18.9" "@babel/helper-plugin-utils" "^7.20.2" "@babel/helper-remap-async-to-generator" "^7.18.9" "@babel/plugin-syntax-async-generators" "^7.8.4" -"@babel/plugin-proposal-class-properties@^7.16.0", "@babel/plugin-proposal-class-properties@^7.18.6": - 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== +"@babel/plugin-proposal-class-properties@^7.0.0", "@babel/plugin-proposal-class-properties@^7.13.0", "@babel/plugin-proposal-class-properties@^7.16.0", "@babel/plugin-proposal-class-properties@^7.18.6": + "integrity" "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz" + "version" "7.18.6" dependencies: "@babel/helper-create-class-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-proposal-class-static-block@^7.18.6": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.20.7.tgz" - integrity sha512-AveGOoi9DAjUYYuUAG//Ig69GlazLnoyzMw68VCDux+c1tsnnH/OkYcpz/5xzMkEFC6UxjR5Gw1c+iY2wOGVeQ== + "version" "7.20.7" dependencies: "@babel/helper-create-class-features-plugin" "^7.20.7" "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-syntax-class-static-block" "^7.14.5" "@babel/plugin-proposal-decorators@^7.16.4": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.20.7.tgz" - integrity sha512-JB45hbUweYpwAGjkiM7uCyXMENH2lG+9r3G2E+ttc2PRXAoEkpfd/KW5jDg4j8RS6tLtTG1jZi9LbHZVSfs1/A== + "version" "7.20.7" dependencies: "@babel/helper-create-class-features-plugin" "^7.20.7" "@babel/helper-plugin-utils" "^7.20.2" @@ -2358,57 +2339,57 @@ "@babel/plugin-syntax-decorators" "^7.19.0" "@babel/plugin-proposal-dynamic-import@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz" - integrity sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw== + "version" "7.18.6" dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-dynamic-import" "^7.8.3" +"@babel/plugin-proposal-export-default-from@^7.0.0": + "integrity" "sha512-UCe1X/hplyv6A5g2WnQ90tnHRvYL29dabCWww92lO7VdfMVTVReBTRrhiMrKQejHD9oVkdnRdwYuzUZkBVQisg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.22.5.tgz" + "version" "7.22.5" + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-export-default-from" "^7.22.5" + "@babel/plugin-proposal-export-namespace-from@^7.18.9": - version "7.18.9" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz" - integrity sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA== + "version" "7.18.9" dependencies: "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" "@babel/plugin-proposal-json-strings@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz" - integrity sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ== + "version" "7.18.6" dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-json-strings" "^7.8.3" "@babel/plugin-proposal-logical-assignment-operators@^7.18.9": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz" - integrity sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug== + "version" "7.20.7" dependencies: "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" -"@babel/plugin-proposal-nullish-coalescing-operator@^7.16.0", "@babel/plugin-proposal-nullish-coalescing-operator@^7.18.6": - 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== +"@babel/plugin-proposal-nullish-coalescing-operator@^7.0.0", "@babel/plugin-proposal-nullish-coalescing-operator@^7.13.8", "@babel/plugin-proposal-nullish-coalescing-operator@^7.16.0", "@babel/plugin-proposal-nullish-coalescing-operator@^7.18.6": + "integrity" "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz" + "version" "7.18.6" dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" "@babel/plugin-proposal-numeric-separator@^7.16.0", "@babel/plugin-proposal-numeric-separator@^7.18.6": - 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== + "integrity" "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz" + "version" "7.18.6" dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-numeric-separator" "^7.10.4" -"@babel/plugin-proposal-object-rest-spread@^7.20.2": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz" - integrity sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg== +"@babel/plugin-proposal-object-rest-spread@^7.0.0", "@babel/plugin-proposal-object-rest-spread@^7.20.2": + "integrity" "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz" + "version" "7.20.7" dependencies: "@babel/compat-data" "^7.20.5" "@babel/helper-compilation-targets" "^7.20.7" @@ -2416,35 +2397,31 @@ "@babel/plugin-syntax-object-rest-spread" "^7.8.3" "@babel/plugin-transform-parameters" "^7.20.7" -"@babel/plugin-proposal-optional-catch-binding@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz" - integrity sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw== +"@babel/plugin-proposal-optional-catch-binding@^7.0.0", "@babel/plugin-proposal-optional-catch-binding@^7.18.6": + "integrity" "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz" + "version" "7.18.6" dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" -"@babel/plugin-proposal-optional-chaining@^7.16.0", "@babel/plugin-proposal-optional-chaining@^7.18.9", "@babel/plugin-proposal-optional-chaining@^7.20.7": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.20.7.tgz" - integrity sha512-T+A7b1kfjtRM51ssoOfS1+wbyCVqorfyZhT99TvxxLMirPShD8CzKMRepMlCBGM5RpHMbn8s+5MMHnPstJH6mQ== +"@babel/plugin-proposal-optional-chaining@^7.0.0", "@babel/plugin-proposal-optional-chaining@^7.13.12", "@babel/plugin-proposal-optional-chaining@^7.16.0", "@babel/plugin-proposal-optional-chaining@^7.18.9", "@babel/plugin-proposal-optional-chaining@^7.20.7": + "version" "7.20.7" dependencies: "@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@^7.16.0", "@babel/plugin-proposal-private-methods@^7.18.6": - 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== + "integrity" "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz" + "version" "7.18.6" dependencies: "@babel/helper-create-class-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-proposal-private-property-in-object@^7.18.6": - version "7.20.5" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.20.5.tgz" - integrity sha512-Vq7b9dUA12ByzB4EjQTPo25sFhY+08pQDBSZRtUAkj7lb7jahaHR5igera16QZ+3my1nYR4dKsNdYj5IjPHilQ== + "version" "7.20.5" dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" "@babel/helper-create-class-features-plugin" "^7.20.5" @@ -2452,201 +2429,188 @@ "@babel/plugin-syntax-private-property-in-object" "^7.14.5" "@babel/plugin-proposal-unicode-property-regex@^7.18.6", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz" - integrity sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w== + "integrity" "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz" + "version" "7.18.6" dependencies: "@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-async-generators@^7.8.4": - 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== + "integrity" "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz" + "version" "7.8.4" dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-bigint@^7.8.3": - 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== + "integrity" "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz" + "version" "7.8.3" dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-class-properties@^7.12.13", "@babel/plugin-syntax-class-properties@^7.8.3": - 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== +"@babel/plugin-syntax-class-properties@^7.0.0", "@babel/plugin-syntax-class-properties@^7.12.13", "@babel/plugin-syntax-class-properties@^7.8.3": + "integrity" "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz" + "version" "7.12.13" dependencies: "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-syntax-class-static-block@^7.14.5": - 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== + "integrity" "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz" + "version" "7.14.5" dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-decorators@^7.19.0": - version "7.19.0" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.19.0.tgz" - integrity sha512-xaBZUEDntt4faL1yN8oIFlhfXeQAWJW7CLKYsHTUqriCUbj8xOra8bfxxKGi/UwExPFBuPdH4XfHc9rGQhrVkQ== + "version" "7.19.0" dependencies: "@babel/helper-plugin-utils" "^7.19.0" -"@babel/plugin-syntax-dynamic-import@^7.8.3": - 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== +"@babel/plugin-syntax-dynamic-import@^7.0.0", "@babel/plugin-syntax-dynamic-import@^7.8.3": + "integrity" "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz" + "version" "7.8.3" dependencies: "@babel/helper-plugin-utils" "^7.8.0" +"@babel/plugin-syntax-export-default-from@^7.0.0", "@babel/plugin-syntax-export-default-from@^7.22.5": + "integrity" "sha512-ODAqWWXB/yReh/jVQDag/3/tl6lgBueQkk/TcfW/59Oykm4c8a55XloX0CTk2k2VJiFWMgHby9xNX29IbCv9dQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.22.5.tgz" + "version" "7.22.5" + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-export-namespace-from@^7.8.3": - 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== + "integrity" "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz" + "version" "7.8.3" dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-syntax-flow@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.18.6.tgz" - integrity sha512-LUbR+KNTBWCUAqRG9ex5Gnzu2IOkt8jRJbHHXFT9q+L9zm7M/QQbEqXyw1n1pohYvOyWC8CjeyjrSaIwiYjK7A== +"@babel/plugin-syntax-flow@^7.0.0", "@babel/plugin-syntax-flow@^7.14.5", "@babel/plugin-syntax-flow@^7.18.0", "@babel/plugin-syntax-flow@^7.22.5": + "integrity" "sha512-9RdCl0i+q0QExayk2nOS7853w08yLucnnPML6EN9S8fgMPVtdLDCdx/cOQ/i44Lb9UeQX9A35yaqBBOMMZxPxQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.22.5.tgz" + "version" "7.22.5" dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-import-assertions@^7.20.0": - version "7.20.0" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz" - integrity sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ== + "version" "7.20.0" dependencies: "@babel/helper-plugin-utils" "^7.19.0" "@babel/plugin-syntax-import-meta@^7.8.3": - 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== + "integrity" "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz" + "version" "7.10.4" dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-json-strings@^7.8.3": - 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== + "integrity" "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz" + "version" "7.8.3" dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-jsx@^7.12.13": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.7.tgz" - integrity sha512-Esxmk7YjA8QysKeT3VhTXvF6y77f/a91SIs4pWb4H2eWGQkCKFgQaG6hdoEVZtGsrAcb2K5BW66XsOErD4WU3Q== +"@babel/plugin-syntax-jsx@^7.0.0": + "version" "7.16.7" dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-jsx@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz" - integrity sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q== + "version" "7.18.6" dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-logical-assignment-operators@^7.10.4", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": - 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== + "integrity" "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz" + "version" "7.10.4" dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - 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== +"@babel/plugin-syntax-nullish-coalescing-operator@^7.0.0", "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": + "integrity" "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz" + "version" "7.8.3" dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-numeric-separator@^7.10.4", "@babel/plugin-syntax-numeric-separator@^7.8.3": - 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== + "integrity" "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz" + "version" "7.10.4" dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-syntax-object-rest-spread@^7.8.3": - 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== +"@babel/plugin-syntax-object-rest-spread@^7.0.0", "@babel/plugin-syntax-object-rest-spread@^7.8.3": + "integrity" "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz" + "version" "7.8.3" dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-optional-catch-binding@^7.8.3": - 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== + "integrity" "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz" + "version" "7.8.3" dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-optional-chaining@^7.8.3": - 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== +"@babel/plugin-syntax-optional-chaining@^7.0.0", "@babel/plugin-syntax-optional-chaining@^7.8.3": + "integrity" "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz" + "version" "7.8.3" dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-private-property-in-object@^7.14.5": - 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== + "integrity" "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz" + "version" "7.14.5" dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-top-level-await@^7.14.5", "@babel/plugin-syntax-top-level-await@^7.8.3": - 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== + "integrity" "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz" + "version" "7.14.5" dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-typescript@^7.20.0", "@babel/plugin-syntax-typescript@^7.7.2": - version "7.20.0" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz" - integrity sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ== + "version" "7.20.0" dependencies: "@babel/helper-plugin-utils" "^7.19.0" -"@babel/plugin-transform-arrow-functions@^7.18.6": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.20.7.tgz" - integrity sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ== +"@babel/plugin-transform-arrow-functions@^7.0.0", "@babel/plugin-transform-arrow-functions@^7.18.6": + "version" "7.20.7" dependencies: "@babel/helper-plugin-utils" "^7.20.2" -"@babel/plugin-transform-async-to-generator@^7.18.6": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz" - integrity sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q== +"@babel/plugin-transform-async-to-generator@^7.0.0", "@babel/plugin-transform-async-to-generator@^7.18.6": + "version" "7.20.7" dependencies: "@babel/helper-module-imports" "^7.18.6" "@babel/helper-plugin-utils" "^7.20.2" "@babel/helper-remap-async-to-generator" "^7.18.9" -"@babel/plugin-transform-block-scoped-functions@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz" - integrity sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ== +"@babel/plugin-transform-block-scoped-functions@^7.0.0", "@babel/plugin-transform-block-scoped-functions@^7.18.6": + "version" "7.18.6" dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-block-scoping@^7.20.2": - version "7.20.11" - resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.11.tgz" - integrity sha512-tA4N427a7fjf1P0/2I4ScsHGc5jcHPbb30xMbaTke2gxDuWpUfXDuX1FEymJwKk4tuGUvGcejAR6HdZVqmmPyw== +"@babel/plugin-transform-block-scoping@^7.0.0", "@babel/plugin-transform-block-scoping@^7.20.2": + "version" "7.20.11" dependencies: "@babel/helper-plugin-utils" "^7.20.2" -"@babel/plugin-transform-classes@^7.20.2": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.7.tgz" - integrity sha512-LWYbsiXTPKl+oBlXUGlwNlJZetXD5Am+CyBdqhPsDVjM9Jc8jwBJFrKhHf900Kfk2eZG1y9MAG3UNajol7A4VQ== +"@babel/plugin-transform-classes@^7.0.0", "@babel/plugin-transform-classes@^7.20.2": + "version" "7.20.7" dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" "@babel/helper-compilation-targets" "^7.20.7" @@ -2656,105 +2620,81 @@ "@babel/helper-plugin-utils" "^7.20.2" "@babel/helper-replace-supers" "^7.20.7" "@babel/helper-split-export-declaration" "^7.18.6" - globals "^11.1.0" + "globals" "^11.1.0" -"@babel/plugin-transform-computed-properties@^7.18.9": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.20.7.tgz" - integrity sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ== +"@babel/plugin-transform-computed-properties@^7.0.0", "@babel/plugin-transform-computed-properties@^7.18.9": + "version" "7.20.7" dependencies: "@babel/helper-plugin-utils" "^7.20.2" "@babel/template" "^7.20.7" -"@babel/plugin-transform-destructuring@^7.20.2": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.7.tgz" - integrity sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA== +"@babel/plugin-transform-destructuring@^7.0.0", "@babel/plugin-transform-destructuring@^7.20.2": + "version" "7.20.7" dependencies: "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-transform-dotall-regex@^7.18.6", "@babel/plugin-transform-dotall-regex@^7.4.4": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz" - integrity sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg== + "version" "7.18.6" dependencies: "@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-duplicate-keys@^7.18.9": - version "7.18.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz" - integrity sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw== + "version" "7.18.9" dependencies: "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-transform-exponentiation-operator@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz" - integrity sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw== + "version" "7.18.6" dependencies: "@babel/helper-builder-binary-assignment-operator-visitor" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-flow-strip-types@^7.16.0": - version "7.19.0" - resolved "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.19.0.tgz" - integrity sha512-sgeMlNaQVbCSpgLSKP4ZZKfsJVnFnNQlUSk6gPYzR/q7tzCgQF2t8RBKAP6cKJeZdveei7Q7Jm527xepI8lNLg== +"@babel/plugin-transform-flow-strip-types@^7.0.0", "@babel/plugin-transform-flow-strip-types@^7.16.0", "@babel/plugin-transform-flow-strip-types@^7.22.5": + "integrity" "sha512-tujNbZdxdG0/54g/oua8ISToaXTFBf8EnSb5PgQSciIXWOWKX3S4+JR7ZE9ol8FZwf9kxitzkGQ+QWeov/mCiA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.22.5.tgz" + "version" "7.22.5" dependencies: - "@babel/helper-plugin-utils" "^7.19.0" - "@babel/plugin-syntax-flow" "^7.18.6" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-flow" "^7.22.5" -"@babel/plugin-transform-for-of@^7.18.8": - version "7.18.8" - resolved "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz" - integrity sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ== +"@babel/plugin-transform-for-of@^7.0.0", "@babel/plugin-transform-for-of@^7.18.8": + "version" "7.18.8" dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-function-name@^7.18.9": - version "7.18.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz" - integrity sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ== +"@babel/plugin-transform-function-name@^7.0.0", "@babel/plugin-transform-function-name@^7.18.9": + "version" "7.18.9" dependencies: "@babel/helper-compilation-targets" "^7.18.9" "@babel/helper-function-name" "^7.18.9" "@babel/helper-plugin-utils" "^7.18.9" -"@babel/plugin-transform-literals@^7.18.9": - version "7.18.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz" - integrity sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg== +"@babel/plugin-transform-literals@^7.0.0", "@babel/plugin-transform-literals@^7.18.9": + "version" "7.18.9" dependencies: "@babel/helper-plugin-utils" "^7.18.9" -"@babel/plugin-transform-member-expression-literals@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz" - integrity sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA== +"@babel/plugin-transform-member-expression-literals@^7.0.0", "@babel/plugin-transform-member-expression-literals@^7.18.6": + "version" "7.18.6" dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-modules-amd@^7.19.6": - version "7.20.11" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz" - integrity sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g== + "version" "7.20.11" dependencies: "@babel/helper-module-transforms" "^7.20.11" "@babel/helper-plugin-utils" "^7.20.2" -"@babel/plugin-transform-modules-commonjs@^7.19.6": - version "7.20.11" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.20.11.tgz" - integrity sha512-S8e1f7WQ7cimJQ51JkAaDrEtohVEitXjgCGAS2N8S31Y42E+kWwfSz83LYz57QdBm7q9diARVqanIaH2oVgQnw== +"@babel/plugin-transform-modules-commonjs@^7.0.0", "@babel/plugin-transform-modules-commonjs@^7.13.8", "@babel/plugin-transform-modules-commonjs@^7.19.6": + "version" "7.20.11" dependencies: "@babel/helper-module-transforms" "^7.20.11" "@babel/helper-plugin-utils" "^7.20.2" "@babel/helper-simple-access" "^7.20.2" "@babel/plugin-transform-modules-systemjs@^7.19.6": - version "7.20.11" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz" - integrity sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw== + "version" "7.20.11" dependencies: "@babel/helper-hoist-variables" "^7.18.6" "@babel/helper-module-transforms" "^7.20.11" @@ -2762,75 +2702,69 @@ "@babel/helper-validator-identifier" "^7.19.1" "@babel/plugin-transform-modules-umd@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz" - integrity sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ== + "version" "7.18.6" dependencies: "@babel/helper-module-transforms" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-named-capturing-groups-regex@^7.19.1": - version "7.20.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz" - integrity sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA== +"@babel/plugin-transform-named-capturing-groups-regex@^7.0.0", "@babel/plugin-transform-named-capturing-groups-regex@^7.19.1": + "version" "7.20.5" dependencies: "@babel/helper-create-regexp-features-plugin" "^7.20.5" "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-transform-new-target@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz" - integrity sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw== + "version" "7.18.6" dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-object-super@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz" - integrity sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA== +"@babel/plugin-transform-object-super@^7.0.0", "@babel/plugin-transform-object-super@^7.18.6": + "version" "7.18.6" dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/helper-replace-supers" "^7.18.6" -"@babel/plugin-transform-parameters@^7.20.1", "@babel/plugin-transform-parameters@^7.20.7": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.7.tgz" - integrity sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA== +"@babel/plugin-transform-parameters@^7.0.0", "@babel/plugin-transform-parameters@^7.20.1", "@babel/plugin-transform-parameters@^7.20.7": + "version" "7.20.7" dependencies: "@babel/helper-plugin-utils" "^7.20.2" -"@babel/plugin-transform-property-literals@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz" - integrity sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg== +"@babel/plugin-transform-property-literals@^7.0.0", "@babel/plugin-transform-property-literals@^7.18.6": + "version" "7.18.6" dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-react-constant-elements@^7.12.1": - version "7.20.2" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.20.2.tgz" - integrity sha512-KS/G8YI8uwMGKErLFOHS/ekhqdHhpEloxs43NecQHVgo2QuQSyJhGIY1fL8UGl9wy5ItVwwoUL4YxVqsplGq2g== + "version" "7.20.2" dependencies: "@babel/helper-plugin-utils" "^7.20.2" -"@babel/plugin-transform-react-display-name@^7.16.0", "@babel/plugin-transform-react-display-name@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.18.6.tgz" - integrity sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA== +"@babel/plugin-transform-react-display-name@^7.0.0", "@babel/plugin-transform-react-display-name@^7.16.0", "@babel/plugin-transform-react-display-name@^7.18.6": + "version" "7.18.6" dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-react-jsx-development@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz" - integrity sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA== + "version" "7.18.6" dependencies: "@babel/plugin-transform-react-jsx" "^7.18.6" -"@babel/plugin-transform-react-jsx@^7.18.6": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.20.7.tgz" - integrity sha512-Tfq7qqD+tRj3EoDhY00nn2uP2hsRxgYGi5mLQ5TimKav0a9Lrpd4deE+fcLXU8zFYRjlKPHZhpCvfEA6qnBxqQ== +"@babel/plugin-transform-react-jsx-self@^7.0.0": + "integrity" "sha512-nTh2ogNUtxbiSbxaT4Ds6aXnXEipHweN9YRgOX/oNXdf0cCrGn/+2LozFa3lnPV5D90MkjhgckCPBrsoSc1a7g==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.22.5.tgz" + "version" "7.22.5" + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-react-jsx-source@^7.0.0": + "integrity" "sha512-yIiRO6yobeEIaI0RTbIr8iAK9FcBHLtZq0S89ZPjDLQXBA4xvghaKqI0etp/tF3htTM0sazJKKLz9oEiGRtu7w==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.22.5.tgz" + "version" "7.22.5" + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-react-jsx@^7.0.0", "@babel/plugin-transform-react-jsx@^7.14.9", "@babel/plugin-transform-react-jsx@^7.18.6": + "version" "7.20.7" dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" "@babel/helper-module-imports" "^7.18.6" @@ -2839,104 +2773,78 @@ "@babel/types" "^7.20.7" "@babel/plugin-transform-react-pure-annotations@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.18.6.tgz" - integrity sha512-I8VfEPg9r2TRDdvnHgPepTKvuRomzA8+u+nhY7qSI1fR2hRNebasZEETLyM5mAUr0Ku56OkXJ0I7NHJnO6cJiQ== + "version" "7.18.6" dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-regenerator@^7.18.6": - version "7.20.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz" - integrity sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ== + "version" "7.20.5" dependencies: "@babel/helper-plugin-utils" "^7.20.2" - regenerator-transform "^0.15.1" + "regenerator-transform" "^0.15.1" "@babel/plugin-transform-reserved-words@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz" - integrity sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA== + "version" "7.18.6" dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-runtime@^7.16.4": - version "7.19.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.19.6.tgz" - integrity sha512-PRH37lz4JU156lYFW1p8OxE5i7d6Sl/zV58ooyr+q1J1lnQPyg5tIiXlIwNVhJaY4W3TmOtdc8jqdXQcB1v5Yw== +"@babel/plugin-transform-runtime@^7.0.0", "@babel/plugin-transform-runtime@^7.16.4": + "version" "7.19.6" dependencies: "@babel/helper-module-imports" "^7.18.6" "@babel/helper-plugin-utils" "^7.19.0" - babel-plugin-polyfill-corejs2 "^0.3.3" - babel-plugin-polyfill-corejs3 "^0.6.0" - babel-plugin-polyfill-regenerator "^0.4.1" - semver "^6.3.0" + "babel-plugin-polyfill-corejs2" "^0.3.3" + "babel-plugin-polyfill-corejs3" "^0.6.0" + "babel-plugin-polyfill-regenerator" "^0.4.1" + "semver" "^6.3.0" -"@babel/plugin-transform-shorthand-properties@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz" - integrity sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw== +"@babel/plugin-transform-shorthand-properties@^7.0.0", "@babel/plugin-transform-shorthand-properties@^7.18.6": + "version" "7.18.6" dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-spread@^7.19.0": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz" - integrity sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw== +"@babel/plugin-transform-spread@^7.0.0", "@babel/plugin-transform-spread@^7.19.0": + "version" "7.20.7" dependencies: "@babel/helper-plugin-utils" "^7.20.2" "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" -"@babel/plugin-transform-sticky-regex@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz" - integrity sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q== +"@babel/plugin-transform-sticky-regex@^7.0.0", "@babel/plugin-transform-sticky-regex@^7.18.6": + "version" "7.18.6" dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-template-literals@^7.18.9": - version "7.18.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz" - integrity sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA== +"@babel/plugin-transform-template-literals@^7.0.0", "@babel/plugin-transform-template-literals@^7.18.9": + "version" "7.18.9" dependencies: "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-transform-typeof-symbol@^7.18.9": - version "7.18.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz" - integrity sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw== + "version" "7.18.9" dependencies: "@babel/helper-plugin-utils" "^7.18.9" -"@babel/plugin-transform-typescript@^7.18.6": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.20.7.tgz" - integrity sha512-m3wVKEvf6SoszD8pu4NZz3PvfKRCMgk6D6d0Qi9hNnlM5M6CFS92EgF4EiHVLKbU0r/r7ty1hg7NPZwE7WRbYw== +"@babel/plugin-transform-typescript@^7.18.6", "@babel/plugin-transform-typescript@^7.5.0": + "version" "7.20.7" dependencies: "@babel/helper-create-class-features-plugin" "^7.20.7" "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-syntax-typescript" "^7.20.0" "@babel/plugin-transform-unicode-escapes@^7.18.10": - version "7.18.10" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz" - integrity sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ== + "version" "7.18.10" dependencies: "@babel/helper-plugin-utils" "^7.18.9" -"@babel/plugin-transform-unicode-regex@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz" - integrity sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA== +"@babel/plugin-transform-unicode-regex@^7.0.0", "@babel/plugin-transform-unicode-regex@^7.18.6": + "version" "7.18.6" dependencies: "@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/preset-env@^7.11.0", "@babel/preset-env@^7.12.1", "@babel/preset-env@^7.16.4": - version "7.20.2" - resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.20.2.tgz" - integrity sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg== +"@babel/preset-env@^7.1.6", "@babel/preset-env@^7.11.0", "@babel/preset-env@^7.12.1", "@babel/preset-env@^7.16.4": + "version" "7.20.2" dependencies: "@babel/compat-data" "^7.20.1" "@babel/helper-compilation-targets" "^7.20.0" @@ -3008,27 +2916,34 @@ "@babel/plugin-transform-unicode-regex" "^7.18.6" "@babel/preset-modules" "^0.1.5" "@babel/types" "^7.20.2" - babel-plugin-polyfill-corejs2 "^0.3.3" - babel-plugin-polyfill-corejs3 "^0.6.0" - babel-plugin-polyfill-regenerator "^0.4.1" - core-js-compat "^3.25.1" - semver "^6.3.0" + "babel-plugin-polyfill-corejs2" "^0.3.3" + "babel-plugin-polyfill-corejs3" "^0.6.0" + "babel-plugin-polyfill-regenerator" "^0.4.1" + "core-js-compat" "^3.25.1" + "semver" "^6.3.0" + +"@babel/preset-flow@^7.13.13": + "integrity" "sha512-ta2qZ+LSiGCrP5pgcGt8xMnnkXQrq8Sa4Ulhy06BOlF5QbLw9q5hIx7bn5MrsvyTGAfh6kTOo07Q+Pfld/8Y5Q==" + "resolved" "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.22.5.tgz" + "version" "7.22.5" + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-validator-option" "^7.22.5" + "@babel/plugin-transform-flow-strip-types" "^7.22.5" "@babel/preset-modules@^0.1.5": - version "0.1.5" - resolved "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz" - integrity sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA== + "integrity" "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==" + "resolved" "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz" + "version" "0.1.5" dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" "@babel/plugin-transform-dotall-regex" "^7.4.4" "@babel/types" "^7.4.4" - esutils "^2.0.2" + "esutils" "^2.0.2" "@babel/preset-react@^7.12.5", "@babel/preset-react@^7.16.0": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.18.6.tgz" - integrity sha512-zXr6atUmyYdiWRVLOZahakYmOBHtWc2WGCkP8PYTgZi0iJXDY2CN180TdrIW4OGOAdLc7TifzDIvtx6izaRIzg== + "version" "7.18.6" dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/helper-validator-option" "^7.18.6" @@ -3037,50 +2952,46 @@ "@babel/plugin-transform-react-jsx-development" "^7.18.6" "@babel/plugin-transform-react-pure-annotations" "^7.18.6" -"@babel/preset-typescript@^7.16.0": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.18.6.tgz" - integrity sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ== +"@babel/preset-typescript@^7.13.0", "@babel/preset-typescript@^7.16.0": + "version" "7.18.6" dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/helper-validator-option" "^7.18.6" "@babel/plugin-transform-typescript" "^7.18.6" -"@babel/runtime-corejs3@^7.10.2": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.20.7.tgz" - integrity sha512-jr9lCZ4RbRQmCR28Q8U8Fu49zvFqLxTY9AMOUz+iyMohMoAgpEcVxY+wJNay99oXOpOcCTODkk70NDN2aaJEeg== +"@babel/register@^7.13.16": + "integrity" "sha512-vV6pm/4CijSQ8Y47RH5SopXzursN35RQINfGJkmOlcpAtGuf94miFvIPhCKGQN7WGIcsgG1BHEX2KVdTYwTwUQ==" + "resolved" "https://registry.npmjs.org/@babel/register/-/register-7.22.5.tgz" + "version" "7.22.5" dependencies: - core-js-pure "^3.25.1" - regenerator-runtime "^0.13.11" + "clone-deep" "^4.0.1" + "find-cache-dir" "^2.0.0" + "make-dir" "^2.1.0" + "pirates" "^4.0.5" + "source-map-support" "^0.5.16" -"@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.16.3", "@babel/runtime@^7.18.9", "@babel/runtime@^7.8.4": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.7.tgz" - integrity sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ== +"@babel/runtime-corejs3@^7.10.2": + "version" "7.20.7" dependencies: - regenerator-runtime "^0.13.11" + "core-js-pure" "^3.25.1" + "regenerator-runtime" "^0.13.11" -"@babel/runtime@^7.13.10", "@babel/runtime@^7.15.4", "@babel/runtime@^7.17.2", "@babel/runtime@^7.3.1", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.3", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": - version "7.17.8" - resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.8.tgz" - integrity sha512-dQpEpK0O9o6lj6oPu0gRDbbnk+4LeHlNcBpspf6Olzt3GIX4P1lWF1gS+pHLDFlaJvbR6q7jCfQ08zA4QJBnmA== +"@babel/runtime@^7.0.0", "@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.15.4", "@babel/runtime@^7.16.3", "@babel/runtime@^7.17.2", "@babel/runtime@^7.18.3", "@babel/runtime@^7.18.9", "@babel/runtime@^7.21.0", "@babel/runtime@^7.3.1", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.3", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": + "integrity" "sha512-ecjvYlnAaZ/KVneE/OdKYBYfgXV3Ptu6zQWmgEF7vwKhQnvVS6bjMD2XYgj+SNvQ1GfK/pjgokfPkC/2CO8CuA==" + "resolved" "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.5.tgz" + "version" "7.22.5" dependencies: - regenerator-runtime "^0.13.4" + "regenerator-runtime" "^0.13.11" -"@babel/template@^7.18.10", "@babel/template@^7.20.7", "@babel/template@^7.3.3": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz" - integrity sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw== +"@babel/template@^7.0.0", "@babel/template@^7.18.10", "@babel/template@^7.20.7", "@babel/template@^7.3.3": + "version" "7.20.7" dependencies: "@babel/code-frame" "^7.18.6" "@babel/parser" "^7.20.7" "@babel/types" "^7.20.7" -"@babel/traverse@^7.20.10", "@babel/traverse@^7.20.12", "@babel/traverse@^7.20.5", "@babel/traverse@^7.20.7", "@babel/traverse@^7.7.2": - version "7.20.12" - resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.12.tgz" - integrity sha512-MsIbFN0u+raeja38qboyF8TIT7K0BFzz/Yd/77ta4MsUsmP2RAnidIlwq7d5HFQrH/OZJecGV6B71C4zAgpoSQ== +"@babel/traverse@^7.20.0", "@babel/traverse@^7.20.10", "@babel/traverse@^7.20.12", "@babel/traverse@^7.20.5", "@babel/traverse@^7.20.7", "@babel/traverse@^7.7.2": + "version" "7.20.12" dependencies: "@babel/code-frame" "^7.18.6" "@babel/generator" "^7.20.7" @@ -3090,210 +3001,205 @@ "@babel/helper-split-export-declaration" "^7.18.6" "@babel/parser" "^7.20.7" "@babel/types" "^7.20.7" - debug "^4.1.0" - globals "^11.1.0" + "debug" "^4.1.0" + "globals" "^11.1.0" "@babel/types@^7.0.0", "@babel/types@^7.12.6", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.20.0", "@babel/types@^7.20.2", "@babel/types@^7.20.5", "@babel/types@^7.20.7", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/types/-/types-7.20.7.tgz" - integrity sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg== + "version" "7.20.7" dependencies: "@babel/helper-string-parser" "^7.19.4" "@babel/helper-validator-identifier" "^7.19.1" - to-fast-properties "^2.0.0" + "to-fast-properties" "^2.0.0" "@bcoe/v8-coverage@^0.2.3": - version "0.2.3" - resolved "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz" - integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== + "integrity" "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" + "resolved" "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz" + "version" "0.2.3" "@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== + "integrity" "sha512-M0qqxAcwCsIVfpFQSlGN5XjXWu8l5JDZN+fPt1LeW5SZexQTgnaEvgXAY+CeygRw0EeppWHi12JxESWiWrB0Sg==" + "resolved" "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-12.0.0.tgz" + "version" "12.0.0" "@csstools/postcss-cascade-layers@^1.1.1": - 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== + "integrity" "sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==" + "resolved" "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz" + "version" "1.1.1" dependencies: "@csstools/selector-specificity" "^2.0.2" - postcss-selector-parser "^6.0.10" + "postcss-selector-parser" "^6.0.10" "@csstools/postcss-color-function@^1.1.1": - version "1.1.1" - resolved "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz" - integrity sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw== + "integrity" "sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==" + "resolved" "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz" + "version" "1.1.1" dependencies: "@csstools/postcss-progressive-custom-properties" "^1.1.0" - postcss-value-parser "^4.2.0" + "postcss-value-parser" "^4.2.0" "@csstools/postcss-font-format-keywords@^1.0.1": - 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== + "integrity" "sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==" + "resolved" "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz" + "version" "1.0.1" dependencies: - postcss-value-parser "^4.2.0" + "postcss-value-parser" "^4.2.0" "@csstools/postcss-hwb-function@^1.0.2": - 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== + "integrity" "sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==" + "resolved" "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz" + "version" "1.0.2" dependencies: - postcss-value-parser "^4.2.0" + "postcss-value-parser" "^4.2.0" "@csstools/postcss-ic-unit@^1.0.1": - 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== + "integrity" "sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==" + "resolved" "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz" + "version" "1.0.1" dependencies: "@csstools/postcss-progressive-custom-properties" "^1.1.0" - postcss-value-parser "^4.2.0" + "postcss-value-parser" "^4.2.0" "@csstools/postcss-is-pseudo-class@^2.0.7": - 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== + "integrity" "sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==" + "resolved" "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz" + "version" "2.0.7" dependencies: "@csstools/selector-specificity" "^2.0.0" - postcss-selector-parser "^6.0.10" + "postcss-selector-parser" "^6.0.10" "@csstools/postcss-nested-calc@^1.0.0": - 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== + "integrity" "sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ==" + "resolved" "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz" + "version" "1.0.0" dependencies: - postcss-value-parser "^4.2.0" + "postcss-value-parser" "^4.2.0" "@csstools/postcss-normalize-display-values@^1.0.1": - 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== + "integrity" "sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==" + "resolved" "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz" + "version" "1.0.1" dependencies: - postcss-value-parser "^4.2.0" + "postcss-value-parser" "^4.2.0" "@csstools/postcss-oklab-function@^1.1.1": - 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== + "integrity" "sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==" + "resolved" "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz" + "version" "1.1.1" dependencies: "@csstools/postcss-progressive-custom-properties" "^1.1.0" - postcss-value-parser "^4.2.0" + "postcss-value-parser" "^4.2.0" "@csstools/postcss-progressive-custom-properties@^1.1.0", "@csstools/postcss-progressive-custom-properties@^1.3.0": - 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== + "integrity" "sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==" + "resolved" "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz" + "version" "1.3.0" dependencies: - postcss-value-parser "^4.2.0" + "postcss-value-parser" "^4.2.0" "@csstools/postcss-stepped-value-functions@^1.0.1": - 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== + "integrity" "sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==" + "resolved" "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz" + "version" "1.0.1" dependencies: - postcss-value-parser "^4.2.0" + "postcss-value-parser" "^4.2.0" "@csstools/postcss-text-decoration-shorthand@^1.0.0": - 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== + "integrity" "sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw==" + "resolved" "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz" + "version" "1.0.0" dependencies: - postcss-value-parser "^4.2.0" + "postcss-value-parser" "^4.2.0" "@csstools/postcss-trigonometric-functions@^1.0.2": - 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== + "integrity" "sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==" + "resolved" "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz" + "version" "1.0.2" dependencies: - postcss-value-parser "^4.2.0" + "postcss-value-parser" "^4.2.0" "@csstools/postcss-unset-value@^1.0.2": - 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== + "integrity" "sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==" + "resolved" "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz" + "version" "1.0.2" "@csstools/selector-specificity@^2.0.0", "@csstools/selector-specificity@^2.0.2": - version "2.0.2" - resolved "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz" - integrity sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg== - -"@date-io/core@^2.13.1": - version "2.13.1" - resolved "https://registry.npmjs.org/@date-io/core/-/core-2.13.1.tgz" - integrity sha512-pVI9nfkf2qClb2Cxdq0Q4zJhdawMG4ybWZUVGifT78FDwzRMX2SwXBb55s5NRJk0HcIicDuxktmCtemZqMH1Zg== - -"@date-io/date-fns@^2.13.1": - version "2.13.1" - resolved "https://registry.npmjs.org/@date-io/date-fns/-/date-fns-2.13.1.tgz" - integrity sha512-8fmfwjiLMpFLD+t4NBwDx0eblWnNcgt4NgfT/uiiQTGI81fnPu9tpBMYdAcuWxaV7LLpXgzLBx1SYWAMDVUDQQ== - dependencies: - "@date-io/core" "^2.13.1" - -"@date-io/dayjs@^2.13.1": - version "2.13.1" - resolved "https://registry.npmjs.org/@date-io/dayjs/-/dayjs-2.13.1.tgz" - integrity sha512-5bL4WWWmlI4uGZVScANhHJV7Mjp93ec2gNeUHDqqLaMZhp51S0NgD25oqj/k0LqBn1cdU2MvzNpk/ObMmVv5cQ== - dependencies: - "@date-io/core" "^2.13.1" - -"@date-io/luxon@^2.13.1": - version "2.13.1" - resolved "https://registry.npmjs.org/@date-io/luxon/-/luxon-2.13.1.tgz" - integrity sha512-yG+uM7lXfwLyKKEwjvP8oZ7qblpmfl9gxQYae55ifbwiTs0CoCTkYkxEaQHGkYtTqGTzLqcb0O9Pzx6vgWg+yg== - dependencies: - "@date-io/core" "^2.13.1" - -"@date-io/moment@^2.13.1": - version "2.13.1" - resolved "https://registry.npmjs.org/@date-io/moment/-/moment-2.13.1.tgz" - integrity sha512-XX1X/Tlvl3TdqQy2j0ZUtEJV6Rl8tOyc5WOS3ki52He28Uzme4Ro/JuPWTMBDH63weSWIZDlbR7zBgp3ZA2y1A== - dependencies: - "@date-io/core" "^2.13.1" - -"@emotion/babel-plugin@^11.7.1": - version "11.7.2" - resolved "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.7.2.tgz" - integrity sha512-6mGSCWi9UzXut/ZAN6lGFu33wGR3SJisNl3c0tvlmb8XChH1b2SUvxvnOh7hvLpqyRdHHU9AiazV3Cwbk5SXKQ== - dependencies: - "@babel/helper-module-imports" "^7.12.13" - "@babel/plugin-syntax-jsx" "^7.12.13" - "@babel/runtime" "^7.13.10" - "@emotion/hash" "^0.8.0" - "@emotion/memoize" "^0.7.5" - "@emotion/serialize" "^1.0.2" - babel-plugin-macros "^2.6.1" - convert-source-map "^1.5.0" - escape-string-regexp "^4.0.0" - find-root "^1.1.0" - source-map "^0.5.7" - stylis "4.0.13" + "version" "2.0.2" + +"@date-io/core@^2.15.0", "@date-io/core@^2.16.0": + "integrity" "sha512-DYmSzkr+jToahwWrsiRA2/pzMEtz9Bq1euJwoOuYwuwIYXnZFtHajY2E6a1VNVDc9jP8YUXK1BvnZH9mmT19Zg==" + "resolved" "https://registry.npmjs.org/@date-io/core/-/core-2.16.0.tgz" + "version" "2.16.0" + +"@date-io/date-fns@^2.13.1", "@date-io/date-fns@^2.15.0": + "integrity" "sha512-bfm5FJjucqlrnQcXDVU5RD+nlGmL3iWgkHTq3uAZWVIuBu6dDmGa3m8a6zo2VQQpu8ambq9H22UyUpn7590joA==" + "resolved" "https://registry.npmjs.org/@date-io/date-fns/-/date-fns-2.16.0.tgz" + "version" "2.16.0" + dependencies: + "@date-io/core" "^2.16.0" + +"@date-io/dayjs@^2.13.1", "@date-io/dayjs@^2.15.0": + "integrity" "sha512-y5qKyX2j/HG3zMvIxTobYZRGnd1FUW2olZLS0vTj7bEkBQkjd2RO7/FEwDY03Z1geVGlXKnzIATEVBVaGzV4Iw==" + "resolved" "https://registry.npmjs.org/@date-io/dayjs/-/dayjs-2.16.0.tgz" + "version" "2.16.0" + dependencies: + "@date-io/core" "^2.16.0" + +"@date-io/luxon@^2.13.1", "@date-io/luxon@^2.15.0": + "integrity" "sha512-aeYp5K9PSHV28946pC+9UKUi/xMMYoaGelrpDibZSgHu2VWHXrr7zWLEr+pMPThSs5vt8Ei365PO+84pCm37WQ==" + "resolved" "https://registry.npmjs.org/@date-io/luxon/-/luxon-2.16.1.tgz" + "version" "2.16.1" + dependencies: + "@date-io/core" "^2.16.0" + +"@date-io/moment@^2.13.1", "@date-io/moment@^2.15.0": + "integrity" "sha512-JkxldQxUqZBfZtsaCcCMkm/dmytdyq5pS1RxshCQ4fHhsvP5A7gSqPD22QbVXMcJydi3d3v1Y8BQdUKEuGACZQ==" + "resolved" "https://registry.npmjs.org/@date-io/moment/-/moment-2.16.1.tgz" + "version" "2.16.1" + dependencies: + "@date-io/core" "^2.16.0" + +"@emotion/babel-plugin@^11.11.0", "@emotion/babel-plugin@^11.7.1": + "integrity" "sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==" + "resolved" "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz" + "version" "11.11.0" + dependencies: + "@babel/helper-module-imports" "^7.16.7" + "@babel/runtime" "^7.18.3" + "@emotion/hash" "^0.9.1" + "@emotion/memoize" "^0.8.1" + "@emotion/serialize" "^1.1.2" + "babel-plugin-macros" "^3.1.0" + "convert-source-map" "^1.5.0" + "escape-string-regexp" "^4.0.0" + "find-root" "^1.1.0" + "source-map" "^0.5.7" + "stylis" "4.2.0" "@emotion/cache@^10.0.27": - version "10.0.29" - resolved "https://registry.npmjs.org/@emotion/cache/-/cache-10.0.29.tgz" - integrity sha512-fU2VtSVlHiF27empSbxi1O2JFdNWZO+2NFHfwO0pxgTep6Xa3uGb+3pVKfLww2l/IBGLNEZl5Xf/++A4wAYDYQ== + "integrity" "sha512-fU2VtSVlHiF27empSbxi1O2JFdNWZO+2NFHfwO0pxgTep6Xa3uGb+3pVKfLww2l/IBGLNEZl5Xf/++A4wAYDYQ==" + "resolved" "https://registry.npmjs.org/@emotion/cache/-/cache-10.0.29.tgz" + "version" "10.0.29" dependencies: "@emotion/sheet" "0.9.4" "@emotion/stylis" "0.8.5" "@emotion/utils" "0.11.3" "@emotion/weak-memoize" "0.2.5" -"@emotion/cache@^11.7.1": - version "11.7.1" - resolved "https://registry.npmjs.org/@emotion/cache/-/cache-11.7.1.tgz" - integrity sha512-r65Zy4Iljb8oyjtLeCuBH8Qjiy107dOYC6SJq7g7GV5UCQWMObY4SJDPGFjiiVpPrOJ2hmJOoBiYTC7hwx9E2A== +"@emotion/cache@^11.11.0", "@emotion/cache@^11.7.1": + "integrity" "sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ==" + "resolved" "https://registry.npmjs.org/@emotion/cache/-/cache-11.11.0.tgz" + "version" "11.11.0" dependencies: - "@emotion/memoize" "^0.7.4" - "@emotion/sheet" "^1.1.0" - "@emotion/utils" "^1.0.0" - "@emotion/weak-memoize" "^0.2.5" - stylis "4.0.13" + "@emotion/memoize" "^0.8.1" + "@emotion/sheet" "^1.2.2" + "@emotion/utils" "^1.2.1" + "@emotion/weak-memoize" "^0.3.1" + "stylis" "4.2.0" -"@emotion/core@^10.0.28": - version "10.3.1" - resolved "https://registry.npmjs.org/@emotion/core/-/core-10.3.1.tgz" - integrity sha512-447aUEjPIm0MnE6QYIaFz9VQOHSXf4Iu6EWOIqq11EAPqinkSZmfymPTmlOE3QjLv846lH4JVZBUOtwGbuQoww== +"@emotion/core@^10.0.27", "@emotion/core@^10.0.28": + "integrity" "sha512-447aUEjPIm0MnE6QYIaFz9VQOHSXf4Iu6EWOIqq11EAPqinkSZmfymPTmlOE3QjLv846lH4JVZBUOtwGbuQoww==" + "resolved" "https://registry.npmjs.org/@emotion/core/-/core-10.3.1.tgz" + "version" "10.3.1" dependencies: "@babel/runtime" "^7.5.5" "@emotion/cache" "^10.0.27" @@ -3303,92 +3209,108 @@ "@emotion/utils" "0.11.3" "@emotion/css@^10.0.27": - version "10.0.27" - resolved "https://registry.npmjs.org/@emotion/css/-/css-10.0.27.tgz" - integrity sha512-6wZjsvYeBhyZQYNrGoR5yPMYbMBNEnanDrqmsqS1mzDm1cOTu12shvl2j4QHNS36UaTE0USIJawCH9C8oW34Zw== + "integrity" "sha512-6wZjsvYeBhyZQYNrGoR5yPMYbMBNEnanDrqmsqS1mzDm1cOTu12shvl2j4QHNS36UaTE0USIJawCH9C8oW34Zw==" + "resolved" "https://registry.npmjs.org/@emotion/css/-/css-10.0.27.tgz" + "version" "10.0.27" dependencies: "@emotion/serialize" "^0.11.15" "@emotion/utils" "0.11.3" - babel-plugin-emotion "^10.0.27" + "babel-plugin-emotion" "^10.0.27" -"@emotion/hash@0.8.0", "@emotion/hash@^0.8.0": - version "0.8.0" - resolved "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz" - integrity sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow== +"@emotion/hash@^0.8.0", "@emotion/hash@0.8.0": + "integrity" "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==" + "resolved" "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz" + "version" "0.8.0" -"@emotion/is-prop-valid@0.8.8": - version "0.8.8" - resolved "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz" - integrity sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA== - dependencies: - "@emotion/memoize" "0.7.4" +"@emotion/hash@^0.9.1": + "integrity" "sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==" + "resolved" "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.1.tgz" + "version" "0.9.1" "@emotion/is-prop-valid@^1.1.2": - version "1.1.2" - resolved "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.1.2.tgz" - integrity sha512-3QnhqeL+WW88YjYbQL5gUIkthuMw7a0NGbZ7wfFVk2kg/CK5w8w5FFa0RzWjyY1+sujN0NWbtSHH6OJmWHtJpQ== + "version" "1.1.2" dependencies: "@emotion/memoize" "^0.7.4" -"@emotion/memoize@0.7.4": - version "0.7.4" - resolved "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz" - integrity sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw== +"@emotion/is-prop-valid@0.8.8": + "integrity" "sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==" + "resolved" "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz" + "version" "0.8.8" + dependencies: + "@emotion/memoize" "0.7.4" -"@emotion/memoize@^0.7.4", "@emotion/memoize@^0.7.5": - version "0.7.5" - resolved "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.5.tgz" - integrity sha512-igX9a37DR2ZPGYtV6suZ6whr8pTFtyHL3K/oLUotxpSVO2ASaprmAe2Dkq7tBo7CRY7MMDrAa9nuQP9/YG8FxQ== +"@emotion/memoize@^0.7.4": + "version" "0.7.5" -"@emotion/react@^11.8.2": - version "11.8.2" - resolved "https://registry.npmjs.org/@emotion/react/-/react-11.8.2.tgz" - integrity sha512-+1bcHBaNJv5nkIIgnGKVsie3otS0wF9f1T1hteF3WeVvMNQEtfZ4YyFpnphGoot3ilU/wWMgP2SgIDuHLE/wAA== - dependencies: - "@babel/runtime" "^7.13.10" - "@emotion/babel-plugin" "^11.7.1" - "@emotion/cache" "^11.7.1" - "@emotion/serialize" "^1.0.2" - "@emotion/utils" "^1.1.0" - "@emotion/weak-memoize" "^0.2.5" - hoist-non-react-statics "^3.3.1" +"@emotion/memoize@^0.8.1": + "integrity" "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==" + "resolved" "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz" + "version" "0.8.1" + +"@emotion/memoize@0.7.4": + "integrity" "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==" + "resolved" "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz" + "version" "0.7.4" + +"@emotion/react@^11.0.0-rc.0", "@emotion/react@^11.4.1", "@emotion/react@^11.5.0", "@emotion/react@^11.8.2", "@emotion/react@^11.9.0": + "integrity" "sha512-5mlW1DquU5HaxjLkfkGN1GA/fvVGdyHURRiX/0FHl2cfIfRxSOfmxEH5YS43edp0OldZrZ+dkBKbngxcNCdZvA==" + "resolved" "https://registry.npmjs.org/@emotion/react/-/react-11.11.1.tgz" + "version" "11.11.1" + dependencies: + "@babel/runtime" "^7.18.3" + "@emotion/babel-plugin" "^11.11.0" + "@emotion/cache" "^11.11.0" + "@emotion/serialize" "^1.1.2" + "@emotion/use-insertion-effect-with-fallbacks" "^1.0.1" + "@emotion/utils" "^1.2.1" + "@emotion/weak-memoize" "^0.3.1" + "hoist-non-react-statics" "^3.3.1" "@emotion/serialize@^0.11.15", "@emotion/serialize@^0.11.16": - version "0.11.16" - resolved "https://registry.npmjs.org/@emotion/serialize/-/serialize-0.11.16.tgz" - integrity sha512-G3J4o8by0VRrO+PFeSc3js2myYNOXVJ3Ya+RGVxnshRYgsvErfAOglKAiy1Eo1vhzxqtUvjCyS5gtewzkmvSSg== + "integrity" "sha512-G3J4o8by0VRrO+PFeSc3js2myYNOXVJ3Ya+RGVxnshRYgsvErfAOglKAiy1Eo1vhzxqtUvjCyS5gtewzkmvSSg==" + "resolved" "https://registry.npmjs.org/@emotion/serialize/-/serialize-0.11.16.tgz" + "version" "0.11.16" dependencies: "@emotion/hash" "0.8.0" "@emotion/memoize" "0.7.4" "@emotion/unitless" "0.7.5" "@emotion/utils" "0.11.3" - csstype "^2.5.7" + "csstype" "^2.5.7" "@emotion/serialize@^1.0.2": - version "1.0.2" - resolved "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.0.2.tgz" - integrity sha512-95MgNJ9+/ajxU7QIAruiOAdYNjxZX7G2mhgrtDWswA21VviYIRP1R5QilZ/bDY42xiKsaktP4egJb3QdYQZi1A== + "version" "1.0.2" dependencies: "@emotion/hash" "^0.8.0" "@emotion/memoize" "^0.7.4" "@emotion/unitless" "^0.7.5" "@emotion/utils" "^1.0.0" - csstype "^3.0.2" + "csstype" "^3.0.2" -"@emotion/sheet@0.9.4": - version "0.9.4" - resolved "https://registry.npmjs.org/@emotion/sheet/-/sheet-0.9.4.tgz" - integrity sha512-zM9PFmgVSqBw4zL101Q0HrBVTGmpAxFZH/pYx/cjJT5advXguvcgjHFTCaIO3enL/xr89vK2bh0Mfyj9aa0ANA== +"@emotion/serialize@^1.1.2": + "integrity" "sha512-zR6a/fkFP4EAcCMQtLOhIgpprZOwNmCldtpaISpvz348+DP4Mz8ZoKaGGCQpbzepNIUWbq4w6hNZkwDyKoS+HA==" + "resolved" "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.2.tgz" + "version" "1.1.2" + dependencies: + "@emotion/hash" "^0.9.1" + "@emotion/memoize" "^0.8.1" + "@emotion/unitless" "^0.8.1" + "@emotion/utils" "^1.2.1" + "csstype" "^3.0.2" + +"@emotion/sheet@^1.2.2": + "integrity" "sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA==" + "resolved" "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.2.tgz" + "version" "1.2.2" -"@emotion/sheet@^1.1.0": - version "1.1.0" - resolved "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.1.0.tgz" - integrity sha512-u0AX4aSo25sMAygCuQTzS+HsImZFuS8llY8O7b9MDRzbJM0kVJlAz6KNDqcG7pOuQZJmj/8X/rAW+66kMnMW+g== +"@emotion/sheet@0.9.4": + "integrity" "sha512-zM9PFmgVSqBw4zL101Q0HrBVTGmpAxFZH/pYx/cjJT5advXguvcgjHFTCaIO3enL/xr89vK2bh0Mfyj9aa0ANA==" + "resolved" "https://registry.npmjs.org/@emotion/sheet/-/sheet-0.9.4.tgz" + "version" "0.9.4" "@emotion/styled-base@^10.3.0": - version "10.3.0" - resolved "https://registry.npmjs.org/@emotion/styled-base/-/styled-base-10.3.0.tgz" - integrity sha512-PBRqsVKR7QRNkmfH78hTSSwHWcwDpecH9W6heujWAcyp2wdz/64PP73s7fWS1dIPm8/Exc8JAzYS8dEWXjv60w== + "integrity" "sha512-PBRqsVKR7QRNkmfH78hTSSwHWcwDpecH9W6heujWAcyp2wdz/64PP73s7fWS1dIPm8/Exc8JAzYS8dEWXjv60w==" + "resolved" "https://registry.npmjs.org/@emotion/styled-base/-/styled-base-10.3.0.tgz" + "version" "10.3.0" dependencies: "@babel/runtime" "^7.5.5" "@emotion/is-prop-valid" "0.8.8" @@ -3396,17 +3318,15 @@ "@emotion/utils" "0.11.3" "@emotion/styled@^10.0.27": - version "10.3.0" - resolved "https://registry.npmjs.org/@emotion/styled/-/styled-10.3.0.tgz" - integrity sha512-GgcUpXBBEU5ido+/p/mCT2/Xx+Oqmp9JzQRuC+a4lYM4i4LBBn/dWvc0rQ19N9ObA8/T4NWMrPNe79kMBDJqoQ== + "integrity" "sha512-GgcUpXBBEU5ido+/p/mCT2/Xx+Oqmp9JzQRuC+a4lYM4i4LBBn/dWvc0rQ19N9ObA8/T4NWMrPNe79kMBDJqoQ==" + "resolved" "https://registry.npmjs.org/@emotion/styled/-/styled-10.3.0.tgz" + "version" "10.3.0" dependencies: "@emotion/styled-base" "^10.3.0" - babel-plugin-emotion "^10.0.27" + "babel-plugin-emotion" "^10.0.27" -"@emotion/styled@^11.8.1": - version "11.8.1" - resolved "https://registry.npmjs.org/@emotion/styled/-/styled-11.8.1.tgz" - integrity sha512-OghEVAYBZMpEquHZwuelXcRjRJQOVayvbmNR0zr174NHdmMgrNkLC6TljKC5h9lZLkN5WGrdUcrKlOJ4phhoTQ== +"@emotion/styled@^11.3.0", "@emotion/styled@^11.8.1": + "version" "11.8.1" dependencies: "@babel/runtime" "^7.13.10" "@emotion/babel-plugin" "^11.7.1" @@ -3415,113 +3335,137 @@ "@emotion/utils" "^1.1.0" "@emotion/stylis@0.8.5": - version "0.8.5" - resolved "https://registry.npmjs.org/@emotion/stylis/-/stylis-0.8.5.tgz" - integrity sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ== + "integrity" "sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ==" + "resolved" "https://registry.npmjs.org/@emotion/stylis/-/stylis-0.8.5.tgz" + "version" "0.8.5" -"@emotion/unitless@0.7.5", "@emotion/unitless@^0.7.5": - version "0.7.5" - resolved "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz" - integrity sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg== +"@emotion/unitless@^0.7.5", "@emotion/unitless@0.7.5": + "integrity" "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==" + "resolved" "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz" + "version" "0.7.5" -"@emotion/utils@0.11.3": - version "0.11.3" - resolved "https://registry.npmjs.org/@emotion/utils/-/utils-0.11.3.tgz" - integrity sha512-0o4l6pZC+hI88+bzuaX/6BgOvQVhbt2PfmxauVaYOGgbsAw14wdKyvMCZXnsnsHys94iadcF+RG/wZyx6+ZZBw== +"@emotion/unitless@^0.8.1": + "integrity" "sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==" + "resolved" "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.1.tgz" + "version" "0.8.1" + +"@emotion/use-insertion-effect-with-fallbacks@^1.0.1": + "integrity" "sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==" + "resolved" "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz" + "version" "1.0.1" "@emotion/utils@^1.0.0", "@emotion/utils@^1.1.0": - version "1.1.0" - resolved "https://registry.npmjs.org/@emotion/utils/-/utils-1.1.0.tgz" - integrity sha512-iRLa/Y4Rs5H/f2nimczYmS5kFJEbpiVvgN3XVfZ022IYhuNA1IRSHEizcof88LtCTXtl9S2Cxt32KgaXEu72JQ== + "version" "1.1.0" + +"@emotion/utils@^1.2.1": + "integrity" "sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg==" + "resolved" "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.1.tgz" + "version" "1.2.1" + +"@emotion/utils@0.11.3": + "integrity" "sha512-0o4l6pZC+hI88+bzuaX/6BgOvQVhbt2PfmxauVaYOGgbsAw14wdKyvMCZXnsnsHys94iadcF+RG/wZyx6+ZZBw==" + "resolved" "https://registry.npmjs.org/@emotion/utils/-/utils-0.11.3.tgz" + "version" "0.11.3" -"@emotion/weak-memoize@0.2.5", "@emotion/weak-memoize@^0.2.5": - version "0.2.5" - resolved "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz" - integrity sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA== +"@emotion/weak-memoize@^0.3.1": + "integrity" "sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==" + "resolved" "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz" + "version" "0.3.1" + +"@emotion/weak-memoize@0.2.5": + "integrity" "sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA==" + "resolved" "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz" + "version" "0.2.5" "@eslint/eslintrc@^1.4.1": - version "1.4.1" - resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz" - integrity sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA== - dependencies: - ajv "^6.12.4" - debug "^4.3.2" - espree "^9.4.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" + "version" "1.4.1" + dependencies: + "ajv" "^6.12.4" + "debug" "^4.3.2" + "espree" "^9.4.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" "@graphql-typed-document-node/core@^3.0.0": - version "3.1.1" - resolved "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.1.1.tgz" - integrity sha512-NQ17ii0rK1b34VZonlmT2QMJFI70m0TRwbknO/ihlbatXyaktDhN/98vBiUU6kNBPljqGqyIrl2T4nY2RpFANg== + "version" "3.1.1" + +"@hapi/hoek@^9.0.0": + "integrity" "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==" + "resolved" "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz" + "version" "9.3.0" + +"@hapi/topo@^5.0.0": + "integrity" "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==" + "resolved" "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz" + "version" "5.1.0" + dependencies: + "@hapi/hoek" "^9.0.0" "@humanwhocodes/config-array@^0.11.8": - version "0.11.8" - resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz" - integrity sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g== + "version" "0.11.8" dependencies: "@humanwhocodes/object-schema" "^1.2.1" - debug "^4.1.1" - minimatch "^3.0.5" + "debug" "^4.1.1" + "minimatch" "^3.0.5" "@humanwhocodes/module-importer@^1.0.1": - version "1.0.1" - resolved "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz" - integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== + "integrity" "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==" + "resolved" "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz" + "version" "1.0.1" "@humanwhocodes/object-schema@^1.2.1": - 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== + "integrity" "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==" + "resolved" "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz" + "version" "1.2.1" "@istanbuljs/load-nyc-config@^1.0.0": - version "1.1.0" - resolved "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz" - integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== + "integrity" "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==" + "resolved" "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz" + "version" "1.1.0" dependencies: - 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" + "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" "@istanbuljs/schema@^0.1.2": - version "0.1.3" - resolved "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz" - integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== + "integrity" "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==" + "resolved" "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz" + "version" "0.1.3" "@jest/console@^27.5.1": - version "27.5.1" - resolved "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz" - integrity sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg== + "integrity" "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==" + "resolved" "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz" + "version" "27.5.1" dependencies: "@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" + "chalk" "^4.0.0" + "jest-message-util" "^27.5.1" + "jest-util" "^27.5.1" + "slash" "^3.0.0" "@jest/console@^28.1.3": - version "28.1.3" - resolved "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz" - integrity sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw== + "integrity" "sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==" + "resolved" "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz" + "version" "28.1.3" dependencies: "@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" + "chalk" "^4.0.0" + "jest-message-util" "^28.1.3" + "jest-util" "^28.1.3" + "slash" "^3.0.0" "@jest/core@^27.5.1": - version "27.5.1" - resolved "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz" - integrity sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ== + "integrity" "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==" + "resolved" "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz" + "version" "27.5.1" dependencies: "@jest/console" "^27.5.1" "@jest/reporters" "^27.5.1" @@ -3529,64 +3473,93 @@ "@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" + "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" + +"@jest/create-cache-key-function@^29.2.1": + "integrity" "sha512-LIDZyZgnZss7uikvBKBB/USWwG+GO8+GnwRWT+YkCGDGsqLQlhm9BC3z6+7+eMs1kUlvXQIWEzBR8Q2Pnvx6lg==" + "resolved" "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-29.5.0.tgz" + "version" "29.5.0" + dependencies: + "@jest/types" "^29.5.0" "@jest/environment@^27.5.1": - version "27.5.1" - resolved "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz" - integrity sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA== + "integrity" "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==" + "resolved" "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz" + "version" "27.5.1" dependencies: "@jest/fake-timers" "^27.5.1" "@jest/types" "^27.5.1" "@types/node" "*" - jest-mock "^27.5.1" + "jest-mock" "^27.5.1" + +"@jest/environment@^29.5.0": + "integrity" "sha512-5FXw2+wD29YU1d4I2htpRX7jYnAyTRjP2CsXQdo9SAM8g3ifxWPSV0HnClSn71xwctr0U3oZIIH+dtbfmnbXVQ==" + "resolved" "https://registry.npmjs.org/@jest/environment/-/environment-29.5.0.tgz" + "version" "29.5.0" + dependencies: + "@jest/fake-timers" "^29.5.0" + "@jest/types" "^29.5.0" + "@types/node" "*" + "jest-mock" "^29.5.0" "@jest/fake-timers@^27.5.1": - version "27.5.1" - resolved "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz" - integrity sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ== + "integrity" "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==" + "resolved" "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz" + "version" "27.5.1" dependencies: "@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" + "jest-message-util" "^27.5.1" + "jest-mock" "^27.5.1" + "jest-util" "^27.5.1" + +"@jest/fake-timers@^29.5.0": + "integrity" "sha512-9ARvuAAQcBwDAqOnglWq2zwNIRUDtk/SCkp/ToGEhFv5r86K21l+VEs0qNTaXtyiY0lEePl3kylijSYJQqdbDg==" + "resolved" "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.5.0.tgz" + "version" "29.5.0" + dependencies: + "@jest/types" "^29.5.0" + "@sinonjs/fake-timers" "^10.0.2" + "@types/node" "*" + "jest-message-util" "^29.5.0" + "jest-mock" "^29.5.0" + "jest-util" "^29.5.0" "@jest/globals@^27.5.1": - version "27.5.1" - resolved "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz" - integrity sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q== + "integrity" "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==" + "resolved" "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz" + "version" "27.5.1" dependencies: "@jest/environment" "^27.5.1" "@jest/types" "^27.5.1" - expect "^27.5.1" + "expect" "^27.5.1" "@jest/reporters@^27.5.1": - version "27.5.1" - resolved "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz" - integrity sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw== + "integrity" "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==" + "resolved" "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz" + "version" "27.5.1" dependencies: "@bcoe/v8-coverage" "^0.2.3" "@jest/console" "^27.5.1" @@ -3594,213 +3567,223 @@ "@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" + "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" "@jest/schemas@^28.1.3": - version "28.1.3" - resolved "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz" - integrity sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg== + "integrity" "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==" + "resolved" "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz" + "version" "28.1.3" dependencies: "@sinclair/typebox" "^0.24.1" +"@jest/schemas@^29.4.3": + "integrity" "sha512-VLYKXQmtmuEz6IxJsrZwzG9NvtkQsWNnWMsKxqWNu3+CnfzJQhp0WDDKWLVV9hLKr0l3SLLFRqcYHjhtyuDVxg==" + "resolved" "https://registry.npmjs.org/@jest/schemas/-/schemas-29.4.3.tgz" + "version" "29.4.3" + dependencies: + "@sinclair/typebox" "^0.25.16" + "@jest/source-map@^27.5.1": - version "27.5.1" - resolved "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz" - integrity sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg== + "integrity" "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==" + "resolved" "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz" + "version" "27.5.1" dependencies: - callsites "^3.0.0" - graceful-fs "^4.2.9" - source-map "^0.6.0" + "callsites" "^3.0.0" + "graceful-fs" "^4.2.9" + "source-map" "^0.6.0" "@jest/test-result@^27.5.1": - version "27.5.1" - resolved "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz" - integrity sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag== + "integrity" "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==" + "resolved" "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz" + "version" "27.5.1" dependencies: "@jest/console" "^27.5.1" "@jest/types" "^27.5.1" "@types/istanbul-lib-coverage" "^2.0.0" - collect-v8-coverage "^1.0.0" + "collect-v8-coverage" "^1.0.0" "@jest/test-result@^28.1.3": - 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== + "integrity" "sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==" + "resolved" "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz" + "version" "28.1.3" dependencies: "@jest/console" "^28.1.3" "@jest/types" "^28.1.3" "@types/istanbul-lib-coverage" "^2.0.0" - collect-v8-coverage "^1.0.0" + "collect-v8-coverage" "^1.0.0" "@jest/test-sequencer@^27.5.1": - version "27.5.1" - resolved "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz" - integrity sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ== + "integrity" "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==" + "resolved" "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz" + "version" "27.5.1" dependencies: "@jest/test-result" "^27.5.1" - graceful-fs "^4.2.9" - jest-haste-map "^27.5.1" - jest-runtime "^27.5.1" + "graceful-fs" "^4.2.9" + "jest-haste-map" "^27.5.1" + "jest-runtime" "^27.5.1" "@jest/transform@^27.5.1": - version "27.5.1" - resolved "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz" - integrity sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw== + "integrity" "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==" + "resolved" "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz" + "version" "27.5.1" dependencies: "@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" + "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" + +"@jest/types@^26.6.2": + "integrity" "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==" + "resolved" "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz" + "version" "26.6.2" + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^15.0.0" + "chalk" "^4.0.0" "@jest/types@^27.5.1": - version "27.5.1" - resolved "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz" - integrity sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw== + "integrity" "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==" + "resolved" "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz" + "version" "27.5.1" dependencies: "@types/istanbul-lib-coverage" "^2.0.0" "@types/istanbul-reports" "^3.0.0" "@types/node" "*" "@types/yargs" "^16.0.0" - chalk "^4.0.0" + "chalk" "^4.0.0" "@jest/types@^28.1.3": - version "28.1.3" - resolved "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz" - integrity sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ== + "integrity" "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==" + "resolved" "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz" + "version" "28.1.3" dependencies: "@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" + "chalk" "^4.0.0" + +"@jest/types@^29.5.0": + "integrity" "sha512-qbu7kN6czmVRc3xWFQcAN03RAUamgppVUdXrvl1Wr3jlNF93o9mJbGcDWrwGB6ht44u7efB1qCFgVQmca24Uog==" + "resolved" "https://registry.npmjs.org/@jest/types/-/types-29.5.0.tgz" + "version" "29.5.0" + dependencies: + "@jest/schemas" "^29.4.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" "@jridgewell/gen-mapping@^0.1.0": - version "0.1.1" - resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz" - integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== + "version" "0.1.1" dependencies: "@jridgewell/set-array" "^1.0.0" "@jridgewell/sourcemap-codec" "^1.4.10" "@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": - version "0.3.2" - resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz" - integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== + "version" "0.3.2" dependencies: "@jridgewell/set-array" "^1.0.1" "@jridgewell/sourcemap-codec" "^1.4.10" "@jridgewell/trace-mapping" "^0.3.9" "@jridgewell/resolve-uri@3.1.0": - version "3.1.0" - resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz" - integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== + "integrity" "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==" + "resolved" "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz" + "version" "3.1.0" "@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": - version "1.1.2" - resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" - integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== + "integrity" "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" + "resolved" "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" + "version" "1.1.2" "@jridgewell/source-map@^0.3.2": - version "0.3.2" - resolved "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz" - integrity sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw== + "version" "0.3.2" dependencies: "@jridgewell/gen-mapping" "^0.3.0" "@jridgewell/trace-mapping" "^0.3.9" -"@jridgewell/sourcemap-codec@1.4.14", "@jridgewell/sourcemap-codec@^1.4.10": - version "1.4.14" - resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz" - integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@1.4.14": + "integrity" "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" + "resolved" "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz" + "version" "1.4.14" "@jridgewell/trace-mapping@^0.3.14", "@jridgewell/trace-mapping@^0.3.9": - version "0.3.17" - resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz" - integrity sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g== + "version" "0.3.17" dependencies: "@jridgewell/resolve-uri" "3.1.0" "@jridgewell/sourcemap-codec" "1.4.14" "@juggle/resize-observer@^3.3.1": - version "3.3.1" - resolved "https://registry.npmjs.org/@juggle/resize-observer/-/resize-observer-3.3.1.tgz" - integrity sha512-zMM9Ds+SawiUkakS7y94Ymqx+S0ORzpG3frZirN3l+UlXUmSUR7hF4wxCVqW+ei94JzV5kt0uXBcoOEAuiydrw== + "version" "3.3.1" "@leichtgewicht/ip-codec@^2.0.1": - 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== + "integrity" "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==" + "resolved" "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz" + "version" "2.0.4" "@monaco-editor/loader@^1.2.0": - version "1.3.0" - resolved "https://registry.npmjs.org/@monaco-editor/loader/-/loader-1.3.0.tgz" - integrity sha512-N3mGq1ktC3zh7WUx3NGO+PSDdNq9Vspk/41rEmRdrCqV9vNbBTRzAOplmUpNQsi+hmTs++ERMBobMERb8Kb+3g== + "version" "1.3.0" dependencies: - state-local "^1.0.6" + "state-local" "^1.0.6" "@monaco-editor/react@^4.3.1": - version "4.3.1" - resolved "https://registry.npmjs.org/@monaco-editor/react/-/react-4.3.1.tgz" - integrity sha512-f+0BK1PP/W5I50hHHmwf11+Ea92E5H1VZXs+wvKplWUWOfyMa1VVwqkJrXjRvbcqHL+XdIGYWhWNdi4McEvnZg== + "version" "4.3.1" dependencies: "@monaco-editor/loader" "^1.2.0" - prop-types "^15.7.2" + "prop-types" "^15.7.2" "@mui/base@5.0.0-alpha.73": - version "5.0.0-alpha.73" - resolved "https://registry.npmjs.org/@mui/base/-/base-5.0.0-alpha.73.tgz" - integrity sha512-TEUCIIEAWrngAqpIa+dY3nofGSNj70LC3KC9WcCzyXPK3M4AG2GNi7ndd/g/0DtC55kbxrudzlV8TG3vrB2Vjw== + "version" "5.0.0-alpha.73" dependencies: "@babel/runtime" "^7.17.2" "@emotion/is-prop-valid" "^1.1.2" "@mui/utils" "^5.4.4" "@popperjs/core" "^2.11.4" - clsx "^1.1.1" - prop-types "^15.7.2" - react-is "^17.0.2" + "clsx" "^1.1.1" + "prop-types" "^15.7.2" + "react-is" "^17.0.2" "@mui/icons-material@^5.5.1": - version "5.5.1" - resolved "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.5.1.tgz" - integrity sha512-40f68p5+Yhq3dCn3QYHqQt5RETPyR3AkDw+fma8PtcjqvZ+d+jF84kFmT6NqwA3he7TlwluEtkyAmPzUE4uPdA== + "version" "5.5.1" dependencies: "@babel/runtime" "^7.17.2" "@mui/lab@^5.0.0-alpha.74": - version "5.0.0-alpha.74" - resolved "https://registry.npmjs.org/@mui/lab/-/lab-5.0.0-alpha.74.tgz" - integrity sha512-a3spQ3uWzlHVVBLcHqqMXPOwto39EVojaV3+3x102kTwPU6ZT1CsU+nI6+EiGCjZ7hW09gxjhUWxiU3fow9UWA== + "version" "5.0.0-alpha.74" dependencies: "@babel/runtime" "^7.17.2" "@date-io/date-fns" "^2.13.1" @@ -3810,16 +3793,14 @@ "@mui/base" "5.0.0-alpha.73" "@mui/system" "^5.5.2" "@mui/utils" "^5.4.4" - clsx "^1.1.1" - prop-types "^15.7.2" - react-is "^17.0.2" - react-transition-group "^4.4.2" - rifm "^0.12.1" + "clsx" "^1.1.1" + "prop-types" "^15.7.2" + "react-is" "^17.0.2" + "react-transition-group" "^4.4.2" + "rifm" "^0.12.1" -"@mui/material@^5.5.2": - version "5.5.2" - resolved "https://registry.npmjs.org/@mui/material/-/material-5.5.2.tgz" - integrity sha512-r4p1u9eDlSqW3TS/Iq9yolifWHpuW6e0BSeqEJW3EEIcKfPVVk4WNUNJ+s8DtN7dBoDcveXxcQVVjYXTIv1d9g== +"@mui/material@^5.0.0", "@mui/material@^5.2.8", "@mui/material@^5.4.1", "@mui/material@^5.5.2": + "version" "5.5.2" dependencies: "@babel/runtime" "^7.17.2" "@mui/base" "5.0.0-alpha.73" @@ -3827,267 +3808,480 @@ "@mui/types" "^7.1.3" "@mui/utils" "^5.4.4" "@types/react-transition-group" "^4.4.4" - clsx "^1.1.1" - csstype "^3.0.11" - hoist-non-react-statics "^3.3.2" - prop-types "^15.7.2" - react-is "^17.0.2" - react-transition-group "^4.4.2" + "clsx" "^1.1.1" + "csstype" "^3.0.11" + "hoist-non-react-statics" "^3.3.2" + "prop-types" "^15.7.2" + "react-is" "^17.0.2" + "react-transition-group" "^4.4.2" "@mui/private-theming@^5.4.4": - version "5.4.4" - resolved "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.4.4.tgz" - integrity sha512-V/gxttr6736yJoU9q+4xxXsa0K/w9Hn9pg99zsOHt7i/O904w2CX5NHh5WqDXtoUzVcayLF0RB17yr6l79CE+A== + "version" "5.4.4" dependencies: "@babel/runtime" "^7.17.2" "@mui/utils" "^5.4.4" - prop-types "^15.7.2" + "prop-types" "^15.7.2" "@mui/styled-engine@^5.5.2": - version "5.5.2" - resolved "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.5.2.tgz" - integrity sha512-jkz5AHHbA43akBo5L3y1X1/X0f+RvXvCp3eXKt+iOf3qnKSAausbtlVz7gBbC4xIWDnP1Jb/6T+t/0/7gObRYA== + "version" "5.5.2" dependencies: "@babel/runtime" "^7.17.2" "@emotion/cache" "^11.7.1" - prop-types "^15.7.2" + "prop-types" "^15.7.2" "@mui/styles@^5.5.1": - version "5.5.1" - resolved "https://registry.npmjs.org/@mui/styles/-/styles-5.5.1.tgz" - integrity sha512-mxwfjwTwPE+r7/U4Nn/QKPzJ2cIqmRuK3xu44Us613D5jqPeB/ftOsAy0OpCYAwpkUxmQIrRQiilQ8zE+f4rBQ== + "version" "5.5.1" dependencies: "@babel/runtime" "^7.17.2" "@emotion/hash" "^0.8.0" "@mui/private-theming" "^5.4.4" "@mui/types" "^7.1.3" "@mui/utils" "^5.4.4" - clsx "^1.1.1" - csstype "^3.0.11" - hoist-non-react-statics "^3.3.2" - jss "^10.8.2" - jss-plugin-camel-case "^10.8.2" - jss-plugin-default-unit "^10.8.2" - jss-plugin-global "^10.8.2" - jss-plugin-nested "^10.8.2" - jss-plugin-props-sort "^10.8.2" - jss-plugin-rule-value-function "^10.8.2" - jss-plugin-vendor-prefixer "^10.8.2" - prop-types "^15.7.2" - -"@mui/system@^5.5.2": - version "5.5.2" - resolved "https://registry.npmjs.org/@mui/system/-/system-5.5.2.tgz" - integrity sha512-OATYFI36nliud8xh0u+ZNqDo0jWjxpO0vZLlzqNB+ZtkR5Q/+1X3GgboA9ruiB8Rq+udnJlMBQNGW0qqjvAOHQ== + "clsx" "^1.1.1" + "csstype" "^3.0.11" + "hoist-non-react-statics" "^3.3.2" + "jss" "^10.8.2" + "jss-plugin-camel-case" "^10.8.2" + "jss-plugin-default-unit" "^10.8.2" + "jss-plugin-global" "^10.8.2" + "jss-plugin-nested" "^10.8.2" + "jss-plugin-props-sort" "^10.8.2" + "jss-plugin-rule-value-function" "^10.8.2" + "jss-plugin-vendor-prefixer" "^10.8.2" + "prop-types" "^15.7.2" + +"@mui/system@^5.2.8", "@mui/system@^5.4.1", "@mui/system@^5.5.2": + "version" "5.5.2" dependencies: "@babel/runtime" "^7.17.2" "@mui/private-theming" "^5.4.4" "@mui/styled-engine" "^5.5.2" "@mui/types" "^7.1.3" "@mui/utils" "^5.4.4" - clsx "^1.1.1" - csstype "^3.0.11" - prop-types "^15.7.2" + "clsx" "^1.1.1" + "csstype" "^3.0.11" + "prop-types" "^15.7.2" "@mui/types@^7.1.3": - version "7.1.3" - resolved "https://registry.npmjs.org/@mui/types/-/types-7.1.3.tgz" - integrity sha512-DDF0UhMBo4Uezlk+6QxrlDbchF79XG6Zs0zIewlR4c0Dt6GKVFfUtzPtHCH1tTbcSlq/L2bGEdiaoHBJ9Y1gSA== + "version" "7.1.3" -"@mui/utils@^5.4.4": - version "5.4.4" - resolved "https://registry.npmjs.org/@mui/utils/-/utils-5.4.4.tgz" - integrity sha512-hfYIXEuhc2mXMGN5nUPis8beH6uE/zl3uMWJcyHX0/LN/+QxO9zhYuV6l8AsAaphHFyS/fBv0SW3Nid7jw5hKQ== +"@mui/utils@^5.10.3", "@mui/utils@^5.4.4": + "integrity" "sha512-6lXdWwmlUbEU2jUI8blw38Kt+3ly7xkmV9ljzY4Q20WhsJMWiNry9CX8M+TaP/HbtuyR8XKsdMgQW7h7MM3n3A==" + "resolved" "https://registry.npmjs.org/@mui/utils/-/utils-5.13.1.tgz" + "version" "5.13.1" dependencies: - "@babel/runtime" "^7.17.2" - "@types/prop-types" "^15.7.4" - "@types/react-is" "^16.7.1 || ^17.0.0" - prop-types "^15.7.2" - react-is "^17.0.2" + "@babel/runtime" "^7.21.0" + "@types/prop-types" "^15.7.5" + "@types/react-is" "^18.2.0" + "prop-types" "^15.8.1" + "react-is" "^18.2.0" "@mui/x-data-grid@^5.7.0": - version "5.7.0" - resolved "https://registry.npmjs.org/@mui/x-data-grid/-/x-data-grid-5.7.0.tgz" - integrity sha512-mWk3IzClmGGsFfz3EzdifkQRhjNYkkyfCNMfQu1C6iJDPtkt5xmi71M+jMRv+lsupMEnrTv17j+6oM6YCqoM3Q== + "version" "5.7.0" dependencies: "@mui/utils" "^5.4.4" - clsx "^1.1.1" - prop-types "^15.8.1" - reselect "^4.1.5" + "clsx" "^1.1.1" + "prop-types" "^15.8.1" + "reselect" "^4.1.5" + +"@mui/x-date-pickers@^5.0.0": + "integrity" "sha512-ERukSeHIoNLbI1C2XRhF9wRhqfsr+Q4B1SAw2ZlU7CWgcG8UBOxgqRKDEOVAIoSWL+DWT6GRuQjOKvj6UXZceA==" + "resolved" "https://registry.npmjs.org/@mui/x-date-pickers/-/x-date-pickers-5.0.20.tgz" + "version" "5.0.20" + dependencies: + "@babel/runtime" "^7.18.9" + "@date-io/core" "^2.15.0" + "@date-io/date-fns" "^2.15.0" + "@date-io/dayjs" "^2.15.0" + "@date-io/luxon" "^2.15.0" + "@date-io/moment" "^2.15.0" + "@mui/utils" "^5.10.3" + "@types/react-transition-group" "^4.4.5" + "clsx" "^1.2.1" + "prop-types" "^15.7.2" + "react-transition-group" "^4.4.5" + "rifm" "^0.12.1" "@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1": - 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== + "integrity" "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==" + "resolved" "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz" + "version" "5.1.1-v1" dependencies: - eslint-scope "5.1.1" + "eslint-scope" "5.1.1" "@nodelib/fs.scandir@2.1.5": - version "2.1.5" - resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" - integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + "integrity" "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==" + "resolved" "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" + "version" "2.1.5" dependencies: "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" + "run-parallel" "^1.1.9" -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": - 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.stat@^2.0.2", "@nodelib/fs.stat@2.0.5": + "integrity" "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" + "resolved" "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" + "version" "2.0.5" "@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": - version "1.2.8" - resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" - integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + "integrity" "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==" + "resolved" "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" + "version" "1.2.8" dependencies: "@nodelib/fs.scandir" "2.1.5" - fastq "^1.6.0" + "fastq" "^1.6.0" "@pmmmwh/react-refresh-webpack-plugin@^0.5.3": - 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== - dependencies: - 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" + "integrity" "sha512-j0Ya0hCFZPd4x40qLzbhGsh9TMtdb+CJQiso+WxLOPNasohq9cc5SNUcwsZaRH6++Xh91Xkm/xHCkuIiIu0LUA==" + "resolved" "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.10.tgz" + "version" "0.5.10" + dependencies: + "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" "@popperjs/core@^2.11.4": - version "2.11.4" - resolved "https://registry.npmjs.org/@popperjs/core/-/core-2.11.4.tgz" - integrity sha512-q/ytXxO5NKvyT37pmisQAItCFqA7FD/vNb8dgaJy3/630Fsc+Mz9/9f2SziBoIZ30TJooXyTwZmhi1zjXmObYg== + "version" "2.11.4" + +"@react-native-community/cli-clean@^10.1.1": + "integrity" "sha512-iNsrjzjIRv9yb5y309SWJ8NDHdwYtnCpmxZouQDyOljUdC9MwdZ4ChbtA4rwQyAwgOVfS9F/j56ML3Cslmvrxg==" + "resolved" "https://registry.npmjs.org/@react-native-community/cli-clean/-/cli-clean-10.1.1.tgz" + "version" "10.1.1" + dependencies: + "@react-native-community/cli-tools" "^10.1.1" + "chalk" "^4.1.2" + "execa" "^1.0.0" + "prompts" "^2.4.0" + +"@react-native-community/cli-config@^10.1.1": + "integrity" "sha512-p4mHrjC+s/ayiNVG6T35GdEGdP6TuyBUg5plVGRJfTl8WT6LBfLYLk+fz/iETrEZ/YkhQIsQcEUQC47MqLNHog==" + "resolved" "https://registry.npmjs.org/@react-native-community/cli-config/-/cli-config-10.1.1.tgz" + "version" "10.1.1" + dependencies: + "@react-native-community/cli-tools" "^10.1.1" + "chalk" "^4.1.2" + "cosmiconfig" "^5.1.0" + "deepmerge" "^3.2.0" + "glob" "^7.1.3" + "joi" "^17.2.1" + +"@react-native-community/cli-debugger-ui@^10.0.0": + "integrity" "sha512-8UKLcvpSNxnUTRy8CkCl27GGLqZunQ9ncGYhSrWyKrU9SWBJJGeZwi2k2KaoJi5FvF2+cD0t8z8cU6lsq2ZZmA==" + "resolved" "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-10.0.0.tgz" + "version" "10.0.0" + dependencies: + "serve-static" "^1.13.1" + +"@react-native-community/cli-doctor@^10.2.4": + "integrity" "sha512-hEtgAqSyIASByhoZlv7WVvdoW4NBdn8vJh/X+dQBRBEXyZk1741/+CtiazwKkuliEhl7cdg4Mg99zgRLCXKAzg==" + "resolved" "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-10.2.4.tgz" + "version" "10.2.4" + dependencies: + "@react-native-community/cli-config" "^10.1.1" + "@react-native-community/cli-platform-ios" "^10.2.4" + "@react-native-community/cli-tools" "^10.1.1" + "chalk" "^4.1.2" + "command-exists" "^1.2.8" + "envinfo" "^7.7.2" + "execa" "^1.0.0" + "hermes-profile-transformer" "^0.0.6" + "ip" "^1.1.5" + "node-stream-zip" "^1.9.1" + "ora" "^5.4.1" + "prompts" "^2.4.0" + "semver" "^6.3.0" + "strip-ansi" "^5.2.0" + "sudo-prompt" "^9.0.0" + "wcwidth" "^1.0.1" + +"@react-native-community/cli-hermes@^10.2.0": + "integrity" "sha512-urfmvNeR8IiO/Sd92UU3xPO+/qI2lwCWQnxOkWaU/i2EITFekE47MD6MZrfVulRVYRi5cuaFqKZO/ccOdOB/vQ==" + "resolved" "https://registry.npmjs.org/@react-native-community/cli-hermes/-/cli-hermes-10.2.0.tgz" + "version" "10.2.0" + dependencies: + "@react-native-community/cli-platform-android" "^10.2.0" + "@react-native-community/cli-tools" "^10.1.1" + "chalk" "^4.1.2" + "hermes-profile-transformer" "^0.0.6" + "ip" "^1.1.5" + +"@react-native-community/cli-platform-android@^10.2.0", "@react-native-community/cli-platform-android@10.2.0": + "integrity" "sha512-CBenYwGxwFdObZTn1lgxWtMGA5ms2G/ALQhkS+XTAD7KHDrCxFF9yT/fnAjFZKM6vX/1TqGI1RflruXih3kAhw==" + "resolved" "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-10.2.0.tgz" + "version" "10.2.0" + dependencies: + "@react-native-community/cli-tools" "^10.1.1" + "chalk" "^4.1.2" + "execa" "^1.0.0" + "glob" "^7.1.3" + "logkitty" "^0.7.1" + +"@react-native-community/cli-platform-ios@^10.2.4", "@react-native-community/cli-platform-ios@10.2.4": + "integrity" "sha512-/6K+jeRhcGojFIJMWMXV2eY5n/In+YUzBr/DKWQOeHBOHkESRNheG310xSAIjgB46YniSSUKhSyeuhalTbm9OQ==" + "resolved" "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-10.2.4.tgz" + "version" "10.2.4" + dependencies: + "@react-native-community/cli-tools" "^10.1.1" + "chalk" "^4.1.2" + "execa" "^1.0.0" + "fast-xml-parser" "^4.0.12" + "glob" "^7.1.3" + "ora" "^5.4.1" + +"@react-native-community/cli-plugin-metro@^10.2.3": + "integrity" "sha512-jHi2oDuTePmW4NEyVT8JEGNlIYcnFXCSV2ZMp4rnDrUk4TzzyvS3IMvDlESEmG8Kry8rvP0KSUx/hTpy37Sbkw==" + "resolved" "https://registry.npmjs.org/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-10.2.3.tgz" + "version" "10.2.3" + dependencies: + "@react-native-community/cli-server-api" "^10.1.1" + "@react-native-community/cli-tools" "^10.1.1" + "chalk" "^4.1.2" + "execa" "^1.0.0" + "metro" "0.73.10" + "metro-config" "0.73.10" + "metro-core" "0.73.10" + "metro-react-native-babel-transformer" "0.73.10" + "metro-resolver" "0.73.10" + "metro-runtime" "0.73.10" + "readline" "^1.3.0" + +"@react-native-community/cli-server-api@^10.1.1": + "integrity" "sha512-NZDo/wh4zlm8as31UEBno2bui8+ufzsZV+KN7QjEJWEM0levzBtxaD+4je0OpfhRIIkhaRm2gl/vVf7OYAzg4g==" + "resolved" "https://registry.npmjs.org/@react-native-community/cli-server-api/-/cli-server-api-10.1.1.tgz" + "version" "10.1.1" + dependencies: + "@react-native-community/cli-debugger-ui" "^10.0.0" + "@react-native-community/cli-tools" "^10.1.1" + "compression" "^1.7.1" + "connect" "^3.6.5" + "errorhandler" "^1.5.0" + "nocache" "^3.0.1" + "pretty-format" "^26.6.2" + "serve-static" "^1.13.1" + "ws" "^7.5.1" + +"@react-native-community/cli-tools@^10.1.1": + "integrity" "sha512-+FlwOnZBV+ailEzXjcD8afY2ogFEBeHOw/8+XXzMgPaquU2Zly9B+8W089tnnohO3yfiQiZqkQlElP423MY74g==" + "resolved" "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-10.1.1.tgz" + "version" "10.1.1" + dependencies: + "appdirsjs" "^1.2.4" + "chalk" "^4.1.2" + "find-up" "^5.0.0" + "mime" "^2.4.1" + "node-fetch" "^2.6.0" + "open" "^6.2.0" + "ora" "^5.4.1" + "semver" "^6.3.0" + "shell-quote" "^1.7.3" + +"@react-native-community/cli-types@^10.0.0": + "integrity" "sha512-31oUM6/rFBZQfSmDQsT1DX/5fjqfxg7sf2u8kTPJK7rXVya5SRpAMaCXsPAG0omsmJxXt+J9HxUi3Ic+5Ux5Iw==" + "resolved" "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-10.0.0.tgz" + "version" "10.0.0" + dependencies: + "joi" "^17.2.1" + +"@react-native-community/cli@10.2.4": + "integrity" "sha512-E9BUDHfLEsnjkjeJqECuCjl4E/1Ox9Nl6hkQBhEqjZm4AaQxgU7M6AyFfOgaXn5v3am16/R4ZOUTrJnGJWS3GA==" + "resolved" "https://registry.npmjs.org/@react-native-community/cli/-/cli-10.2.4.tgz" + "version" "10.2.4" + dependencies: + "@react-native-community/cli-clean" "^10.1.1" + "@react-native-community/cli-config" "^10.1.1" + "@react-native-community/cli-debugger-ui" "^10.0.0" + "@react-native-community/cli-doctor" "^10.2.4" + "@react-native-community/cli-hermes" "^10.2.0" + "@react-native-community/cli-plugin-metro" "^10.2.3" + "@react-native-community/cli-server-api" "^10.1.1" + "@react-native-community/cli-tools" "^10.1.1" + "@react-native-community/cli-types" "^10.0.0" + "chalk" "^4.1.2" + "commander" "^9.4.1" + "execa" "^1.0.0" + "find-up" "^4.1.0" + "fs-extra" "^8.1.0" + "graceful-fs" "^4.1.3" + "prompts" "^2.4.0" + "semver" "^6.3.0" + +"@react-native/assets@1.0.0": + "integrity" "sha512-KrwSpS1tKI70wuKl68DwJZYEvXktDHdZMG0k2AXD/rJVSlB23/X2CB2cutVR0HwNMJIal9HOUOBB2rVfa6UGtQ==" + "resolved" "https://registry.npmjs.org/@react-native/assets/-/assets-1.0.0.tgz" + "version" "1.0.0" + +"@react-native/normalize-color@*", "@react-native/normalize-color@2.1.0": + "integrity" "sha512-Z1jQI2NpdFJCVgpY+8Dq/Bt3d+YUi1928Q+/CZm/oh66fzM0RUl54vvuXlPJKybH4pdCZey1eDTPaLHkMPNgWA==" + "resolved" "https://registry.npmjs.org/@react-native/normalize-color/-/normalize-color-2.1.0.tgz" + "version" "2.1.0" + +"@react-native/polyfills@2.0.0": + "integrity" "sha512-K0aGNn1TjalKj+65D7ycc1//H9roAQ51GJVk5ZJQFb2teECGmzd86bYDC0aYdbRf7gtovescq4Zt6FR0tgXiHQ==" + "resolved" "https://registry.npmjs.org/@react-native/polyfills/-/polyfills-2.0.0.tgz" + "version" "2.0.0" "@reduxjs/toolkit@^1.8.0": - version "1.8.0" - resolved "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-1.8.0.tgz" - integrity sha512-cdfHWfcvLyhBUDicoFwG1u32JqvwKDxLxDd7zSmSoFw/RhYLOygIRtmaMjPRUUHmVmmAGAvquLLsKKU/677kSQ== + "version" "1.8.0" dependencies: - immer "^9.0.7" - redux "^4.1.2" - redux-thunk "^2.4.1" - reselect "^4.1.5" + "immer" "^9.0.7" + "redux" "^4.1.2" + "redux-thunk" "^2.4.1" + "reselect" "^4.1.5" "@rollup/plugin-babel@^5.2.0": - 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== + "integrity" "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==" + "resolved" "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz" + "version" "5.3.1" dependencies: "@babel/helper-module-imports" "^7.10.4" "@rollup/pluginutils" "^3.1.0" "@rollup/plugin-node-resolve@^11.2.1": - 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== + "integrity" "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==" + "resolved" "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz" + "version" "11.2.1" dependencies: "@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" + "builtin-modules" "^3.1.0" + "deepmerge" "^4.2.2" + "is-module" "^1.0.0" + "resolve" "^1.19.0" "@rollup/plugin-replace@^2.4.1": - version "2.4.2" - resolved "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz" - integrity sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg== + "integrity" "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==" + "resolved" "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz" + "version" "2.4.2" dependencies: "@rollup/pluginutils" "^3.1.0" - magic-string "^0.25.7" + "magic-string" "^0.25.7" "@rollup/pluginutils@^3.1.0": - version "3.1.0" - resolved "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz" - integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg== + "integrity" "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==" + "resolved" "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz" + "version" "3.1.0" dependencies: "@types/estree" "0.0.39" - estree-walker "^1.0.1" - picomatch "^2.2.2" + "estree-walker" "^1.0.1" + "picomatch" "^2.2.2" "@rushstack/eslint-patch@^1.1.0": - version "1.2.0" - resolved "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.2.0.tgz" - integrity sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg== + "version" "1.2.0" + +"@sideway/address@^4.1.3": + "integrity" "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==" + "resolved" "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz" + "version" "4.1.4" + dependencies: + "@hapi/hoek" "^9.0.0" + +"@sideway/formula@^3.0.1": + "integrity" "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==" + "resolved" "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz" + "version" "3.0.1" + +"@sideway/pinpoint@^2.0.0": + "integrity" "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==" + "resolved" "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz" + "version" "2.0.0" "@sinclair/typebox@^0.24.1": - version "0.24.51" - resolved "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz" - integrity sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA== + "integrity" "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==" + "resolved" "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz" + "version" "0.24.51" + +"@sinclair/typebox@^0.25.16": + "integrity" "sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==" + "resolved" "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.25.24.tgz" + "version" "0.25.24" "@sinonjs/commons@^1.7.0": - version "1.8.6" - resolved "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz" - integrity sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ== + "integrity" "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==" + "resolved" "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz" + "version" "1.8.6" + dependencies: + "type-detect" "4.0.8" + +"@sinonjs/commons@^3.0.0": + "integrity" "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==" + "resolved" "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "type-detect" "4.0.8" + +"@sinonjs/fake-timers@^10.0.2": + "integrity" "sha512-w1qd368vtrwttm1PRJWPW1QHlbmHrVDGs1eBH/jZvRPUFS4MNXV9Q33EQdjOdeAxZ7O8+3wM7zxztm2nfUSyKw==" + "resolved" "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.1.0.tgz" + "version" "10.1.0" dependencies: - type-detect "4.0.8" + "@sinonjs/commons" "^3.0.0" "@sinonjs/fake-timers@^8.0.1": - 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== + "integrity" "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==" + "resolved" "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz" + "version" "8.1.0" dependencies: "@sinonjs/commons" "^1.7.0" "@surma/rollup-plugin-off-main-thread@^2.2.3": - 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== + "integrity" "sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==" + "resolved" "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz" + "version" "2.2.3" dependencies: - ejs "^3.1.6" - json5 "^2.2.0" - magic-string "^0.25.0" - string.prototype.matchall "^4.0.6" + "ejs" "^3.1.6" + "json5" "^2.2.0" + "magic-string" "^0.25.0" + "string.prototype.matchall" "^4.0.6" "@svgr/babel-plugin-add-jsx-attribute@^5.4.0": - 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== + "integrity" "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==" + "resolved" "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz" + "version" "5.4.0" "@svgr/babel-plugin-remove-jsx-attribute@^5.4.0": - 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== + "integrity" "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==" + "resolved" "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz" + "version" "5.4.0" "@svgr/babel-plugin-remove-jsx-empty-expression@^5.0.1": - 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== + "integrity" "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==" + "resolved" "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz" + "version" "5.0.1" "@svgr/babel-plugin-replace-jsx-attribute-value@^5.0.1": - 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== + "integrity" "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==" + "resolved" "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz" + "version" "5.0.1" "@svgr/babel-plugin-svg-dynamic-title@^5.4.0": - 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== + "integrity" "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==" + "resolved" "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz" + "version" "5.4.0" "@svgr/babel-plugin-svg-em-dimensions@^5.4.0": - 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== + "integrity" "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==" + "resolved" "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz" + "version" "5.4.0" "@svgr/babel-plugin-transform-react-native-svg@^5.4.0": - 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== + "integrity" "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==" + "resolved" "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz" + "version" "5.4.0" "@svgr/babel-plugin-transform-svg-component@^5.5.0": - 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== + "integrity" "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==" + "resolved" "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz" + "version" "5.5.0" "@svgr/babel-preset@^5.5.0": - version "5.5.0" - resolved "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz" - integrity sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig== + "integrity" "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==" + "resolved" "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz" + "version" "5.5.0" dependencies: "@svgr/babel-plugin-add-jsx-attribute" "^5.4.0" "@svgr/babel-plugin-remove-jsx-attribute" "^5.4.0" @@ -4099,44 +4293,44 @@ "@svgr/babel-plugin-transform-svg-component" "^5.5.0" "@svgr/core@^5.5.0": - version "5.5.0" - resolved "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz" - integrity sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ== + "integrity" "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==" + "resolved" "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz" + "version" "5.5.0" dependencies: "@svgr/plugin-jsx" "^5.5.0" - camelcase "^6.2.0" - cosmiconfig "^7.0.0" + "camelcase" "^6.2.0" + "cosmiconfig" "^7.0.0" "@svgr/hast-util-to-babel-ast@^5.5.0": - 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== + "integrity" "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==" + "resolved" "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz" + "version" "5.5.0" dependencies: "@babel/types" "^7.12.6" "@svgr/plugin-jsx@^5.5.0": - version "5.5.0" - resolved "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz" - integrity sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA== + "integrity" "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==" + "resolved" "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz" + "version" "5.5.0" dependencies: "@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" + "svg-parser" "^2.0.2" "@svgr/plugin-svgo@^5.5.0": - version "5.5.0" - resolved "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz" - integrity sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ== + "integrity" "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==" + "resolved" "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz" + "version" "5.5.0" dependencies: - cosmiconfig "^7.0.0" - deepmerge "^4.2.2" - svgo "^1.2.2" + "cosmiconfig" "^7.0.0" + "deepmerge" "^4.2.2" + "svgo" "^1.2.2" "@svgr/webpack@^5.5.0": - version "5.5.0" - resolved "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz" - integrity sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g== + "integrity" "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==" + "resolved" "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz" + "version" "5.5.0" dependencies: "@babel/core" "^7.12.3" "@babel/plugin-transform-react-constant-elements" "^7.12.1" @@ -4145,72 +4339,82 @@ "@svgr/core" "^5.5.0" "@svgr/plugin-jsx" "^5.5.0" "@svgr/plugin-svgo" "^5.5.0" - loader-utils "^2.0.0" + "loader-utils" "^2.0.0" -"@testing-library/dom@^8.0.0": - version "8.11.4" - resolved "https://registry.npmjs.org/@testing-library/dom/-/dom-8.11.4.tgz" - integrity sha512-7vZ6ZoBEbr6bfEM89W1nzl0vHbuI0g0kRrI0hwSXH3epnuqGO3KulFLQCKfmmW+60t7e4sevAkJPASSMmnNCRw== +"@testing-library/dom@^8.0.0", "@testing-library/dom@>=7.21.4": + "version" "8.11.4" dependencies: "@babel/code-frame" "^7.10.4" "@babel/runtime" "^7.12.5" "@types/aria-query" "^4.2.0" - aria-query "^5.0.0" - chalk "^4.1.0" - dom-accessibility-api "^0.5.9" - lz-string "^1.4.4" - pretty-format "^27.0.2" + "aria-query" "^5.0.0" + "chalk" "^4.1.0" + "dom-accessibility-api" "^0.5.9" + "lz-string" "^1.4.4" + "pretty-format" "^27.0.2" "@testing-library/jest-dom@^5.16.2": - version "5.16.3" - resolved "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.16.3.tgz" - integrity sha512-u5DfKj4wfSt6akfndfu1eG06jsdyA/IUrlX2n3pyq5UXgXMhXY+NJb8eNK/7pqPWAhCKsCGWDdDO0zKMKAYkEA== + "version" "5.16.3" dependencies: "@babel/runtime" "^7.9.2" "@types/testing-library__jest-dom" "^5.9.1" - aria-query "^5.0.0" - chalk "^3.0.0" - css "^3.0.0" - css.escape "^1.5.1" - dom-accessibility-api "^0.5.6" - lodash "^4.17.15" - redent "^3.0.0" + "aria-query" "^5.0.0" + "chalk" "^3.0.0" + "css" "^3.0.0" + "css.escape" "^1.5.1" + "dom-accessibility-api" "^0.5.6" + "lodash" "^4.17.15" + "redent" "^3.0.0" "@testing-library/react@^12.1.4": - version "12.1.4" - resolved "https://registry.npmjs.org/@testing-library/react/-/react-12.1.4.tgz" - integrity sha512-jiPKOm7vyUw311Hn/HlNQ9P8/lHNtArAx0PisXyFixDDvfl8DbD6EUdbshK5eqauvBSvzZd19itqQ9j3nferJA== + "version" "12.1.4" dependencies: "@babel/runtime" "^7.12.5" "@testing-library/dom" "^8.0.0" "@types/react-dom" "*" "@testing-library/user-event@^13.5.0": - version "13.5.0" - resolved "https://registry.npmjs.org/@testing-library/user-event/-/user-event-13.5.0.tgz" - integrity sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg== + "integrity" "sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg==" + "resolved" "https://registry.npmjs.org/@testing-library/user-event/-/user-event-13.5.0.tgz" + "version" "13.5.0" dependencies: "@babel/runtime" "^7.12.5" "@tootallnate/once@1": - version "1.1.2" - resolved "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz" - integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== + "integrity" "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==" + "resolved" "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz" + "version" "1.1.2" "@trysound/sax@0.2.0": - version "0.2.0" - resolved "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz" - integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== + "integrity" "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==" + "resolved" "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz" + "version" "0.2.0" + +"@turf/boolean-clockwise@6.5.0": + "integrity" "sha512-45+C7LC5RMbRWrxh3Z0Eihsc8db1VGBO5d9BLTOAwU4jR6SgsunTfRWR16X7JUwIDYlCVEmnjcXJNi/kIU3VIw==" + "resolved" "https://registry.npmjs.org/@turf/boolean-clockwise/-/boolean-clockwise-6.5.0.tgz" + "version" "6.5.0" + dependencies: + "@turf/helpers" "^6.5.0" + "@turf/invariant" "^6.5.0" + +"@turf/helpers@^6.5.0": + "integrity" "sha512-VbI1dV5bLFzohYYdgqwikdMVpe7pJ9X3E+dlr425wa2/sMJqYDhTO++ec38/pcPvPE6oD9WEEeU3Xu3gza+VPw==" + "resolved" "https://registry.npmjs.org/@turf/helpers/-/helpers-6.5.0.tgz" + "version" "6.5.0" + +"@turf/invariant@^6.5.0": + "integrity" "sha512-Wv8PRNCtPD31UVbdJE/KVAWKe7l6US+lJItRR/HOEW3eh+U/JwRCSUl/KZ7bmjM/C+zLNoreM2TU6OoLACs4eg==" + "resolved" "https://registry.npmjs.org/@turf/invariant/-/invariant-6.5.0.tgz" + "version" "6.5.0" + dependencies: + "@turf/helpers" "^6.5.0" "@types/aria-query@^4.2.0": - version "4.2.2" - resolved "https://registry.npmjs.org/@types/aria-query/-/aria-query-4.2.2.tgz" - integrity sha512-HnYpAE1Y6kRyKM/XkEuiRQhTHvkzMBurTHnpFLYLBGPIylZNPs9jJcuOOYWxPLJCSEtmZT0Y8rHDokKN7rRTig== + "version" "4.2.2" -"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.14": - version "7.1.20" - resolved "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.20.tgz" - integrity sha512-PVb6Bg2QuscZ30FvOU7z4guG6c926D9YRvOxEaelzndpMsvP+YM74Q/dAFASpg2l6+XLalxSGxcq/lrgYWZtyQ== +"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.14", "@types/babel__core@^7.1.9": + "version" "7.1.20" dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" @@ -4219,106 +4423,92 @@ "@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== + "integrity" "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==" + "resolved" "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz" + "version" "7.6.4" dependencies: "@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== + "integrity" "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==" + "resolved" "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz" + "version" "7.4.1" dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" "@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": - version "7.18.3" - resolved "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.3.tgz" - integrity sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w== + "version" "7.18.3" dependencies: "@babel/types" "^7.3.0" "@types/body-parser@*": - version "1.19.2" - resolved "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz" - integrity sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g== + "integrity" "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==" + "resolved" "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz" + "version" "1.19.2" dependencies: "@types/connect" "*" "@types/node" "*" "@types/bonjour@^3.5.9": - version "3.5.10" - resolved "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz" - integrity sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw== + "integrity" "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==" + "resolved" "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz" + "version" "3.5.10" dependencies: "@types/node" "*" "@types/connect-history-api-fallback@^1.3.5": - version "1.3.5" - resolved "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz" - integrity sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw== + "version" "1.3.5" dependencies: "@types/express-serve-static-core" "*" "@types/node" "*" "@types/connect@*": - version "3.4.35" - resolved "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz" - integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ== + "integrity" "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==" + "resolved" "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz" + "version" "3.4.35" dependencies: "@types/node" "*" "@types/cookie@^0.3.3": - version "0.3.3" - resolved "https://registry.npmjs.org/@types/cookie/-/cookie-0.3.3.tgz" - integrity sha512-LKVP3cgXBT9RYj+t+9FDKwS5tdI+rPBXaNSkma7hvqy35lc7mAokC2zsqWJH0LaqIt3B962nuYI77hsJoT1gow== + "integrity" "sha512-LKVP3cgXBT9RYj+t+9FDKwS5tdI+rPBXaNSkma7hvqy35lc7mAokC2zsqWJH0LaqIt3B962nuYI77hsJoT1gow==" + "resolved" "https://registry.npmjs.org/@types/cookie/-/cookie-0.3.3.tgz" + "version" "0.3.3" "@types/eslint-scope@^3.7.3": - version "3.7.4" - resolved "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz" - integrity sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA== + "integrity" "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==" + "resolved" "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz" + "version" "3.7.4" dependencies: "@types/eslint" "*" "@types/estree" "*" "@types/eslint@*", "@types/eslint@^7.29.0 || ^8.4.1": - version "8.4.10" - resolved "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.10.tgz" - integrity sha512-Sl/HOqN8NKPmhWo2VBEPm0nvHnu2LL3v9vKo8MEq0EtbJ4eVzGPl41VNPvn5E1i5poMk4/XD8UriLHpJvEP/Nw== + "version" "8.4.10" dependencies: "@types/estree" "*" "@types/json-schema" "*" "@types/estree@*": - version "1.0.0" - resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz" - integrity sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ== - -"@types/estree@0.0.39": - version "0.0.39" - resolved "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz" - integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== + "version" "1.0.0" "@types/estree@^0.0.51": - version "0.0.51" - resolved "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz" - integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ== + "version" "0.0.51" + +"@types/estree@0.0.39": + "integrity" "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" + "resolved" "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz" + "version" "0.0.39" "@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.31": - version "4.17.32" - resolved "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.32.tgz" - integrity sha512-aI5h/VOkxOF2Z1saPy0Zsxs5avets/iaiAJYznQFm5By/pamU31xWKL//epiF4OfUA2qTOc9PV6tCUjhO8wlZA== + "version" "4.17.32" dependencies: "@types/node" "*" "@types/qs" "*" "@types/range-parser" "*" "@types/express@*", "@types/express@^4.17.13": - version "4.17.15" - resolved "https://registry.npmjs.org/@types/express/-/express-4.17.15.tgz" - integrity sha512-Yv0k4bXGOH+8a+7bELd2PqHQsuiANB+A8a4gnQrkRWzrkKlb6KHaVvyXhqs04sVW/OWlbPyYxRgYlIXLfrufMQ== + "version" "4.17.15" dependencies: "@types/body-parser" "*" "@types/express-serve-static-core" "^4.17.31" @@ -4326,377 +4516,320 @@ "@types/serve-static" "*" "@types/graceful-fs@^4.1.2": - version "4.1.6" - resolved "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz" - integrity sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw== + "integrity" "sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==" + "resolved" "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz" + "version" "4.1.6" dependencies: "@types/node" "*" "@types/hoist-non-react-statics@^3.3.0": - version "3.3.1" - resolved "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz" - integrity sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA== + "integrity" "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==" + "resolved" "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz" + "version" "3.3.1" dependencies: "@types/react" "*" - hoist-non-react-statics "^3.3.0" + "hoist-non-react-statics" "^3.3.0" "@types/html-minifier-terser@^6.0.0": - 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== + "integrity" "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==" + "resolved" "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz" + "version" "6.1.0" "@types/http-proxy@^1.17.8": - version "1.17.9" - resolved "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.9.tgz" - integrity sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw== + "version" "1.17.9" dependencies: "@types/node" "*" "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - version "2.0.4" - resolved "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz" - integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== + "integrity" "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==" + "resolved" "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz" + "version" "2.0.4" "@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== + "integrity" "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==" + "resolved" "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz" + "version" "3.0.0" dependencies: "@types/istanbul-lib-coverage" "*" "@types/istanbul-reports@^3.0.0": - version "3.0.1" - resolved "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz" - integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== + "integrity" "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==" + "resolved" "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz" + "version" "3.0.1" dependencies: "@types/istanbul-lib-report" "*" "@types/jest@*": - version "27.4.1" - resolved "https://registry.npmjs.org/@types/jest/-/jest-27.4.1.tgz" - integrity sha512-23iPJADSmicDVrWk+HT58LMJtzLAnB2AgIzplQuq/bSrGaxCrlvRFjGbXmamnnk/mAmCdLStiGqggu28ocUyiw== + "version" "27.4.1" dependencies: - jest-matcher-utils "^27.0.0" - pretty-format "^27.0.0" + "jest-matcher-utils" "^27.0.0" + "pretty-format" "^27.0.0" "@types/json-schema@*", "@types/json-schema@^7.0.4", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": - version "7.0.11" - resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz" - integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== + "version" "7.0.11" "@types/json5@^0.0.29": - version "0.0.29" - resolved "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz" - integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== + "integrity" "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" + "resolved" "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz" + "version" "0.0.29" "@types/lodash@^4.14.175": - version "4.14.180" - resolved "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.180.tgz" - integrity sha512-XOKXa1KIxtNXgASAnwj7cnttJxS4fksBRywK/9LzRV5YxrF80BXZIGeQSuoESQ/VkUj30Ae0+YcuHc15wJCB2g== + "version" "4.14.180" "@types/mime@*": - version "3.0.1" - resolved "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz" - integrity sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA== + "version" "3.0.1" "@types/node@*", "@types/node@>=6": - version "18.11.18" - resolved "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz" - integrity sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA== + "version" "18.11.18" "@types/parse-json@^4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz" - integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== + "integrity" "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" + "resolved" "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz" + "version" "4.0.0" "@types/prettier@^2.1.5": - version "2.7.2" - resolved "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.2.tgz" - integrity sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg== + "version" "2.7.2" -"@types/prop-types@*", "@types/prop-types@^15.7.4": - version "15.7.4" - resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.4.tgz" - integrity sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ== +"@types/prop-types@*", "@types/prop-types@^15.7.5": + "integrity" "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" + "resolved" "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz" + "version" "15.7.5" "@types/q@^1.5.1": - version "1.5.5" - resolved "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz" - integrity sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ== + "integrity" "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==" + "resolved" "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz" + "version" "1.5.5" "@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== + "integrity" "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" + "resolved" "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz" + "version" "6.9.7" "@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== + "integrity" "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" + "resolved" "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz" + "version" "1.2.4" "@types/react-dom@*": - version "17.0.14" - resolved "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.14.tgz" - integrity sha512-H03xwEP1oXmSfl3iobtmQ/2dHF5aBHr8aUMwyGZya6OW45G+xtdzmq6HkncefiBt5JU8DVyaWl/nWZbjZCnzAQ== + "version" "17.0.14" dependencies: "@types/react" "*" -"@types/react-is@^16.7.1 || ^17.0.0": - version "17.0.3" - resolved "https://registry.npmjs.org/@types/react-is/-/react-is-17.0.3.tgz" - integrity sha512-aBTIWg1emtu95bLTLx0cpkxwGW3ueZv71nE2YFBpL8k/z5czEW8yYpOo8Dp+UUAFAtKwNaOsh/ioSeQnWlZcfw== +"@types/react-is@^18.2.0": + "integrity" "sha512-1vz2yObaQkLL7YFe/pme2cpvDsCwI1WXIfL+5eLz0MI9gFG24Re16RzUsI8t9XZn9ZWvgLNDrJBmrqXJO7GNQQ==" + "resolved" "https://registry.npmjs.org/@types/react-is/-/react-is-18.2.0.tgz" + "version" "18.2.0" dependencies: "@types/react" "*" "@types/react-redux@^7.1.20": - version "7.1.23" - resolved "https://registry.npmjs.org/@types/react-redux/-/react-redux-7.1.23.tgz" - integrity sha512-D02o3FPfqQlfu2WeEYwh3x2otYd2Dk1o8wAfsA0B1C2AJEFxE663Ozu7JzuWbznGgW248NaOF6wsqCGNq9d3qw== + "version" "7.1.23" dependencies: "@types/hoist-non-react-statics" "^3.3.0" "@types/react" "*" - hoist-non-react-statics "^3.3.0" - redux "^4.0.0" + "hoist-non-react-statics" "^3.3.0" + "redux" "^4.0.0" -"@types/react-transition-group@^4.4.4": - version "4.4.4" - resolved "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.4.tgz" - integrity sha512-7gAPz7anVK5xzbeQW9wFBDg7G++aPLAFY0QaSMOou9rJZpbuI58WAuJrgu+qR92l61grlnCUe7AFX8KGahAgug== +"@types/react-transition-group@^4.4.4", "@types/react-transition-group@^4.4.5": + "integrity" "sha512-VnCdSxfcm08KjsJVQcfBmhEQAPnLB8G08hAxn39azX1qYBQ/5RVQuoHuKIcfKOdncuaUvEpFKFzEvbtIMsfVew==" + "resolved" "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.6.tgz" + "version" "4.4.6" dependencies: "@types/react" "*" -"@types/react@*": - version "17.0.43" - resolved "https://registry.npmjs.org/@types/react/-/react-17.0.43.tgz" - integrity sha512-8Q+LNpdxf057brvPu1lMtC5Vn7J119xrP1aq4qiaefNioQUYANF/CYeK4NsKorSZyUGJ66g0IM+4bbjwx45o2A== +"@types/react@*", "@types/react@^16.8.6 || ^17.0.0": + "version" "17.0.43" dependencies: "@types/prop-types" "*" "@types/scheduler" "*" - csstype "^3.0.2" + "csstype" "^3.0.2" "@types/resolve@1.17.1": - version "1.17.1" - resolved "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz" - integrity sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw== + "integrity" "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==" + "resolved" "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz" + "version" "1.17.1" dependencies: "@types/node" "*" "@types/retry@0.12.0": - version "0.12.0" - resolved "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz" - integrity sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA== + "integrity" "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" + "resolved" "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz" + "version" "0.12.0" "@types/scheduler@*": - version "0.16.2" - resolved "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz" - integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew== + "version" "0.16.2" "@types/semver@^7.3.12": - version "7.3.13" - resolved "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz" - integrity sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw== + "version" "7.3.13" "@types/serve-index@^1.9.1": - version "1.9.1" - resolved "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz" - integrity sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg== + "integrity" "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==" + "resolved" "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz" + "version" "1.9.1" dependencies: "@types/express" "*" "@types/serve-static@*", "@types/serve-static@^1.13.10": - version "1.15.0" - resolved "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.0.tgz" - integrity sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg== + "version" "1.15.0" dependencies: "@types/mime" "*" "@types/node" "*" "@types/sockjs@^0.3.33": - version "0.3.33" - resolved "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz" - integrity sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw== + "integrity" "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==" + "resolved" "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz" + "version" "0.3.33" dependencies: "@types/node" "*" "@types/stack-utils@^2.0.0": - version "2.0.1" - resolved "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz" - integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== + "integrity" "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==" + "resolved" "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz" + "version" "2.0.1" "@types/testing-library__jest-dom@^5.9.1": - version "5.14.3" - resolved "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.3.tgz" - integrity sha512-oKZe+Mf4ioWlMuzVBaXQ9WDnEm1+umLx0InILg+yvZVBBDmzV5KfZyLrCvadtWcx8+916jLmHafcmqqffl+iIw== + "version" "5.14.3" dependencies: "@types/jest" "*" "@types/trusted-types@^2.0.2": - version "2.0.2" - resolved "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.2.tgz" - integrity sha512-F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg== + "version" "2.0.2" "@types/ws@^8.5.1": - version "8.5.4" - resolved "https://registry.npmjs.org/@types/ws/-/ws-8.5.4.tgz" - integrity sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg== + "version" "8.5.4" dependencies: "@types/node" "*" "@types/yargs-parser@*": - version "21.0.0" - resolved "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz" - integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== + "integrity" "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==" + "resolved" "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz" + "version" "21.0.0" + +"@types/yargs@^15.0.0": + "integrity" "sha512-IziEYMU9XoVj8hWg7k+UJrXALkGFjWJhn5QFEv9q4p+v40oZhSuC135M38st8XPjICL7Ey4TV64ferBGUoJhBg==" + "resolved" "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.15.tgz" + "version" "15.0.15" + dependencies: + "@types/yargs-parser" "*" "@types/yargs@^16.0.0": - version "16.0.5" - resolved "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz" - integrity sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ== + "integrity" "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==" + "resolved" "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz" + "version" "16.0.5" dependencies: "@types/yargs-parser" "*" "@types/yargs@^17.0.8": - version "17.0.19" - resolved "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.19.tgz" - integrity sha512-cAx3qamwaYX9R0fzOIZAlFpo4A+1uBVCxqpKz9D26uTF4srRXaGTTsikQmaotCtNdbhzyUH7ft6p9ktz9s6UNQ== + "integrity" "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==" + "resolved" "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz" + "version" "17.0.24" dependencies: "@types/yargs-parser" "*" "@types/zen-observable@^0.8.0": - version "0.8.3" - resolved "https://registry.npmjs.org/@types/zen-observable/-/zen-observable-0.8.3.tgz" - integrity sha512-fbF6oTd4sGGy0xjHPKAt+eS2CrxJ3+6gQ3FGcBoIJR2TLAyCkCyI8JqZNy+FeON0AhVgNJoUumVoZQjBFUqHkw== + "integrity" "sha512-fbF6oTd4sGGy0xjHPKAt+eS2CrxJ3+6gQ3FGcBoIJR2TLAyCkCyI8JqZNy+FeON0AhVgNJoUumVoZQjBFUqHkw==" + "resolved" "https://registry.npmjs.org/@types/zen-observable/-/zen-observable-0.8.3.tgz" + "version" "0.8.3" -"@typescript-eslint/eslint-plugin@^5.5.0": - version "5.48.0" - resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.48.0.tgz" - integrity sha512-SVLafp0NXpoJY7ut6VFVUU9I+YeFsDzeQwtK0WZ+xbRN3mtxJ08je+6Oi2N89qDn087COdO0u3blKZNv9VetRQ== +"@typescript-eslint/eslint-plugin@^4.0.0 || ^5.0.0", "@typescript-eslint/eslint-plugin@^5.5.0": + "version" "5.48.0" dependencies: "@typescript-eslint/scope-manager" "5.48.0" "@typescript-eslint/type-utils" "5.48.0" "@typescript-eslint/utils" "5.48.0" - debug "^4.3.4" - ignore "^5.2.0" - natural-compare-lite "^1.4.0" - regexpp "^3.2.0" - semver "^7.3.7" - tsutils "^3.21.0" + "debug" "^4.3.4" + "ignore" "^5.2.0" + "natural-compare-lite" "^1.4.0" + "regexpp" "^3.2.0" + "semver" "^7.3.7" + "tsutils" "^3.21.0" "@typescript-eslint/experimental-utils@^5.0.0": - version "5.48.0" - resolved "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.48.0.tgz" - integrity sha512-ehoJFf67UViwnYuz6JUneZ8qxgDk0qEWKiTLmpE8WpPEr15e2cSLtp0E6Zicx2DaYdwctUA0uLRTbLckxQpurg== + "version" "5.48.0" dependencies: "@typescript-eslint/utils" "5.48.0" -"@typescript-eslint/parser@^5.5.0": - version "5.48.0" - resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.48.0.tgz" - integrity sha512-1mxNA8qfgxX8kBvRDIHEzrRGrKHQfQlbW6iHyfHYS0Q4X1af+S6mkLNtgCOsGVl8+/LUPrqdHMssAemkrQ01qg== +"@typescript-eslint/parser@^5.0.0", "@typescript-eslint/parser@^5.5.0": + "version" "5.48.0" dependencies: "@typescript-eslint/scope-manager" "5.48.0" "@typescript-eslint/types" "5.48.0" "@typescript-eslint/typescript-estree" "5.48.0" - debug "^4.3.4" + "debug" "^4.3.4" "@typescript-eslint/scope-manager@5.48.0": - version "5.48.0" - resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.48.0.tgz" - integrity sha512-0AA4LviDtVtZqlyUQnZMVHydDATpD9SAX/RC5qh6cBd3xmyWvmXYF+WT1oOmxkeMnWDlUVTwdODeucUnjz3gow== + "version" "5.48.0" dependencies: "@typescript-eslint/types" "5.48.0" "@typescript-eslint/visitor-keys" "5.48.0" "@typescript-eslint/type-utils@5.48.0": - version "5.48.0" - resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.48.0.tgz" - integrity sha512-vbtPO5sJyFjtHkGlGK4Sthmta0Bbls4Onv0bEqOGm7hP9h8UpRsHJwsrCiWtCUndTRNQO/qe6Ijz9rnT/DB+7g== + "version" "5.48.0" dependencies: "@typescript-eslint/typescript-estree" "5.48.0" "@typescript-eslint/utils" "5.48.0" - debug "^4.3.4" - tsutils "^3.21.0" + "debug" "^4.3.4" + "tsutils" "^3.21.0" "@typescript-eslint/types@5.48.0": - version "5.48.0" - resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.48.0.tgz" - integrity sha512-UTe67B0Ypius0fnEE518NB2N8gGutIlTojeTg4nt0GQvikReVkurqxd2LvYa9q9M5MQ6rtpNyWTBxdscw40Xhw== + "version" "5.48.0" "@typescript-eslint/typescript-estree@5.48.0": - version "5.48.0" - resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.48.0.tgz" - integrity sha512-7pjd94vvIjI1zTz6aq/5wwE/YrfIyEPLtGJmRfyNR9NYIW+rOvzzUv3Cmq2hRKpvt6e9vpvPUQ7puzX7VSmsEw== + "version" "5.48.0" dependencies: "@typescript-eslint/types" "5.48.0" "@typescript-eslint/visitor-keys" "5.48.0" - debug "^4.3.4" - globby "^11.1.0" - is-glob "^4.0.3" - semver "^7.3.7" - tsutils "^3.21.0" + "debug" "^4.3.4" + "globby" "^11.1.0" + "is-glob" "^4.0.3" + "semver" "^7.3.7" + "tsutils" "^3.21.0" -"@typescript-eslint/utils@5.48.0", "@typescript-eslint/utils@^5.13.0": - version "5.48.0" - resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.48.0.tgz" - integrity sha512-x2jrMcPaMfsHRRIkL+x96++xdzvrdBCnYRd5QiW5Wgo1OB4kDYPbC1XjWP/TNqlfK93K/lUL92erq5zPLgFScQ== +"@typescript-eslint/utils@^5.13.0", "@typescript-eslint/utils@5.48.0": + "version" "5.48.0" dependencies: "@types/json-schema" "^7.0.9" "@types/semver" "^7.3.12" "@typescript-eslint/scope-manager" "5.48.0" "@typescript-eslint/types" "5.48.0" "@typescript-eslint/typescript-estree" "5.48.0" - eslint-scope "^5.1.1" - eslint-utils "^3.0.0" - semver "^7.3.7" + "eslint-scope" "^5.1.1" + "eslint-utils" "^3.0.0" + "semver" "^7.3.7" "@typescript-eslint/visitor-keys@5.48.0": - version "5.48.0" - resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.48.0.tgz" - integrity sha512-5motVPz5EgxQ0bHjut3chzBkJ3Z3sheYVcSwS5BpHZpLqSptSmELNtGixmgj65+rIfhvtQTz5i9OP2vtzdDH7Q== + "version" "5.48.0" dependencies: "@typescript-eslint/types" "5.48.0" - eslint-visitor-keys "^3.3.0" + "eslint-visitor-keys" "^3.3.0" "@webassemblyjs/ast@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz" - integrity sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw== + "version" "1.11.1" dependencies: "@webassemblyjs/helper-numbers" "1.11.1" "@webassemblyjs/helper-wasm-bytecode" "1.11.1" "@webassemblyjs/floating-point-hex-parser@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz" - integrity sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ== + "version" "1.11.1" "@webassemblyjs/helper-api-error@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz" - integrity sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg== + "version" "1.11.1" "@webassemblyjs/helper-buffer@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz" - integrity sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA== + "version" "1.11.1" "@webassemblyjs/helper-numbers@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz" - integrity sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ== + "version" "1.11.1" dependencies: "@webassemblyjs/floating-point-hex-parser" "1.11.1" "@webassemblyjs/helper-api-error" "1.11.1" "@xtuc/long" "4.2.2" "@webassemblyjs/helper-wasm-bytecode@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz" - integrity sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q== + "version" "1.11.1" "@webassemblyjs/helper-wasm-section@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz" - integrity sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg== + "version" "1.11.1" dependencies: "@webassemblyjs/ast" "1.11.1" "@webassemblyjs/helper-buffer" "1.11.1" @@ -4704,28 +4837,20 @@ "@webassemblyjs/wasm-gen" "1.11.1" "@webassemblyjs/ieee754@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz" - integrity sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ== + "version" "1.11.1" dependencies: "@xtuc/ieee754" "^1.2.0" "@webassemblyjs/leb128@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz" - integrity sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw== + "version" "1.11.1" dependencies: "@xtuc/long" "4.2.2" "@webassemblyjs/utf8@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz" - integrity sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ== + "version" "1.11.1" "@webassemblyjs/wasm-edit@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz" - integrity sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA== + "version" "1.11.1" dependencies: "@webassemblyjs/ast" "1.11.1" "@webassemblyjs/helper-buffer" "1.11.1" @@ -4737,9 +4862,7 @@ "@webassemblyjs/wast-printer" "1.11.1" "@webassemblyjs/wasm-gen@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz" - integrity sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA== + "version" "1.11.1" dependencies: "@webassemblyjs/ast" "1.11.1" "@webassemblyjs/helper-wasm-bytecode" "1.11.1" @@ -4748,9 +4871,7 @@ "@webassemblyjs/utf8" "1.11.1" "@webassemblyjs/wasm-opt@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz" - integrity sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw== + "version" "1.11.1" dependencies: "@webassemblyjs/ast" "1.11.1" "@webassemblyjs/helper-buffer" "1.11.1" @@ -4758,9 +4879,7 @@ "@webassemblyjs/wasm-parser" "1.11.1" "@webassemblyjs/wasm-parser@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz" - integrity sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA== + "version" "1.11.1" dependencies: "@webassemblyjs/ast" "1.11.1" "@webassemblyjs/helper-api-error" "1.11.1" @@ -4770,669 +4889,739 @@ "@webassemblyjs/utf8" "1.11.1" "@webassemblyjs/wast-printer@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz" - integrity sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg== + "version" "1.11.1" dependencies: "@webassemblyjs/ast" "1.11.1" "@xtuc/long" "4.2.2" "@wry/context@^0.4.0": - version "0.4.4" - resolved "https://registry.npmjs.org/@wry/context/-/context-0.4.4.tgz" - integrity sha512-LrKVLove/zw6h2Md/KZyWxIkFM6AoyKp71OqpH9Hiip1csjPVoD3tPxlbQUNxEnHENks3UGgNpSBCAfq9KWuag== + "integrity" "sha512-LrKVLove/zw6h2Md/KZyWxIkFM6AoyKp71OqpH9Hiip1csjPVoD3tPxlbQUNxEnHENks3UGgNpSBCAfq9KWuag==" + "resolved" "https://registry.npmjs.org/@wry/context/-/context-0.4.4.tgz" + "version" "0.4.4" dependencies: "@types/node" ">=6" - tslib "^1.9.3" + "tslib" "^1.9.3" "@wry/context@^0.6.0": - version "0.6.1" - resolved "https://registry.npmjs.org/@wry/context/-/context-0.6.1.tgz" - integrity sha512-LOmVnY1iTU2D8tv4Xf6MVMZZ+juIJ87Kt/plMijjN20NMAXGmH4u8bS1t0uT74cZ5gwpocYueV58YwyI8y+GKw== + "version" "0.6.1" dependencies: - tslib "^2.3.0" + "tslib" "^2.3.0" "@wry/equality@^0.1.2": - version "0.1.11" - resolved "https://registry.npmjs.org/@wry/equality/-/equality-0.1.11.tgz" - integrity sha512-mwEVBDUVODlsQQ5dfuLUS5/Tf7jqUKyhKYHmVi4fPB6bDMOfWvUPJmKgS1Z7Za/sOI3vzWt4+O7yCiL/70MogA== + "integrity" "sha512-mwEVBDUVODlsQQ5dfuLUS5/Tf7jqUKyhKYHmVi4fPB6bDMOfWvUPJmKgS1Z7Za/sOI3vzWt4+O7yCiL/70MogA==" + "resolved" "https://registry.npmjs.org/@wry/equality/-/equality-0.1.11.tgz" + "version" "0.1.11" dependencies: - tslib "^1.9.3" + "tslib" "^1.9.3" "@wry/equality@^0.5.0": - version "0.5.2" - resolved "https://registry.npmjs.org/@wry/equality/-/equality-0.5.2.tgz" - integrity sha512-oVMxbUXL48EV/C0/M7gLVsoK6qRHPS85x8zECofEZOVvxGmIPLA9o5Z27cc2PoAyZz1S2VoM2A7FLAnpfGlneA== + "version" "0.5.2" dependencies: - tslib "^2.3.0" + "tslib" "^2.3.0" "@wry/trie@^0.3.0": - version "0.3.1" - resolved "https://registry.npmjs.org/@wry/trie/-/trie-0.3.1.tgz" - integrity sha512-WwB53ikYudh9pIorgxrkHKrQZcCqNM/Q/bDzZBffEaGUKGuHrRb3zZUT9Sh2qw9yogC7SsdRmQ1ER0pqvd3bfw== + "version" "0.3.1" dependencies: - tslib "^2.3.0" + "tslib" "^2.3.0" "@xtuc/ieee754@^1.2.0": - version "1.2.0" - resolved "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz" - integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== + "integrity" "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" + "resolved" "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz" + "version" "1.2.0" "@xtuc/long@4.2.2": - version "4.2.2" - resolved "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz" - integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== - -abab@^2.0.3, abab@^2.0.5: - version "2.0.6" - resolved "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz" - integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== - -accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8: - 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== - dependencies: - mime-types "~2.1.34" - negotiator "0.6.3" - -acorn-globals@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz" - integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== - dependencies: - acorn "^7.1.1" - acorn-walk "^7.1.1" - -acorn-import-assertions@^1.7.6: - version "1.8.0" - resolved "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz" - integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw== - -acorn-jsx@^5.3.2: - version "5.3.2" - resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" - integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== - -acorn-node@^1.8.2: - version "1.8.2" - resolved "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz" - integrity sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A== - dependencies: - acorn "^7.0.0" - acorn-walk "^7.0.0" - xtend "^4.0.2" - -acorn-walk@^7.0.0, acorn-walk@^7.1.1: - version "7.2.0" - resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz" - integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== - -acorn@^7.0.0, acorn@^7.1.1: - version "7.4.1" - resolved "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz" - integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== - -acorn@^8.2.4, acorn@^8.5.0, acorn@^8.7.1, acorn@^8.8.0: - version "8.8.1" - resolved "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz" - integrity sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA== - -address@^1.0.1, address@^1.1.2: - version "1.2.2" - resolved "https://registry.npmjs.org/address/-/address-1.2.2.tgz" - integrity sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA== - -adjust-sourcemap-loader@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz" - integrity sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A== - dependencies: - loader-utils "^2.0.0" - regex-parser "^2.2.11" - -agent-base@6: - version "6.0.2" - resolved "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz" - integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== - dependencies: - debug "4" - -ajv-formats@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz" - integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== - dependencies: - ajv "^8.0.0" - -ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: - version "3.5.2" - resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz" - integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== - -ajv-keywords@^5.0.0: - version "5.1.0" - resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz" - integrity sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw== - dependencies: - fast-deep-equal "^3.1.3" - -ajv@^6.10.0, ajv@^6.12.2, ajv@^6.12.4, ajv@^6.12.5: - version "6.12.6" - resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - dependencies: - 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@^8.0.0, ajv@^8.6.0, ajv@^8.8.0: - version "8.12.0" - resolved "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz" - integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - -amazon-cognito-identity-js@5.2.8: - version "5.2.8" - resolved "https://registry.npmjs.org/amazon-cognito-identity-js/-/amazon-cognito-identity-js-5.2.8.tgz" - integrity sha512-ikHbIBtdJeXUeHIKFDF+qptRbTX81ZIe+ItvsgjcNXEKuW0ZgjnHw6tgPmOFOweQfUyzW+RpA+T3fG+YqOklbw== - dependencies: - buffer "4.9.2" - crypto-js "^4.1.1" - fast-base64-decode "^1.0.0" - isomorphic-unfetch "^3.0.0" - js-cookie "^2.2.1" - -amazon-quicksight-embedding-sdk@^1.18.1: - version "1.18.1" - resolved "https://registry.npmjs.org/amazon-quicksight-embedding-sdk/-/amazon-quicksight-embedding-sdk-1.18.1.tgz" - integrity sha512-47wbo0FoZS/rldXPR2em855Bi7XDQm0yQwQ+X6BEe+FRShRUfAok9kWFeXfXVTrWMna8MOdf+Txa5RNptdDiOA== - -ansi-escapes@^4.2.1, ansi-escapes@^4.3.1: - version "4.3.2" - resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz" - integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== - dependencies: - type-fest "^0.21.3" - -ansi-html-community@^0.0.8: - 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@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-regex@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz" - integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== - -ansi-styles@^3.2.1: - 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== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -ansi-styles@^5.0.0: - version "5.2.0" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz" - integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== - -anymatch@^3.0.3, anymatch@~3.1.2: - version "3.1.3" - resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" - integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -apexcharts@^3.33.2: - version "3.33.2" - resolved "https://registry.npmjs.org/apexcharts/-/apexcharts-3.33.2.tgz" - integrity sha512-GkHZ3o36ZT/jSBh5y1pxxRzwM3tvtladtkcUTfXwP0wYAHK8Qj0X4ZPsupP7emRIjhOVpGsCxW9xeO3F5w+AOQ== - dependencies: - svg.draggable.js "^2.2.2" - svg.easing.js "^2.0.0" - svg.filter.js "^2.0.2" - svg.pathmorphing.js "^0.1.3" - svg.resize.js "^1.4.3" - svg.select.js "^3.0.1" - -apollo-boost@^0.4.9: - version "0.4.9" - resolved "https://registry.npmjs.org/apollo-boost/-/apollo-boost-0.4.9.tgz" - integrity sha512-05y5BKcDaa8w47f8d81UVwKqrAjn8uKLv6QM9fNdldoNzQ+rnOHgFlnrySUZRz9QIT3vPftQkEz2UEASp1Mi5g== - dependencies: - apollo-cache "^1.3.5" - apollo-cache-inmemory "^1.6.6" - apollo-client "^2.6.10" - apollo-link "^1.0.6" - apollo-link-error "^1.0.3" - apollo-link-http "^1.3.1" - graphql-tag "^2.4.2" - ts-invariant "^0.4.0" - tslib "^1.10.0" - -apollo-cache-inmemory@^1.6.6: - version "1.6.6" - resolved "https://registry.npmjs.org/apollo-cache-inmemory/-/apollo-cache-inmemory-1.6.6.tgz" - integrity sha512-L8pToTW/+Xru2FFAhkZ1OA9q4V4nuvfoPecBM34DecAugUZEBhI2Hmpgnzq2hTKZ60LAMrlqiASm0aqAY6F8/A== - dependencies: - apollo-cache "^1.3.5" - apollo-utilities "^1.3.4" - optimism "^0.10.0" - ts-invariant "^0.4.0" - tslib "^1.10.0" - -apollo-cache@1.3.5, apollo-cache@^1.3.5: - version "1.3.5" - resolved "https://registry.npmjs.org/apollo-cache/-/apollo-cache-1.3.5.tgz" - integrity sha512-1XoDy8kJnyWY/i/+gLTEbYLnoiVtS8y7ikBr/IfmML4Qb+CM7dEEbIUOjnY716WqmZ/UpXIxTfJsY7rMcqiCXA== - dependencies: - apollo-utilities "^1.3.4" - tslib "^1.10.0" - -apollo-client@^2.6.10: - version "2.6.10" - resolved "https://registry.npmjs.org/apollo-client/-/apollo-client-2.6.10.tgz" - integrity sha512-jiPlMTN6/5CjZpJOkGeUV0mb4zxx33uXWdj/xQCfAMkuNAC3HN7CvYDyMHHEzmcQ5GV12LszWoQ/VlxET24CtA== + "integrity" "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" + "resolved" "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz" + "version" "4.2.2" + +"abab@^2.0.3", "abab@^2.0.5": + "integrity" "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==" + "resolved" "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz" + "version" "2.0.6" + +"abort-controller@^3.0.0": + "integrity" "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==" + "resolved" "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "event-target-shim" "^5.0.0" + +"absolute-path@^0.0.0": + "integrity" "sha512-HQiug4c+/s3WOvEnDRxXVmNtSG5s2gJM9r19BTcqjp7BWcE48PB+Y2G6jE65kqI0LpsQeMZygt/b60Gi4KxGyA==" + "resolved" "https://registry.npmjs.org/absolute-path/-/absolute-path-0.0.0.tgz" + "version" "0.0.0" + +"accepts@^1.3.7", "accepts@~1.3.4", "accepts@~1.3.5", "accepts@~1.3.7", "accepts@~1.3.8": + "integrity" "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==" + "resolved" "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz" + "version" "1.3.8" + dependencies: + "mime-types" "~2.1.34" + "negotiator" "0.6.3" + +"acorn-globals@^6.0.0": + "integrity" "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==" + "resolved" "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz" + "version" "6.0.0" + dependencies: + "acorn" "^7.1.1" + "acorn-walk" "^7.1.1" + +"acorn-import-assertions@^1.7.6": + "version" "1.8.0" + +"acorn-jsx@^5.3.2": + "integrity" "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==" + "resolved" "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" + "version" "5.3.2" + +"acorn-node@^1.8.2": + "version" "1.8.2" + dependencies: + "acorn" "^7.0.0" + "acorn-walk" "^7.0.0" + "xtend" "^4.0.2" + +"acorn-walk@^7.0.0", "acorn-walk@^7.1.1": + "integrity" "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==" + "resolved" "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz" + "version" "7.2.0" + +"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", "acorn@^8", "acorn@^8.2.4", "acorn@^8.5.0", "acorn@^8.7.1", "acorn@^8.8.0": + "version" "8.8.1" + +"acorn@^7.0.0": + "version" "7.4.1" + +"acorn@^7.1.1": + "integrity" "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" + "resolved" "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz" + "version" "7.4.1" + +"address@^1.0.1", "address@^1.1.2": + "integrity" "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==" + "resolved" "https://registry.npmjs.org/address/-/address-1.2.2.tgz" + "version" "1.2.2" + +"adjust-sourcemap-loader@^4.0.0": + "integrity" "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==" + "resolved" "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "loader-utils" "^2.0.0" + "regex-parser" "^2.2.11" + +"agent-base@6": + "integrity" "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==" + "resolved" "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz" + "version" "6.0.2" + dependencies: + "debug" "4" + +"ajv-formats@^2.1.1": + "integrity" "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==" + "resolved" "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz" + "version" "2.1.1" + dependencies: + "ajv" "^8.0.0" + +"ajv-keywords@^3.4.1", "ajv-keywords@^3.5.2": + "integrity" "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==" + "resolved" "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz" + "version" "3.5.2" + +"ajv-keywords@^5.0.0": + "version" "5.1.0" + dependencies: + "fast-deep-equal" "^3.1.3" + +"ajv@^6.10.0", "ajv@^6.12.2", "ajv@^6.12.4", "ajv@^6.12.5", "ajv@^6.9.1": + "integrity" "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==" + "resolved" "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" + "version" "6.12.6" + dependencies: + "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@^8.0.0", "ajv@^8.8.0", "ajv@^8.8.2": + "integrity" "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==" + "resolved" "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz" + "version" "8.12.0" + dependencies: + "fast-deep-equal" "^3.1.1" + "json-schema-traverse" "^1.0.0" + "require-from-string" "^2.0.2" + "uri-js" "^4.2.2" + +"ajv@^8.6.0", "ajv@>=8": + "integrity" "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==" + "resolved" "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz" + "version" "8.12.0" + dependencies: + "fast-deep-equal" "^3.1.1" + "json-schema-traverse" "^1.0.0" + "require-from-string" "^2.0.2" + "uri-js" "^4.2.2" + +"amazon-cognito-identity-js@6.2.0": + "integrity" "sha512-9Fxrp9+MtLdsJvqOwSaE3ll+pneICeuE3pwj2yDkiyGNWuHx97b8bVLR2bOgfDmDJnY0Hq8QoeXtwdM4aaXJjg==" + "resolved" "https://registry.npmjs.org/amazon-cognito-identity-js/-/amazon-cognito-identity-js-6.2.0.tgz" + "version" "6.2.0" + dependencies: + "@aws-crypto/sha256-js" "1.2.2" + "buffer" "4.9.2" + "fast-base64-decode" "^1.0.0" + "isomorphic-unfetch" "^3.0.0" + "js-cookie" "^2.2.1" + +"amazon-quicksight-embedding-sdk@^1.18.1": + "version" "1.18.1" + +"anser@^1.4.9": + "integrity" "sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==" + "resolved" "https://registry.npmjs.org/anser/-/anser-1.4.10.tgz" + "version" "1.4.10" + +"ansi-escapes@^4.2.1", "ansi-escapes@^4.3.1": + "integrity" "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==" + "resolved" "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz" + "version" "4.3.2" + dependencies: + "type-fest" "^0.21.3" + +"ansi-fragments@^0.2.1": + "integrity" "sha512-DykbNHxuXQwUDRv5ibc2b0x7uw7wmwOGLBUd5RmaQ5z8Lhx19vwvKV+FAsM5rEA6dEcHxX+/Ad5s9eF2k2bB+w==" + "resolved" "https://registry.npmjs.org/ansi-fragments/-/ansi-fragments-0.2.1.tgz" + "version" "0.2.1" + dependencies: + "colorette" "^1.0.7" + "slice-ansi" "^2.0.0" + "strip-ansi" "^5.0.0" + +"ansi-html-community@^0.0.8": + "integrity" "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==" + "resolved" "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz" + "version" "0.0.8" + +"ansi-regex@^4.1.0": + "integrity" "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==" + "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz" + "version" "4.1.1" + +"ansi-regex@^5.0.0", "ansi-regex@^5.0.1": + "integrity" "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" + "version" "5.0.1" + +"ansi-regex@^6.0.1": + "integrity" "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" + "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz" + "version" "6.0.1" + +"ansi-styles@^3.2.0": + "integrity" "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==" + "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" + "version" "3.2.1" + dependencies: + "color-convert" "^1.9.0" + +"ansi-styles@^3.2.1": + "integrity" "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==" + "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" + "version" "3.2.1" + dependencies: + "color-convert" "^1.9.0" + +"ansi-styles@^4.0.0", "ansi-styles@^4.1.0": + "integrity" "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==" + "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" + "version" "4.3.0" + dependencies: + "color-convert" "^2.0.1" + +"ansi-styles@^5.0.0": + "integrity" "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" + "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz" + "version" "5.2.0" + +"anymatch@^3.0.3", "anymatch@~3.1.2": + "integrity" "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==" + "resolved" "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" + "version" "3.1.3" + dependencies: + "normalize-path" "^3.0.0" + "picomatch" "^2.0.4" + +"apexcharts@^3.18.0", "apexcharts@^3.33.2": + "version" "3.33.2" + dependencies: + "svg.draggable.js" "^2.2.2" + "svg.easing.js" "^2.0.0" + "svg.filter.js" "^2.0.2" + "svg.pathmorphing.js" "^0.1.3" + "svg.resize.js" "^1.4.3" + "svg.select.js" "^3.0.1" + +"apollo-boost@^0.4.9": + "integrity" "sha512-05y5BKcDaa8w47f8d81UVwKqrAjn8uKLv6QM9fNdldoNzQ+rnOHgFlnrySUZRz9QIT3vPftQkEz2UEASp1Mi5g==" + "resolved" "https://registry.npmjs.org/apollo-boost/-/apollo-boost-0.4.9.tgz" + "version" "0.4.9" + dependencies: + "apollo-cache" "^1.3.5" + "apollo-cache-inmemory" "^1.6.6" + "apollo-client" "^2.6.10" + "apollo-link" "^1.0.6" + "apollo-link-error" "^1.0.3" + "apollo-link-http" "^1.3.1" + "graphql-tag" "^2.4.2" + "ts-invariant" "^0.4.0" + "tslib" "^1.10.0" + +"apollo-cache-inmemory@^1.6.6": + "integrity" "sha512-L8pToTW/+Xru2FFAhkZ1OA9q4V4nuvfoPecBM34DecAugUZEBhI2Hmpgnzq2hTKZ60LAMrlqiASm0aqAY6F8/A==" + "resolved" "https://registry.npmjs.org/apollo-cache-inmemory/-/apollo-cache-inmemory-1.6.6.tgz" + "version" "1.6.6" + dependencies: + "apollo-cache" "^1.3.5" + "apollo-utilities" "^1.3.4" + "optimism" "^0.10.0" + "ts-invariant" "^0.4.0" + "tslib" "^1.10.0" + +"apollo-cache@^1.3.5", "apollo-cache@1.3.5": + "integrity" "sha512-1XoDy8kJnyWY/i/+gLTEbYLnoiVtS8y7ikBr/IfmML4Qb+CM7dEEbIUOjnY716WqmZ/UpXIxTfJsY7rMcqiCXA==" + "resolved" "https://registry.npmjs.org/apollo-cache/-/apollo-cache-1.3.5.tgz" + "version" "1.3.5" + dependencies: + "apollo-utilities" "^1.3.4" + "tslib" "^1.10.0" + +"apollo-client@^2.6.10": + "integrity" "sha512-jiPlMTN6/5CjZpJOkGeUV0mb4zxx33uXWdj/xQCfAMkuNAC3HN7CvYDyMHHEzmcQ5GV12LszWoQ/VlxET24CtA==" + "resolved" "https://registry.npmjs.org/apollo-client/-/apollo-client-2.6.10.tgz" + "version" "2.6.10" dependencies: "@types/zen-observable" "^0.8.0" - apollo-cache "1.3.5" - apollo-link "^1.0.0" - apollo-utilities "1.3.4" - symbol-observable "^1.0.2" - ts-invariant "^0.4.0" - tslib "^1.10.0" - zen-observable "^0.8.0" - -apollo-link-error@^1.0.3: - version "1.1.13" - resolved "https://registry.npmjs.org/apollo-link-error/-/apollo-link-error-1.1.13.tgz" - integrity sha512-jAZOOahJU6bwSqb2ZyskEK1XdgUY9nkmeclCrW7Gddh1uasHVqmoYc4CKdb0/H0Y1J9lvaXKle2Wsw/Zx1AyUg== - dependencies: - apollo-link "^1.2.14" - apollo-link-http-common "^0.2.16" - tslib "^1.9.3" - -apollo-link-http-common@^0.2.16: - version "0.2.16" - resolved "https://registry.npmjs.org/apollo-link-http-common/-/apollo-link-http-common-0.2.16.tgz" - integrity sha512-2tIhOIrnaF4UbQHf7kjeQA/EmSorB7+HyJIIrUjJOKBgnXwuexi8aMecRlqTIDWcyVXCeqLhUnztMa6bOH/jTg== - dependencies: - apollo-link "^1.2.14" - ts-invariant "^0.4.0" - tslib "^1.9.3" - -apollo-link-http@^1.3.1: - version "1.5.17" - resolved "https://registry.npmjs.org/apollo-link-http/-/apollo-link-http-1.5.17.tgz" - integrity sha512-uWcqAotbwDEU/9+Dm9e1/clO7hTB2kQ/94JYcGouBVLjoKmTeJTUPQKcJGpPwUjZcSqgYicbFqQSoJIW0yrFvg== - dependencies: - apollo-link "^1.2.14" - apollo-link-http-common "^0.2.16" - tslib "^1.9.3" - -apollo-link@^1.0.0, apollo-link@^1.0.6, apollo-link@^1.2.14: - version "1.2.14" - resolved "https://registry.npmjs.org/apollo-link/-/apollo-link-1.2.14.tgz" - integrity sha512-p67CMEFP7kOG1JZ0ZkYZwRDa369w5PIjtMjvrQd/HnIV8FRsHRqLqK+oAZQnFa1DDdZtOtHTi+aMIW6EatC2jg== - dependencies: - apollo-utilities "^1.3.0" - ts-invariant "^0.4.0" - tslib "^1.9.3" - zen-observable-ts "^0.8.21" - -apollo-utilities@1.3.4, apollo-utilities@^1.3.0, apollo-utilities@^1.3.4: - version "1.3.4" - resolved "https://registry.npmjs.org/apollo-utilities/-/apollo-utilities-1.3.4.tgz" - integrity sha512-pk2hiWrCXMAy2fRPwEyhvka+mqwzeP60Jr1tRYi5xru+3ko94HI9o6lK0CT33/w4RDlxWchmdhDCrvdr+pHCig== + "apollo-cache" "1.3.5" + "apollo-link" "^1.0.0" + "apollo-utilities" "1.3.4" + "symbol-observable" "^1.0.2" + "ts-invariant" "^0.4.0" + "tslib" "^1.10.0" + "zen-observable" "^0.8.0" + +"apollo-link-error@^1.0.3": + "integrity" "sha512-jAZOOahJU6bwSqb2ZyskEK1XdgUY9nkmeclCrW7Gddh1uasHVqmoYc4CKdb0/H0Y1J9lvaXKle2Wsw/Zx1AyUg==" + "resolved" "https://registry.npmjs.org/apollo-link-error/-/apollo-link-error-1.1.13.tgz" + "version" "1.1.13" + dependencies: + "apollo-link" "^1.2.14" + "apollo-link-http-common" "^0.2.16" + "tslib" "^1.9.3" + +"apollo-link-http-common@^0.2.16": + "integrity" "sha512-2tIhOIrnaF4UbQHf7kjeQA/EmSorB7+HyJIIrUjJOKBgnXwuexi8aMecRlqTIDWcyVXCeqLhUnztMa6bOH/jTg==" + "resolved" "https://registry.npmjs.org/apollo-link-http-common/-/apollo-link-http-common-0.2.16.tgz" + "version" "0.2.16" + dependencies: + "apollo-link" "^1.2.14" + "ts-invariant" "^0.4.0" + "tslib" "^1.9.3" + +"apollo-link-http@^1.3.1": + "integrity" "sha512-uWcqAotbwDEU/9+Dm9e1/clO7hTB2kQ/94JYcGouBVLjoKmTeJTUPQKcJGpPwUjZcSqgYicbFqQSoJIW0yrFvg==" + "resolved" "https://registry.npmjs.org/apollo-link-http/-/apollo-link-http-1.5.17.tgz" + "version" "1.5.17" + dependencies: + "apollo-link" "^1.2.14" + "apollo-link-http-common" "^0.2.16" + "tslib" "^1.9.3" + +"apollo-link@^1.0.0", "apollo-link@^1.0.6", "apollo-link@^1.2.14": + "integrity" "sha512-p67CMEFP7kOG1JZ0ZkYZwRDa369w5PIjtMjvrQd/HnIV8FRsHRqLqK+oAZQnFa1DDdZtOtHTi+aMIW6EatC2jg==" + "resolved" "https://registry.npmjs.org/apollo-link/-/apollo-link-1.2.14.tgz" + "version" "1.2.14" + dependencies: + "apollo-utilities" "^1.3.0" + "ts-invariant" "^0.4.0" + "tslib" "^1.9.3" + "zen-observable-ts" "^0.8.21" + +"apollo-utilities@^1.3.0", "apollo-utilities@^1.3.4", "apollo-utilities@1.3.4": + "integrity" "sha512-pk2hiWrCXMAy2fRPwEyhvka+mqwzeP60Jr1tRYi5xru+3ko94HI9o6lK0CT33/w4RDlxWchmdhDCrvdr+pHCig==" + "resolved" "https://registry.npmjs.org/apollo-utilities/-/apollo-utilities-1.3.4.tgz" + "version" "1.3.4" dependencies: "@wry/equality" "^0.1.2" - fast-json-stable-stringify "^2.0.0" - ts-invariant "^0.4.0" - tslib "^1.10.0" + "fast-json-stable-stringify" "^2.0.0" + "ts-invariant" "^0.4.0" + "tslib" "^1.10.0" -appbase-js@5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/appbase-js/-/appbase-js-5.0.0.tgz" - integrity sha512-TOvBaXEpRd85Oo118X+NNQq7CMtZE3eyp7zYWZ7LO2o9mrdTQRUk+ADE0P8xFkga2c4WHHRyBhoeJglux12LZg== +"appbase-js@^5.2.0": + "integrity" "sha512-4B/xXivn7i6CATxcRZauDplCL3m9imOmbLH7j+cW4xwkqSN3aHDtj/OuvJDQqaMG0Awon8HUiiuwdh0+yY9DAw==" + "resolved" "https://registry.npmjs.org/appbase-js/-/appbase-js-5.2.0.tgz" + "version" "5.2.0" dependencies: - cross-fetch "^3.1.5" - querystring "^0.2.0" - url-parser-lite "^0.1.0" + "cross-fetch" "^3.1.5" + "querystring" "^0.2.0" + "url-parser-lite" "^0.1.0" + +"appdirsjs@^1.2.4": + "integrity" "sha512-Quji6+8kLBC3NnBeo14nPDq0+2jUs5s3/xEye+udFHumHhRk4M7aAMXp/PBJqkKYGuuyR9M/6Dq7d2AViiGmhw==" + "resolved" "https://registry.npmjs.org/appdirsjs/-/appdirsjs-1.2.7.tgz" + "version" "1.2.7" -arg@^5.0.2: - version "5.0.2" - resolved "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz" - integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== +"arg@^5.0.2": + "integrity" "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" + "resolved" "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz" + "version" "5.0.2" -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== +"argparse@^1.0.7": + "integrity" "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==" + "resolved" "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" + "version" "1.0.10" dependencies: - sprintf-js "~1.0.2" + "sprintf-js" "~1.0.2" -argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== +"argparse@^2.0.1": + "integrity" "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + "resolved" "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" + "version" "2.0.1" -aria-query@^4.2.2: - 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== +"aria-query@^4.2.2": + "version" "4.2.2" dependencies: "@babel/runtime" "^7.10.2" "@babel/runtime-corejs3" "^7.10.2" -aria-query@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/aria-query/-/aria-query-5.0.0.tgz" - integrity sha512-V+SM7AbUwJ+EBnB8+DXs0hPZHO0W6pqBcc0dW90OwtVG02PswOu/teuARoLQjdDOH+t9pJgGnW5/Qmouf3gPJg== - -array-flatten@1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz" - integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== - -array-flatten@^2.1.2: - version "2.1.2" - resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz" - integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== - -array-includes@^3.1.4, array-includes@^3.1.5, array-includes@^3.1.6: - version "3.1.6" - resolved "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz" - integrity sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw== - dependencies: - 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-union@^2.1.0: - 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.flat@^1.2.5: - 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== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - es-shim-unscopables "^1.0.0" - -array.prototype.flatmap@^1.3.1: - version "1.3.1" - resolved "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz" - integrity sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - es-shim-unscopables "^1.0.0" - -array.prototype.reduce@^1.0.5: - 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== - dependencies: - 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" - -array.prototype.tosorted@^1.1.1: - 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== - dependencies: - 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" - -asap@~2.0.6: - version "2.0.6" - resolved "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz" - integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== - -ast-types-flow@^0.0.7: - version "0.0.7" - resolved "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz" - integrity sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag== - -async@^3.2.3: - version "3.2.4" - resolved "https://registry.npmjs.org/async/-/async-3.2.4.tgz" - integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ== - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" - integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== - -at-least-node@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz" - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== - -atob@^2.1.2: - version "2.1.2" - resolved "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz" - integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== - -attr-accept@^2.2.2: - version "2.2.2" - resolved "https://registry.npmjs.org/attr-accept/-/attr-accept-2.2.2.tgz" - integrity sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg== - -autoprefixer@^10.4.13: - version "10.4.13" - resolved "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.13.tgz" - integrity sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg== - dependencies: - browserslist "^4.21.4" - caniuse-lite "^1.0.30001426" - fraction.js "^4.2.0" - normalize-range "^0.1.2" - picocolors "^1.0.0" - postcss-value-parser "^4.2.0" - -available-typed-arrays@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz" - integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== - -aws-amplify@^4.3.17: - version "4.3.17" - resolved "https://registry.npmjs.org/aws-amplify/-/aws-amplify-4.3.17.tgz" - integrity sha512-ROab+JLwz8IjilYp/U9vdjZyhc8jQhQFpBe3qnREq/Fb/qdZBsPzZef0l+azQNqTf8tLEITTsqAnqFeMg7xJsQ== - dependencies: - "@aws-amplify/analytics" "5.2.2" - "@aws-amplify/api" "4.0.35" - "@aws-amplify/auth" "4.4.4" - "@aws-amplify/cache" "4.0.37" - "@aws-amplify/core" "4.4.2" - "@aws-amplify/datastore" "3.7.9" - "@aws-amplify/geo" "1.2.3" - "@aws-amplify/interactions" "4.0.35" - "@aws-amplify/predictions" "4.0.35" - "@aws-amplify/pubsub" "4.2.11" - "@aws-amplify/storage" "4.4.18" - "@aws-amplify/ui" "2.0.5" - "@aws-amplify/xr" "3.0.35" - -axe-core@^4.4.3: - version "4.6.2" - resolved "https://registry.npmjs.org/axe-core/-/axe-core-4.6.2.tgz" - integrity sha512-b1WlTV8+XKLj9gZy2DZXgQiyDp9xkkoe2a6U6UbYccScq2wgH/YwCeI2/Jq2mgo0HzQxqJOjWZBLeA/mqsk5Mg== - -axios@0.21.4: - version "0.21.4" - resolved "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz" - integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg== - dependencies: - follow-redirects "^1.14.0" - -axios@^0.26.1: - version "0.26.1" - resolved "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz" - integrity sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA== - dependencies: - follow-redirects "^1.14.8" - -axobject-query@^2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz" - integrity sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA== - -babel-jest@^27.4.2, babel-jest@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz" - integrity sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg== +"aria-query@^5.0.0": + "version" "5.0.0" + +"arr-diff@^4.0.0": + "integrity" "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==" + "resolved" "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz" + "version" "4.0.0" + +"arr-flatten@^1.1.0": + "integrity" "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" + "resolved" "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz" + "version" "1.1.0" + +"arr-union@^3.1.0": + "integrity" "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==" + "resolved" "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz" + "version" "3.1.0" + +"array-flatten@^2.1.2": + "integrity" "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" + "resolved" "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz" + "version" "2.1.2" + +"array-flatten@1.1.1": + "integrity" "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + "resolved" "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz" + "version" "1.1.1" + +"array-includes@^3.1.4", "array-includes@^3.1.5", "array-includes@^3.1.6": + "integrity" "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==" + "resolved" "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz" + "version" "3.1.6" + dependencies: + "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-union@^2.1.0": + "integrity" "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" + "resolved" "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" + "version" "2.1.0" + +"array-unique@^0.3.2": + "integrity" "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==" + "resolved" "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz" + "version" "0.3.2" + +"array.prototype.flat@^1.2.5": + "version" "1.3.1" + dependencies: + "call-bind" "^1.0.2" + "define-properties" "^1.1.4" + "es-abstract" "^1.20.4" + "es-shim-unscopables" "^1.0.0" + +"array.prototype.flatmap@^1.3.1": + "integrity" "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==" + "resolved" "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz" + "version" "1.3.1" + dependencies: + "call-bind" "^1.0.2" + "define-properties" "^1.1.4" + "es-abstract" "^1.20.4" + "es-shim-unscopables" "^1.0.0" + +"array.prototype.reduce@^1.0.5": + "integrity" "sha512-kDdugMl7id9COE8R7MHF5jWk7Dqt/fs4Pv+JXoICnYwqpjjjbUurz6w5fT5IG6brLdJhv6/VoHB0H7oyIBXd+Q==" + "resolved" "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.5.tgz" + "version" "1.0.5" + dependencies: + "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" + +"array.prototype.tosorted@^1.1.1": + "integrity" "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==" + "resolved" "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz" + "version" "1.1.1" + dependencies: + "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" + +"asap@~2.0.6": + "integrity" "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" + "resolved" "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz" + "version" "2.0.6" + +"assign-symbols@^1.0.0": + "integrity" "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==" + "resolved" "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz" + "version" "1.0.0" + +"ast-types-flow@^0.0.7": + "integrity" "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==" + "resolved" "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz" + "version" "0.0.7" + +"ast-types@0.14.2": + "integrity" "sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==" + "resolved" "https://registry.npmjs.org/ast-types/-/ast-types-0.14.2.tgz" + "version" "0.14.2" + dependencies: + "tslib" "^2.0.1" + +"astral-regex@^1.0.0": + "integrity" "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==" + "resolved" "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz" + "version" "1.0.0" + +"async-limiter@~1.0.0": + "integrity" "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" + "resolved" "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz" + "version" "1.0.1" + +"async@^3.2.2", "async@^3.2.3": + "integrity" "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" + "resolved" "https://registry.npmjs.org/async/-/async-3.2.4.tgz" + "version" "3.2.4" + +"asynckit@^0.4.0": + "integrity" "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + "resolved" "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" + "version" "0.4.0" + +"at-least-node@^1.0.0": + "integrity" "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" + "resolved" "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz" + "version" "1.0.0" + +"atob@^2.1.2": + "integrity" "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" + "resolved" "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz" + "version" "2.1.2" + +"attr-accept@^2.2.2": + "integrity" "sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg==" + "resolved" "https://registry.npmjs.org/attr-accept/-/attr-accept-2.2.2.tgz" + "version" "2.2.2" + +"autoprefixer@^10.4.13": + "version" "10.4.13" + dependencies: + "browserslist" "^4.21.4" + "caniuse-lite" "^1.0.30001426" + "fraction.js" "^4.2.0" + "normalize-range" "^0.1.2" + "picocolors" "^1.0.0" + "postcss-value-parser" "^4.2.0" + +"available-typed-arrays@^1.0.5": + "integrity" "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" + "resolved" "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz" + "version" "1.0.5" + +"aws-amplify@^5.2.6": + "integrity" "sha512-Xz3IpvCYrnVbp4AdPOhUuqibDPcZWRrHfuKrbhOme4VjEiUVeEyIZbj/4MEZwteeLFZ1MNYSaEMpyzi+9dwSQQ==" + "resolved" "https://registry.npmjs.org/aws-amplify/-/aws-amplify-5.2.6.tgz" + "version" "5.2.6" + dependencies: + "@aws-amplify/analytics" "6.2.0" + "@aws-amplify/api" "5.2.1" + "@aws-amplify/auth" "5.4.1" + "@aws-amplify/cache" "5.1.0" + "@aws-amplify/core" "5.4.0" + "@aws-amplify/datastore" "4.5.1" + "@aws-amplify/geo" "2.0.35" + "@aws-amplify/interactions" "5.1.1" + "@aws-amplify/notifications" "1.2.0" + "@aws-amplify/predictions" "5.2.3" + "@aws-amplify/pubsub" "5.2.1" + "@aws-amplify/storage" "5.4.1" + "tslib" "^2.0.0" + +"axe-core@^4.4.3": + "version" "4.6.2" + +"axios@^0.26.1": + "integrity" "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==" + "resolved" "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz" + "version" "0.26.1" + dependencies: + "follow-redirects" "^1.14.8" + +"axios@0.26.0": + "integrity" "sha512-lKoGLMYtHvFrPVt3r+RBMp9nh34N0M8zEfCWqdWZx6phynIEhQqAdydpyBAAG211zlhX9Rgu08cOamy6XjE5Og==" + "resolved" "https://registry.npmjs.org/axios/-/axios-0.26.0.tgz" + "version" "0.26.0" + dependencies: + "follow-redirects" "^1.14.8" + +"axobject-query@^2.2.0": + "version" "2.2.0" + +"babel-core@^7.0.0-bridge.0": + "integrity" "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==" + "resolved" "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz" + "version" "7.0.0-bridge.0" + +"babel-jest@^27.4.2", "babel-jest@^27.5.1": + "integrity" "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==" + "resolved" "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz" + "version" "27.5.1" dependencies: "@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" - -babel-loader@^8.2.3: - 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== - dependencies: - find-cache-dir "^3.3.1" - loader-utils "^2.0.0" - make-dir "^3.1.0" - schema-utils "^2.6.5" - -babel-plugin-emotion@^10.0.27: - version "10.2.2" - resolved "https://registry.npmjs.org/babel-plugin-emotion/-/babel-plugin-emotion-10.2.2.tgz" - integrity sha512-SMSkGoqTbTyUTDeuVuPIWifPdUGkTk1Kf9BWRiXIOIcuyMfsdp2EjeiiFvOzX8NOBvEh/ypKYvUh2rkgAJMCLA== + "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" + +"babel-loader@^8.2.3": + "integrity" "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==" + "resolved" "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz" + "version" "8.3.0" + dependencies: + "find-cache-dir" "^3.3.1" + "loader-utils" "^2.0.0" + "make-dir" "^3.1.0" + "schema-utils" "^2.6.5" + +"babel-plugin-emotion@^10.0.27": + "integrity" "sha512-SMSkGoqTbTyUTDeuVuPIWifPdUGkTk1Kf9BWRiXIOIcuyMfsdp2EjeiiFvOzX8NOBvEh/ypKYvUh2rkgAJMCLA==" + "resolved" "https://registry.npmjs.org/babel-plugin-emotion/-/babel-plugin-emotion-10.2.2.tgz" + "version" "10.2.2" dependencies: "@babel/helper-module-imports" "^7.0.0" "@emotion/hash" "0.8.0" "@emotion/memoize" "0.7.4" "@emotion/serialize" "^0.11.16" - babel-plugin-macros "^2.0.0" - babel-plugin-syntax-jsx "^6.18.0" - convert-source-map "^1.5.0" - escape-string-regexp "^1.0.5" - find-root "^1.1.0" - source-map "^0.5.7" - -babel-plugin-istanbul@^6.1.1: - 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== + "babel-plugin-macros" "^2.0.0" + "babel-plugin-syntax-jsx" "^6.18.0" + "convert-source-map" "^1.5.0" + "escape-string-regexp" "^1.0.5" + "find-root" "^1.1.0" + "source-map" "^0.5.7" + +"babel-plugin-istanbul@^6.1.1": + "integrity" "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==" + "resolved" "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz" + "version" "6.1.1" dependencies: "@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" + "istanbul-lib-instrument" "^5.0.4" + "test-exclude" "^6.0.0" -babel-plugin-jest-hoist@^27.5.1: - 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== +"babel-plugin-jest-hoist@^27.5.1": + "integrity" "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==" + "resolved" "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz" + "version" "27.5.1" dependencies: "@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@^2.0.0, babel-plugin-macros@^2.6.1: - version "2.8.0" - resolved "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz" - integrity sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg== +"babel-plugin-macros@^2.0.0": + "integrity" "sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==" + "resolved" "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz" + "version" "2.8.0" dependencies: "@babel/runtime" "^7.7.2" - cosmiconfig "^6.0.0" - resolve "^1.12.0" + "cosmiconfig" "^6.0.0" + "resolve" "^1.12.0" -babel-plugin-macros@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz" - integrity sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg== +"babel-plugin-macros@^3.1.0": + "integrity" "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==" + "resolved" "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz" + "version" "3.1.0" dependencies: "@babel/runtime" "^7.12.5" - cosmiconfig "^7.0.0" - resolve "^1.19.0" + "cosmiconfig" "^7.0.0" + "resolve" "^1.19.0" -babel-plugin-named-asset-import@^0.3.8: - 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-named-asset-import@^0.3.8": + "integrity" "sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==" + "resolved" "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz" + "version" "0.3.8" -babel-plugin-polyfill-corejs2@^0.3.3: - version "0.3.3" - resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz" - integrity sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q== +"babel-plugin-polyfill-corejs2@^0.3.3": + "version" "0.3.3" dependencies: "@babel/compat-data" "^7.17.7" "@babel/helper-define-polyfill-provider" "^0.3.3" - semver "^6.1.1" + "semver" "^6.1.1" -babel-plugin-polyfill-corejs3@^0.6.0: - version "0.6.0" - resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz" - integrity sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA== +"babel-plugin-polyfill-corejs3@^0.6.0": + "version" "0.6.0" dependencies: "@babel/helper-define-polyfill-provider" "^0.3.3" - core-js-compat "^3.25.1" + "core-js-compat" "^3.25.1" -babel-plugin-polyfill-regenerator@^0.4.1: - version "0.4.1" - resolved "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz" - integrity sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw== +"babel-plugin-polyfill-regenerator@^0.4.1": + "version" "0.4.1" dependencies: "@babel/helper-define-polyfill-provider" "^0.3.3" -babel-plugin-syntax-jsx@^6.18.0: - version "6.18.0" - resolved "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz" - integrity sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY= +"babel-plugin-syntax-jsx@^6.18.0": + "integrity" "sha512-qrPaCSo9c8RHNRHIotaufGbuOBN8rtdC4QrrFFc43vyWCCz7Kl7GL1PGaXtMGQZUXrkCjNEgxDfmAuAabr/rlw==" + "resolved" "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz" + "version" "6.18.0" -babel-plugin-transform-react-remove-prop-types@^0.4.24: - 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-plugin-syntax-trailing-function-commas@^7.0.0-beta.0": + "integrity" "sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==" + "resolved" "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-7.0.0-beta.0.tgz" + "version" "7.0.0-beta.0" -babel-preset-current-node-syntax@^1.0.0: - 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== +"babel-plugin-transform-react-remove-prop-types@^0.4.24": + "integrity" "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==" + "resolved" "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz" + "version" "0.4.24" + +"babel-preset-current-node-syntax@^1.0.0": + "integrity" "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==" + "resolved" "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz" + "version" "1.0.1" dependencies: "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-syntax-bigint" "^7.8.3" @@ -5447,18 +5636,51 @@ babel-preset-current-node-syntax@^1.0.0: "@babel/plugin-syntax-optional-chaining" "^7.8.3" "@babel/plugin-syntax-top-level-await" "^7.8.3" -babel-preset-jest@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz" - integrity sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag== - dependencies: - babel-plugin-jest-hoist "^27.5.1" - babel-preset-current-node-syntax "^1.0.0" - -babel-preset-react-app@^10.0.1: - 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== +"babel-preset-fbjs@^3.4.0": + "integrity" "sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow==" + "resolved" "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-3.4.0.tgz" + "version" "3.4.0" + dependencies: + "@babel/plugin-proposal-class-properties" "^7.0.0" + "@babel/plugin-proposal-object-rest-spread" "^7.0.0" + "@babel/plugin-syntax-class-properties" "^7.0.0" + "@babel/plugin-syntax-flow" "^7.0.0" + "@babel/plugin-syntax-jsx" "^7.0.0" + "@babel/plugin-syntax-object-rest-spread" "^7.0.0" + "@babel/plugin-transform-arrow-functions" "^7.0.0" + "@babel/plugin-transform-block-scoped-functions" "^7.0.0" + "@babel/plugin-transform-block-scoping" "^7.0.0" + "@babel/plugin-transform-classes" "^7.0.0" + "@babel/plugin-transform-computed-properties" "^7.0.0" + "@babel/plugin-transform-destructuring" "^7.0.0" + "@babel/plugin-transform-flow-strip-types" "^7.0.0" + "@babel/plugin-transform-for-of" "^7.0.0" + "@babel/plugin-transform-function-name" "^7.0.0" + "@babel/plugin-transform-literals" "^7.0.0" + "@babel/plugin-transform-member-expression-literals" "^7.0.0" + "@babel/plugin-transform-modules-commonjs" "^7.0.0" + "@babel/plugin-transform-object-super" "^7.0.0" + "@babel/plugin-transform-parameters" "^7.0.0" + "@babel/plugin-transform-property-literals" "^7.0.0" + "@babel/plugin-transform-react-display-name" "^7.0.0" + "@babel/plugin-transform-react-jsx" "^7.0.0" + "@babel/plugin-transform-shorthand-properties" "^7.0.0" + "@babel/plugin-transform-spread" "^7.0.0" + "@babel/plugin-transform-template-literals" "^7.0.0" + "babel-plugin-syntax-trailing-function-commas" "^7.0.0-beta.0" + +"babel-preset-jest@^27.5.1": + "integrity" "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==" + "resolved" "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz" + "version" "27.5.1" + dependencies: + "babel-plugin-jest-hoist" "^27.5.1" + "babel-preset-current-node-syntax" "^1.0.0" + +"babel-preset-react-app@^10.0.1": + "integrity" "sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg==" + "resolved" "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz" + "version" "10.0.1" dependencies: "@babel/core" "^7.16.0" "@babel/plugin-proposal-class-properties" "^7.16.0" @@ -5474,3009 +5696,3623 @@ babel-preset-react-app@^10.0.1: "@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" - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -base64-js@^1.0.2: - version "1.5.1" - resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== - -batch@0.6.1: - 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@^7.0.2: - version "7.0.2" - resolved "https://registry.npmjs.org/bfj/-/bfj-7.0.2.tgz" - integrity sha512-+e/UqUzwmzJamNF50tBV6tZPTORow7gQ96iFow+8b562OdMpEK0BcJEq2OSPEDmAbSMBQ7PKZ87ubFkgxpYWgw== - dependencies: - bluebird "^3.5.5" - check-types "^11.1.1" - hoopy "^0.1.4" - tryer "^1.0.1" - -big.js@^5.2.2: - version "5.2.2" - resolved "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz" - integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== - -binary-extensions@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" - integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== - -bluebird@^3.5.5: - version "3.7.2" - resolved "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz" - integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== - -body-parser@1.20.1: - version "1.20.1" - resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz" - integrity sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw== - dependencies: - 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" - -bonjour-service@^1.0.11: - version "1.0.14" - resolved "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.0.14.tgz" - integrity sha512-HIMbgLnk1Vqvs6B4Wq5ep7mxvj9sGz5d1JJyDNSGNIdA/w2MCz6GTjWTdjqOJV1bEPj+6IkxDvWNFKEBxNt4kQ== - dependencies: - array-flatten "^2.1.2" - dns-equal "^1.0.0" - fast-deep-equal "^3.1.3" - multicast-dns "^7.2.5" - -boolbase@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" - integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== - -bowser@^2.11.0: - version "2.11.0" - resolved "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz" - integrity sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA== - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -brace-expansion@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz" - integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== - dependencies: - balanced-match "^1.0.0" - -braces@^3.0.2, braces@~3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -browser-process-hrtime@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz" - integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== - -browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.16.6, browserslist@^4.18.1, browserslist@^4.21.3, browserslist@^4.21.4: - version "4.21.4" - resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz" - integrity sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw== - dependencies: - caniuse-lite "^1.0.30001400" - electron-to-chromium "^1.4.251" - node-releases "^2.0.6" - update-browserslist-db "^1.0.9" - -bser@2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz" - integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== - dependencies: - node-int64 "^0.4.0" - -buffer-from@^1.0.0: - version "1.1.2" - resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" - integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== - -buffer@4.9.2: - version "4.9.2" - resolved "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz" - integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - isarray "^1.0.0" - -builtin-modules@^3.1.0: - version "3.3.0" - resolved "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz" - integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw== - -bytes@3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz" - integrity sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw== - -bytes@3.1.2: - version "3.1.2" - resolved "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz" - integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== - -call-bind@^1.0.0, call-bind@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz" - integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== - dependencies: - function-bind "^1.1.1" - get-intrinsic "^1.0.2" - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -camel-case@^4.1.2: - version "4.1.2" - resolved "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz" - integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== - dependencies: - pascal-case "^3.1.2" - tslib "^2.0.3" - -camelcase-css@^2.0.1: - 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== - -camelcase-keys@6.2.2: - version "6.2.2" - resolved "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz" - integrity sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== - dependencies: - camelcase "^5.3.1" - map-obj "^4.0.0" - quick-lru "^4.0.1" - -camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -camelcase@^6.2.0, camelcase@^6.2.1: - version "6.3.0" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" - integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== - -can-use-dom@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/can-use-dom/-/can-use-dom-0.1.0.tgz" - integrity sha1-IsxKNKCrxDlQ9CxkEQJKP2NmtFo= - -caniuse-api@^3.0.0: - 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== - dependencies: - browserslist "^4.0.0" - caniuse-lite "^1.0.0" - lodash.memoize "^4.1.2" - lodash.uniq "^4.5.0" - -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001400, caniuse-lite@^1.0.30001426: - version "1.0.30001442" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001442.tgz" - integrity sha512-239m03Pqy0hwxYPYR5JwOIxRJfLTWtle9FV8zosfV5pHg+/51uD4nxcUlM8+mWWGfwKtt8lJNHnD3cWw9VZ6ow== - -case-sensitive-paths-webpack-plugin@^2.4.0: - 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@^2.0.0, chalk@^2.4.1: - version "2.4.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz" - integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.2: - version "4.1.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -char-regex@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz" - integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== - -char-regex@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/char-regex/-/char-regex-2.0.1.tgz" - integrity sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw== - -check-types@^11.1.1: - version "11.2.2" - resolved "https://registry.npmjs.org/check-types/-/check-types-11.2.2.tgz" - integrity sha512-HBiYvXvn9Z70Z88XKjz3AEKd4HJhBXsa3j7xFnITAzoS8+q6eIGi8qDB8FKPBAjtuxjI/zFpwuiCb8oDtKOYrA== - -chokidar@^3.4.2, chokidar@^3.5.3: - version "3.5.3" - resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz" - integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== - dependencies: - anymatch "~3.1.2" - braces "~3.0.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" + "babel-plugin-macros" "^3.1.0" + "babel-plugin-transform-react-remove-prop-types" "^0.4.24" + +"balanced-match@^1.0.0": + "integrity" "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + "resolved" "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" + "version" "1.0.2" + +"base-64@1.0.0": + "integrity" "sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg==" + "resolved" "https://registry.npmjs.org/base-64/-/base-64-1.0.0.tgz" + "version" "1.0.0" + +"base@^0.11.1": + "integrity" "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==" + "resolved" "https://registry.npmjs.org/base/-/base-0.11.2.tgz" + "version" "0.11.2" + dependencies: + "cache-base" "^1.0.1" + "class-utils" "^0.3.5" + "component-emitter" "^1.2.1" + "define-property" "^1.0.0" + "isobject" "^3.0.1" + "mixin-deep" "^1.2.0" + "pascalcase" "^0.1.1" + +"base64-js@^1.0.2", "base64-js@^1.1.2", "base64-js@^1.3.1": + "integrity" "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + "resolved" "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" + "version" "1.5.1" + +"batch@0.6.1": + "integrity" "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" + "resolved" "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz" + "version" "0.6.1" + +"bfj@^7.0.2": + "integrity" "sha512-+e/UqUzwmzJamNF50tBV6tZPTORow7gQ96iFow+8b562OdMpEK0BcJEq2OSPEDmAbSMBQ7PKZ87ubFkgxpYWgw==" + "resolved" "https://registry.npmjs.org/bfj/-/bfj-7.0.2.tgz" + "version" "7.0.2" + dependencies: + "bluebird" "^3.5.5" + "check-types" "^11.1.1" + "hoopy" "^0.1.4" + "tryer" "^1.0.1" + +"big.js@^5.2.2": + "integrity" "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" + "resolved" "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz" + "version" "5.2.2" + +"binary-extensions@^2.0.0": + "integrity" "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" + "resolved" "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" + "version" "2.2.0" + +"bl@^4.1.0": + "integrity" "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==" + "resolved" "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz" + "version" "4.1.0" + dependencies: + "buffer" "^5.5.0" + "inherits" "^2.0.4" + "readable-stream" "^3.4.0" + +"bluebird@^3.5.5": + "integrity" "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + "resolved" "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz" + "version" "3.7.2" + +"body-parser@1.20.1": + "integrity" "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==" + "resolved" "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz" + "version" "1.20.1" + dependencies: + "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" + +"bonjour-service@^1.0.11": + "version" "1.0.14" + dependencies: + "array-flatten" "^2.1.2" + "dns-equal" "^1.0.0" + "fast-deep-equal" "^3.1.3" + "multicast-dns" "^7.2.5" + +"boolbase@^1.0.0", "boolbase@~1.0.0": + "integrity" "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + "resolved" "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz" + "version" "1.0.0" + +"bowser@^2.11.0": + "integrity" "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==" + "resolved" "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz" + "version" "2.11.0" + +"brace-expansion@^1.1.7": + "integrity" "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==" + "resolved" "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" + "version" "1.1.11" + dependencies: + "balanced-match" "^1.0.0" + "concat-map" "0.0.1" + +"brace-expansion@^2.0.1": + "integrity" "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==" + "resolved" "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "balanced-match" "^1.0.0" + +"braces@^2.3.1": + "integrity" "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==" + "resolved" "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz" + "version" "2.3.2" + dependencies: + "arr-flatten" "^1.1.0" + "array-unique" "^0.3.2" + "extend-shallow" "^2.0.1" + "fill-range" "^4.0.0" + "isobject" "^3.0.1" + "repeat-element" "^1.1.2" + "snapdragon" "^0.8.1" + "snapdragon-node" "^2.0.1" + "split-string" "^3.0.2" + "to-regex" "^3.0.1" + +"braces@^3.0.2", "braces@~3.0.2": + "integrity" "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==" + "resolved" "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" + "version" "3.0.2" + dependencies: + "fill-range" "^7.0.1" + +"browser-process-hrtime@^1.0.0": + "integrity" "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" + "resolved" "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz" + "version" "1.0.0" + +"browserslist@^4.0.0", "browserslist@^4.14.5", "browserslist@^4.16.6", "browserslist@^4.18.1", "browserslist@^4.21.3", "browserslist@^4.21.4", "browserslist@>= 4", "browserslist@>= 4.21.0", "browserslist@>=4": + "version" "4.21.4" + dependencies: + "caniuse-lite" "^1.0.30001400" + "electron-to-chromium" "^1.4.251" + "node-releases" "^2.0.6" + "update-browserslist-db" "^1.0.9" + +"bser@2.1.1": + "integrity" "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==" + "resolved" "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz" + "version" "2.1.1" + dependencies: + "node-int64" "^0.4.0" + +"buffer-from@^1.0.0": + "integrity" "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + "resolved" "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" + "version" "1.1.2" + +"buffer@^5.4.3": + "integrity" "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==" + "resolved" "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz" + "version" "5.7.1" + dependencies: + "base64-js" "^1.3.1" + "ieee754" "^1.1.13" + +"buffer@^5.5.0": + "integrity" "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==" + "resolved" "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz" + "version" "5.7.1" + dependencies: + "base64-js" "^1.3.1" + "ieee754" "^1.1.13" + +"buffer@4.9.2": + "integrity" "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==" + "resolved" "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz" + "version" "4.9.2" + dependencies: + "base64-js" "^1.0.2" + "ieee754" "^1.1.4" + "isarray" "^1.0.0" + +"builtin-modules@^3.1.0": + "integrity" "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==" + "resolved" "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz" + "version" "3.3.0" + +"bytes@3.0.0": + "integrity" "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==" + "resolved" "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz" + "version" "3.0.0" + +"bytes@3.1.2": + "integrity" "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" + "resolved" "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz" + "version" "3.1.2" + +"cache-base@^1.0.1": + "integrity" "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==" + "resolved" "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "collection-visit" "^1.0.0" + "component-emitter" "^1.2.1" + "get-value" "^2.0.6" + "has-value" "^1.0.0" + "isobject" "^3.0.1" + "set-value" "^2.0.0" + "to-object-path" "^0.3.0" + "union-value" "^1.0.0" + "unset-value" "^1.0.0" + +"call-bind@^1.0.0", "call-bind@^1.0.2": + "integrity" "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==" + "resolved" "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "function-bind" "^1.1.1" + "get-intrinsic" "^1.0.2" + +"caller-callsite@^2.0.0": + "integrity" "sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==" + "resolved" "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "callsites" "^2.0.0" + +"caller-path@^2.0.0": + "integrity" "sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==" + "resolved" "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "caller-callsite" "^2.0.0" + +"callsites@^2.0.0": + "integrity" "sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==" + "resolved" "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz" + "version" "2.0.0" + +"callsites@^3.0.0": + "integrity" "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" + "resolved" "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" + "version" "3.1.0" + +"camel-case@^4.1.2": + "integrity" "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==" + "resolved" "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz" + "version" "4.1.2" + dependencies: + "pascal-case" "^3.1.2" + "tslib" "^2.0.3" + +"camelcase-css@^2.0.1": + "integrity" "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==" + "resolved" "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz" + "version" "2.0.1" + +"camelcase-keys@6.2.2": + "integrity" "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==" + "resolved" "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz" + "version" "6.2.2" + dependencies: + "camelcase" "^5.3.1" + "map-obj" "^4.0.0" + "quick-lru" "^4.0.1" + +"camelcase@^5.0.0": + "integrity" "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + "resolved" "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" + "version" "5.3.1" + +"camelcase@^5.3.1": + "integrity" "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + "resolved" "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" + "version" "5.3.1" + +"camelcase@^6.0.0", "camelcase@^6.2.0", "camelcase@^6.2.1": + "integrity" "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" + "resolved" "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" + "version" "6.3.0" + +"can-use-dom@^0.1.0": + "integrity" "sha512-ceOhN1DL7Y4O6M0j9ICgmTYziV89WMd96SvSl0REd8PMgrY0B/WBOPoed5S1KUmJqXgUXh8gzSe6E3ae27upsQ==" + "resolved" "https://registry.npmjs.org/can-use-dom/-/can-use-dom-0.1.0.tgz" + "version" "0.1.0" + +"caniuse-api@^3.0.0": + "integrity" "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==" + "resolved" "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "browserslist" "^4.0.0" + "caniuse-lite" "^1.0.0" + "lodash.memoize" "^4.1.2" + "lodash.uniq" "^4.5.0" + +"caniuse-lite@^1.0.0", "caniuse-lite@^1.0.30001400", "caniuse-lite@^1.0.30001426": + "version" "1.0.30001442" + +"case-sensitive-paths-webpack-plugin@^2.4.0": + "integrity" "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==" + "resolved" "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz" + "version" "2.4.0" + +"chalk@^2.0.0": + "integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==" + "resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + "version" "2.4.2" + dependencies: + "ansi-styles" "^3.2.1" + "escape-string-regexp" "^1.0.5" + "supports-color" "^5.3.0" + +"chalk@^2.4.1": + "integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==" + "resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + "version" "2.4.2" + dependencies: + "ansi-styles" "^3.2.1" + "escape-string-regexp" "^1.0.5" + "supports-color" "^5.3.0" + +"chalk@^3.0.0": + "integrity" "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==" + "resolved" "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "ansi-styles" "^4.1.0" + "supports-color" "^7.1.0" + +"chalk@^4.0.0", "chalk@^4.0.2", "chalk@^4.1.0", "chalk@^4.1.2": + "integrity" "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==" + "resolved" "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + "version" "4.1.2" + dependencies: + "ansi-styles" "^4.1.0" + "supports-color" "^7.1.0" + +"char-regex@^1.0.2": + "integrity" "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==" + "resolved" "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz" + "version" "1.0.2" + +"char-regex@^2.0.0": + "integrity" "sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw==" + "resolved" "https://registry.npmjs.org/char-regex/-/char-regex-2.0.1.tgz" + "version" "2.0.1" + +"check-types@^11.1.1": + "integrity" "sha512-HBiYvXvn9Z70Z88XKjz3AEKd4HJhBXsa3j7xFnITAzoS8+q6eIGi8qDB8FKPBAjtuxjI/zFpwuiCb8oDtKOYrA==" + "resolved" "https://registry.npmjs.org/check-types/-/check-types-11.2.2.tgz" + "version" "11.2.2" + +"chokidar@^3.4.2", "chokidar@^3.5.3": + "integrity" "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==" + "resolved" "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz" + "version" "3.5.3" + dependencies: + "anymatch" "~3.1.2" + "braces" "~3.0.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" optionalDependencies: - fsevents "~2.3.2" - -chrome-trace-event@^1.0.2: - 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@^3.2.0: - version "3.7.1" - resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.7.1.tgz" - integrity sha512-4jYS4MOAaCIStSRwiuxc4B8MYhIe676yO1sYGzARnjXkWpmzZMMYxY6zu8WYWDhSuth5zhrQ1rhNSibyyvv4/w== - -cjs-module-lexer@^1.0.0: - version "1.2.2" - resolved "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz" - integrity sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA== - -classnames@^2.3.1: - version "2.3.1" - resolved "https://registry.npmjs.org/classnames/-/classnames-2.3.1.tgz" - integrity sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA== - -clean-css@^5.2.2: - version "5.3.1" - resolved "https://registry.npmjs.org/clean-css/-/clean-css-5.3.1.tgz" - integrity sha512-lCr8OHhiWCTw4v8POJovCoh4T7I9U11yVsPjMWWnnMmp9ZowCxyad1Pathle/9HjaDp+fdQKjO9fQydE6RHTZg== - dependencies: - source-map "~0.6.0" - -cliui@^7.0.2: - version "7.0.4" - resolved "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz" - integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^7.0.0" - -clsx@^1.1.0, clsx@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/clsx/-/clsx-1.1.1.tgz" - integrity sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA== - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.npmjs.org/co/-/co-4.6.0.tgz" - integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== - -coa@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz" - integrity sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA== + "fsevents" "~2.3.2" + +"chrome-trace-event@^1.0.2": + "integrity" "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==" + "resolved" "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz" + "version" "1.0.3" + +"ci-info@^2.0.0": + "integrity" "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" + "resolved" "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz" + "version" "2.0.0" + +"ci-info@^3.2.0": + "version" "3.7.1" + +"cjs-module-lexer@^1.0.0": + "version" "1.2.2" + +"class-utils@^0.3.5": + "integrity" "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==" + "resolved" "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz" + "version" "0.3.6" + dependencies: + "arr-union" "^3.1.0" + "define-property" "^0.2.5" + "isobject" "^3.0.0" + "static-extend" "^0.1.1" + +"classnames@^2.3.1": + "version" "2.3.1" + +"clean-css@^5.2.2": + "version" "5.3.1" + dependencies: + "source-map" "~0.6.0" + +"cli-cursor@^3.1.0": + "integrity" "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==" + "resolved" "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "restore-cursor" "^3.1.0" + +"cli-spinners@^2.5.0": + "integrity" "sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g==" + "resolved" "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.0.tgz" + "version" "2.9.0" + +"cliui@^6.0.0": + "integrity" "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==" + "resolved" "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz" + "version" "6.0.0" + dependencies: + "string-width" "^4.2.0" + "strip-ansi" "^6.0.0" + "wrap-ansi" "^6.2.0" + +"cliui@^7.0.2": + "integrity" "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==" + "resolved" "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz" + "version" "7.0.4" + dependencies: + "string-width" "^4.2.0" + "strip-ansi" "^6.0.0" + "wrap-ansi" "^7.0.0" + +"cliui@^8.0.1": + "integrity" "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==" + "resolved" "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz" + "version" "8.0.1" + dependencies: + "string-width" "^4.2.0" + "strip-ansi" "^6.0.1" + "wrap-ansi" "^7.0.0" + +"clone-deep@^4.0.1": + "integrity" "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==" + "resolved" "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz" + "version" "4.0.1" + dependencies: + "is-plain-object" "^2.0.4" + "kind-of" "^6.0.2" + "shallow-clone" "^3.0.0" + +"clone@^1.0.2": + "integrity" "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==" + "resolved" "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz" + "version" "1.0.4" + +"clsx@^1.1.0", "clsx@^1.1.1", "clsx@^1.2.1": + "integrity" "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==" + "resolved" "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz" + "version" "1.2.1" + +"co@^4.6.0": + "integrity" "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==" + "resolved" "https://registry.npmjs.org/co/-/co-4.6.0.tgz" + "version" "4.6.0" + +"coa@^2.0.2": + "integrity" "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==" + "resolved" "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz" + "version" "2.0.2" dependencies: "@types/q" "^1.5.1" - chalk "^2.4.1" - q "^1.1.2" - -collect-v8-coverage@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz" - integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" - integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== - -color-name@^1.1.4, color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -colord@^2.9.1: - version "2.9.3" - resolved "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz" - integrity sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw== - -colorette@^2.0.10: - version "2.0.19" - resolved "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz" - integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ== - -combined-stream@^1.0.8: - version "1.0.8" - resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -commander@^2.20.0: - 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== - -commander@^4.0.0: - version "4.1.1" - resolved "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz" - integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== - -commander@^7.2.0: - version "7.2.0" - resolved "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz" - integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== - -commander@^8.3.0: - version "8.3.0" - resolved "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz" - integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== - -common-path-prefix@^3.0.0: - 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@^1.8.0: - 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@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz" - integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== - -compressible@~2.0.16: - version "2.0.18" - resolved "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz" - integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== - dependencies: - mime-db ">= 1.43.0 < 2" - -compression@^1.7.4: - version "1.7.4" - resolved "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz" - integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== - dependencies: - 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" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -confusing-browser-globals@^1.0.11: - 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@^2.0.0: - 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@0.5.4: - version "0.5.4" - resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz" - integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== - dependencies: - safe-buffer "5.2.1" - -content-type@~1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz" - integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== - -convert-source-map@^1.4.0, convert-source-map@^1.5.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: - 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-signature@1.0.6: - version "1.0.6" - resolved "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz" - integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== - -cookie@0.5.0: - version "0.5.0" - resolved "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz" - integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== - -cookie@^0.4.0: - version "0.4.2" - resolved "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz" - integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== - -copy-to-clipboard@^3: - version "3.3.1" - resolved "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.1.tgz" - integrity sha512-i13qo6kIHTTpCm8/Wup+0b1mVWETvu2kIMzKoK8FpkLkFxlt0znUAHcMzox+T8sPlqtZXq3CulEjQHsYiGFJUw== - dependencies: - toggle-selection "^1.0.6" - -core-js-compat@^3.25.1: - version "3.27.1" - resolved "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.27.1.tgz" - integrity sha512-Dg91JFeCDA17FKnneN7oCMz4BkQ4TcffkgHP4OWwp9yx3pi7ubqMDXXSacfNak1PQqjc95skyt+YBLHQJnkJwA== - dependencies: - browserslist "^4.21.4" - -core-js-pure@^3.23.3, core-js-pure@^3.25.1: - version "3.27.1" - resolved "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.27.1.tgz" - integrity sha512-BS2NHgwwUppfeoqOXqi08mUqS5FiZpuRuJJpKsaME7kJz0xxuk0xkhDdfMIlP/zLa80krBqss1LtD7f889heAw== - -core-js@^3.0.1: - version "3.21.1" - resolved "https://registry.npmjs.org/core-js/-/core-js-3.21.1.tgz" - integrity sha512-FRq5b/VMrWlrmCzwRrpDYNxyHP9BcAZC+xHJaqTgIE5091ZV1NTmyh0sGOg5XqpnHvR0svdy0sv1gWA1zmhxig== - -core-js@^3.19.2: - version "3.27.1" - resolved "https://registry.npmjs.org/core-js/-/core-js-3.27.1.tgz" - integrity sha512-GutwJLBChfGCpwwhbYoqfv03LAfmiz7e7D/BNxzeMxwQf10GRSzqiOjx7AmtEk+heiD/JWmBuyBPgFtx0Sg1ww== - -core-util-is@~1.0.0: - version "1.0.3" - resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz" - integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== - -cosmiconfig@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz" - integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg== + "chalk" "^2.4.1" + "q" "^1.1.2" + +"collect-v8-coverage@^1.0.0": + "integrity" "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==" + "resolved" "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz" + "version" "1.0.1" + +"collection-visit@^1.0.0": + "integrity" "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==" + "resolved" "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "map-visit" "^1.0.0" + "object-visit" "^1.0.0" + +"color-convert@^1.9.0": + "integrity" "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==" + "resolved" "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" + "version" "1.9.3" + dependencies: + "color-name" "1.1.3" + +"color-convert@^2.0.1": + "integrity" "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==" + "resolved" "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "color-name" "~1.1.4" + +"color-name@^1.1.4", "color-name@~1.1.4": + "integrity" "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + "version" "1.1.4" + +"color-name@1.1.3": + "integrity" "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + "resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" + "version" "1.1.3" + +"colord@^2.9.1": + "integrity" "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" + "resolved" "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz" + "version" "2.9.3" + +"colorette@^1.0.7": + "integrity" "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==" + "resolved" "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz" + "version" "1.4.0" + +"colorette@^2.0.10": + "version" "2.0.19" + +"combined-stream@^1.0.8": + "integrity" "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==" + "resolved" "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz" + "version" "1.0.8" + dependencies: + "delayed-stream" "~1.0.0" + +"command-exists@^1.2.8": + "integrity" "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==" + "resolved" "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz" + "version" "1.2.9" + +"commander@^2.20.0": + "integrity" "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + "resolved" "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" + "version" "2.20.3" + +"commander@^2.20.3": + "integrity" "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + "resolved" "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" + "version" "2.20.3" + +"commander@^4.0.0": + "integrity" "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==" + "resolved" "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz" + "version" "4.1.1" + +"commander@^7.2.0": + "integrity" "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" + "resolved" "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz" + "version" "7.2.0" + +"commander@^8.3.0": + "integrity" "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==" + "resolved" "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz" + "version" "8.3.0" + +"commander@^9.4.1": + "integrity" "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==" + "resolved" "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz" + "version" "9.5.0" + +"commander@~2.13.0": + "integrity" "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==" + "resolved" "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz" + "version" "2.13.0" + +"common-path-prefix@^3.0.0": + "integrity" "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==" + "resolved" "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz" + "version" "3.0.0" + +"common-tags@^1.8.0": + "integrity" "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==" + "resolved" "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz" + "version" "1.8.2" + +"commondir@^1.0.1": + "integrity" "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" + "resolved" "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz" + "version" "1.0.1" + +"component-emitter@^1.2.1": + "integrity" "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" + "resolved" "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz" + "version" "1.3.0" + +"compressible@~2.0.16": + "integrity" "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==" + "resolved" "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz" + "version" "2.0.18" + dependencies: + "mime-db" ">= 1.43.0 < 2" + +"compression@^1.7.1", "compression@^1.7.4": + "integrity" "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==" + "resolved" "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz" + "version" "1.7.4" + dependencies: + "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" + +"concat-map@0.0.1": + "integrity" "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + "resolved" "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + "version" "0.0.1" + +"confusing-browser-globals@^1.0.11": + "integrity" "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==" + "resolved" "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz" + "version" "1.0.11" + +"connect-history-api-fallback@^2.0.0": + "integrity" "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==" + "resolved" "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz" + "version" "2.0.0" + +"connect@^3.6.5": + "integrity" "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==" + "resolved" "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz" + "version" "3.7.0" + dependencies: + "debug" "2.6.9" + "finalhandler" "1.1.2" + "parseurl" "~1.3.3" + "utils-merge" "1.0.1" + +"content-disposition@0.5.4": + "integrity" "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==" + "resolved" "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz" + "version" "0.5.4" + dependencies: + "safe-buffer" "5.2.1" + +"content-type@~1.0.4": + "version" "1.0.4" + +"convert-source-map@^1.4.0", "convert-source-map@^1.5.0", "convert-source-map@^1.6.0", "convert-source-map@^1.7.0": + "integrity" "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + "resolved" "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz" + "version" "1.9.0" + +"cookie-signature@1.0.6": + "integrity" "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + "resolved" "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz" + "version" "1.0.6" + +"cookie@^0.4.0": + "integrity" "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==" + "resolved" "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz" + "version" "0.4.2" + +"cookie@0.5.0": + "integrity" "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==" + "resolved" "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz" + "version" "0.5.0" + +"copy-descriptor@^0.1.0": + "integrity" "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==" + "resolved" "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz" + "version" "0.1.1" + +"copy-to-clipboard@^3": + "version" "3.3.1" + dependencies: + "toggle-selection" "^1.0.6" + +"core-js-compat@^3.25.1": + "version" "3.27.1" + dependencies: + "browserslist" "^4.21.4" + +"core-js-pure@^3.23.3", "core-js-pure@^3.25.1": + "version" "3.27.1" + +"core-js@^3.0.1": + "version" "3.21.1" + +"core-js@^3.19.2": + "version" "3.27.1" + +"core-util-is@~1.0.0": + "integrity" "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + "resolved" "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz" + "version" "1.0.3" + +"cosmiconfig@^5.0.5": + "integrity" "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==" + "resolved" "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz" + "version" "5.2.1" + dependencies: + "import-fresh" "^2.0.0" + "is-directory" "^0.3.1" + "js-yaml" "^3.13.1" + "parse-json" "^4.0.0" + +"cosmiconfig@^5.1.0": + "integrity" "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==" + "resolved" "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz" + "version" "5.2.1" + dependencies: + "import-fresh" "^2.0.0" + "is-directory" "^0.3.1" + "js-yaml" "^3.13.1" + "parse-json" "^4.0.0" + +"cosmiconfig@^6.0.0": + "integrity" "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==" + "resolved" "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz" + "version" "6.0.0" dependencies: "@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" + "import-fresh" "^3.1.0" + "parse-json" "^5.0.0" + "path-type" "^4.0.0" + "yaml" "^1.7.2" -cosmiconfig@^7.0.0: - version "7.1.0" - resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz" - integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== +"cosmiconfig@^7.0.0": + "integrity" "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==" + "resolved" "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz" + "version" "7.1.0" dependencies: "@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-env@^5.2.0: - version "5.2.1" - resolved "https://registry.npmjs.org/cross-env/-/cross-env-5.2.1.tgz" - integrity sha512-1yHhtcfAd1r4nwQgknowuUNfIT9E8dOMMspC36g45dN+iD1blloi7xp8X/xAIDnjHWyt1uQ8PHk2fkNaym7soQ== - dependencies: - cross-spawn "^6.0.5" - -cross-fetch@^3.0.4, cross-fetch@^3.1.5: - version "3.1.5" - resolved "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz" - integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw== - dependencies: - node-fetch "2.6.7" - -cross-spawn@^6.0.5: - version "6.0.5" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== - dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" - -cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -crypto-js@^4.1.1: - version "4.1.1" - resolved "https://registry.npmjs.org/crypto-js/-/crypto-js-4.1.1.tgz" - integrity sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw== - -crypto-random-string@^2.0.0: - 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-blank-pseudo@^3.0.3: - 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== - dependencies: - postcss-selector-parser "^6.0.9" - -css-declaration-sorter@^6.3.1: - version "6.3.1" - resolved "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.3.1.tgz" - integrity sha512-fBffmak0bPAnyqc/HO8C3n2sHrp9wcqQz6ES9koRF2/mLOVAx9zIQ3Y7R29sYCteTPqMCwns4WYQoCX91Xl3+w== - -css-has-pseudo@^3.0.4: - version "3.0.4" - resolved "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz" - integrity sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw== - dependencies: - postcss-selector-parser "^6.0.9" - -css-loader@^6.5.1: - version "6.7.3" - resolved "https://registry.npmjs.org/css-loader/-/css-loader-6.7.3.tgz" - integrity sha512-qhOH1KlBMnZP8FzRO6YCH9UHXQhVMcEGLyNdb7Hv2cpcmJbW0YrddO+tG1ab5nT41KpHIYGsbeHqxB9xPu1pKQ== - dependencies: - icss-utils "^5.1.0" - postcss "^8.4.19" - postcss-modules-extract-imports "^3.0.0" - postcss-modules-local-by-default "^4.0.0" - 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@^3.2.0: - 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== - dependencies: - 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" - -css-prefers-color-scheme@^6.0.3: - 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-base-adapter@^0.1.1: - 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-select@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz" - integrity sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ== - dependencies: - boolbase "^1.0.0" - css-what "^3.2.1" - domutils "^1.7.0" - nth-check "^1.0.2" - -css-select@^4.1.3: - version "4.3.0" - resolved "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz" - integrity sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ== - dependencies: - boolbase "^1.0.0" - css-what "^6.0.1" - domhandler "^4.3.1" - domutils "^2.8.0" - nth-check "^2.0.1" - -css-tree@1.0.0-alpha.37: - 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== - dependencies: - mdn-data "2.0.4" - source-map "^0.6.1" - -css-tree@^1.1.2, css-tree@^1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz" - integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== - dependencies: - mdn-data "2.0.14" - source-map "^0.6.1" - -css-vendor@^2.0.8: - version "2.0.8" - resolved "https://registry.npmjs.org/css-vendor/-/css-vendor-2.0.8.tgz" - integrity sha512-x9Aq0XTInxrkuFeHKbYC7zWY8ai7qJ04Kxd9MnvbC1uO5DagxoHQjm4JvG+vCdXOoFtCjbL2XSZfxmoYa9uQVQ== + "import-fresh" "^3.2.1" + "parse-json" "^5.0.0" + "path-type" "^4.0.0" + "yaml" "^1.10.0" + +"cross-env@^5.2.0": + "integrity" "sha512-1yHhtcfAd1r4nwQgknowuUNfIT9E8dOMMspC36g45dN+iD1blloi7xp8X/xAIDnjHWyt1uQ8PHk2fkNaym7soQ==" + "resolved" "https://registry.npmjs.org/cross-env/-/cross-env-5.2.1.tgz" + "version" "5.2.1" + dependencies: + "cross-spawn" "^6.0.5" + +"cross-fetch@^3.0.4", "cross-fetch@^3.1.5": + "integrity" "sha512-riRvo06crlE8HiqOwIpQhxwdOk4fOeR7FVM/wXoxchFEqMNUjvbs3bfo4OTgMEMHzppd4DxFBDbyySj8Cv781g==" + "resolved" "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.6.tgz" + "version" "3.1.6" + dependencies: + "node-fetch" "^2.6.11" + +"cross-spawn@^6.0.0": + "integrity" "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==" + "resolved" "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz" + "version" "6.0.5" + dependencies: + "nice-try" "^1.0.4" + "path-key" "^2.0.1" + "semver" "^5.5.0" + "shebang-command" "^1.2.0" + "which" "^1.2.9" + +"cross-spawn@^6.0.5": + "integrity" "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==" + "resolved" "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz" + "version" "6.0.5" + dependencies: + "nice-try" "^1.0.4" + "path-key" "^2.0.1" + "semver" "^5.5.0" + "shebang-command" "^1.2.0" + "which" "^1.2.9" + +"cross-spawn@^7.0.0", "cross-spawn@^7.0.2", "cross-spawn@^7.0.3": + "integrity" "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==" + "resolved" "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" + "version" "7.0.3" + dependencies: + "path-key" "^3.1.0" + "shebang-command" "^2.0.0" + "which" "^2.0.1" + +"crypto-random-string@^2.0.0": + "integrity" "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==" + "resolved" "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz" + "version" "2.0.0" + +"css-blank-pseudo@^3.0.3": + "integrity" "sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==" + "resolved" "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz" + "version" "3.0.3" + dependencies: + "postcss-selector-parser" "^6.0.9" + +"css-declaration-sorter@^6.3.1": + "version" "6.3.1" + +"css-has-pseudo@^3.0.4": + "integrity" "sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==" + "resolved" "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz" + "version" "3.0.4" + dependencies: + "postcss-selector-parser" "^6.0.9" + +"css-loader@^6.5.1": + "version" "6.7.3" + dependencies: + "icss-utils" "^5.1.0" + "postcss" "^8.4.19" + "postcss-modules-extract-imports" "^3.0.0" + "postcss-modules-local-by-default" "^4.0.0" + "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@^3.2.0": + "integrity" "sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==" + "resolved" "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz" + "version" "3.4.1" + dependencies: + "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" + +"css-prefers-color-scheme@^6.0.3": + "integrity" "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==" + "resolved" "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz" + "version" "6.0.3" + +"css-select-base-adapter@^0.1.1": + "integrity" "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" + "resolved" "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz" + "version" "0.1.1" + +"css-select@^2.0.0": + "integrity" "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==" + "resolved" "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "boolbase" "^1.0.0" + "css-what" "^3.2.1" + "domutils" "^1.7.0" + "nth-check" "^1.0.2" + +"css-select@^4.1.3": + "integrity" "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==" + "resolved" "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz" + "version" "4.3.0" + dependencies: + "boolbase" "^1.0.0" + "css-what" "^6.0.1" + "domhandler" "^4.3.1" + "domutils" "^2.8.0" + "nth-check" "^2.0.1" + +"css-tree@^1.1.2", "css-tree@^1.1.3": + "integrity" "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==" + "resolved" "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz" + "version" "1.1.3" + dependencies: + "mdn-data" "2.0.14" + "source-map" "^0.6.1" + +"css-tree@1.0.0-alpha.37": + "integrity" "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==" + "resolved" "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz" + "version" "1.0.0-alpha.37" + dependencies: + "mdn-data" "2.0.4" + "source-map" "^0.6.1" + +"css-vendor@^2.0.8": + "integrity" "sha512-x9Aq0XTInxrkuFeHKbYC7zWY8ai7qJ04Kxd9MnvbC1uO5DagxoHQjm4JvG+vCdXOoFtCjbL2XSZfxmoYa9uQVQ==" + "resolved" "https://registry.npmjs.org/css-vendor/-/css-vendor-2.0.8.tgz" + "version" "2.0.8" dependencies: "@babel/runtime" "^7.8.3" - is-in-browser "^1.0.2" - -css-what@^3.2.1: - version "3.4.2" - resolved "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz" - integrity sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ== - -css-what@^6.0.1: - version "6.1.0" - resolved "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz" - integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== - -css.escape@^1.5.1: - version "1.5.1" - resolved "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz" - integrity sha1-QuJ9T6BK4y+TGktNQZH6nN3ul8s= - -css@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/css/-/css-3.0.0.tgz" - integrity sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ== - dependencies: - inherits "^2.0.4" - source-map "^0.6.1" - source-map-resolve "^0.6.0" - -cssdb@^7.1.0: - version "7.2.1" - resolved "https://registry.npmjs.org/cssdb/-/cssdb-7.2.1.tgz" - integrity sha512-btohrCpVaLqOoMt90aumHe6HU4c06duiYA8ymwtpGfwuZAhWKDBve/c2k+E85Jeq5iojPkeonqiKV+aLeY8QlA== - -cssesc@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz" - integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== - -cssnano-preset-default@^5.2.13: - version "5.2.13" - resolved "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.13.tgz" - integrity sha512-PX7sQ4Pb+UtOWuz8A1d+Rbi+WimBIxJTRyBdgGp1J75VU0r/HFQeLnMYgHiCAp6AR4rqrc7Y4R+1Rjk3KJz6DQ== - dependencies: - css-declaration-sorter "^6.3.1" - cssnano-utils "^3.1.0" - postcss-calc "^8.2.3" - postcss-colormin "^5.3.0" - 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.3" - 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.1" - postcss-reduce-transforms "^5.1.0" - postcss-svgo "^5.1.0" - postcss-unique-selectors "^5.1.1" - -cssnano-utils@^3.1.0: - 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== - -cssnano@^5.0.6: - version "5.1.14" - resolved "https://registry.npmjs.org/cssnano/-/cssnano-5.1.14.tgz" - integrity sha512-Oou7ihiTocbKqi0J1bB+TRJIQX5RMR3JghA8hcWSw9mjBLQ5Y3RWqEDoYG3sRNlAbCIXpqMoZGbq5KDR3vdzgw== - dependencies: - cssnano-preset-default "^5.2.13" - lilconfig "^2.0.3" - yaml "^1.10.2" - -csso@^4.0.2, csso@^4.2.0: - version "4.2.0" - resolved "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz" - integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA== - dependencies: - css-tree "^1.1.2" - -cssom@^0.4.4: - version "0.4.4" - resolved "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz" - integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== - -cssom@~0.3.6: - version "0.3.8" - resolved "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz" - integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== - -cssstyle@^2.3.0: - version "2.3.0" - resolved "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz" - integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== - dependencies: - cssom "~0.3.6" - -csstype@^2.5.7: - version "2.6.20" - resolved "https://registry.npmjs.org/csstype/-/csstype-2.6.20.tgz" - integrity sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA== - -csstype@^3.0.11, csstype@^3.0.2: - version "3.0.11" - resolved "https://registry.npmjs.org/csstype/-/csstype-3.0.11.tgz" - integrity sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw== - -damerau-levenshtein@^1.0.8: - 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@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz" - integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== - dependencies: - abab "^2.0.3" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.0.0" - -date-fns@^2.28.0: - version "2.28.0" - resolved "https://registry.npmjs.org/date-fns/-/date-fns-2.28.0.tgz" - integrity sha512-8d35hViGYx/QH0icHYCeLmsLmMUheMmTyV9Fcm6gvNwdw31yXXH+O85sOBJ+OLnLQMKZowvpKb6FgMIQjcpvQw== - -dayjs@^1.11.0: - version "1.11.0" - resolved "https://registry.npmjs.org/dayjs/-/dayjs-1.11.0.tgz" - integrity sha512-JLC809s6Y948/FuCZPm5IX8rRhQwOiyMb2TfVVQEixG7P8Lm/gt5S7yoQZmC8x1UehI9Pb7sksEt4xx14m+7Ug== - -debug@2.6.9, debug@^2.6.0, debug@^2.6.9: - version "2.6.9" - resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4: - version "4.3.4" - resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - -debug@^3.2.7: - version "3.2.7" - resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" - integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== - dependencies: - ms "^2.1.1" - -decimal.js@^10.2.1: - version "10.4.3" - resolved "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz" - integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA== - -decode-uri-component@^0.2.0: - version "0.2.2" - resolved "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz" - integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== - -dedent@^0.7.0: - version "0.7.0" - resolved "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz" - integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== - -deep-is@^0.1.3, deep-is@~0.1.3: - 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@^2.1.1: - version "2.2.1" - resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-2.2.1.tgz" - integrity sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA== - -deepmerge@^4.2.2: - version "4.2.2" - resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz" - integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== - -default-gateway@^6.0.3: - 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== - dependencies: - execa "^5.0.0" - -define-lazy-prop@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz" - integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== - -define-properties@^1.1.3, define-properties@^1.1.4: - version "1.1.4" - resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz" - integrity sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA== - dependencies: - has-property-descriptors "^1.0.0" - object-keys "^1.1.1" - -defined@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz" - integrity sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q== - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" - integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== - -depd@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz" - integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== - -depd@~1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz" - integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== - -destroy@1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz" - integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== - -detect-newline@^3.0.0: - 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@^2.0.4: - 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@^1.1.6: - 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== - dependencies: - address "^1.0.1" - debug "^2.6.0" - -detective@^5.2.1: - version "5.2.1" - resolved "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz" - integrity sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw== - dependencies: - acorn-node "^1.8.2" - defined "^1.0.0" - minimist "^1.2.6" - -didyoumean@^1.2.2: - version "1.2.2" - resolved "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz" - integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw== - -diff-sequences@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz" - integrity sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ== - -dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" - integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== - dependencies: - path-type "^4.0.0" - -dlv@^1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz" - integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== - -dns-equal@^1.0.0: - 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@^5.2.2: - version "5.4.0" - resolved "https://registry.npmjs.org/dns-packet/-/dns-packet-5.4.0.tgz" - integrity sha512-EgqGeaBB8hLiHLZtp/IbaDQTL8pZ0+IvwzSHA6d7VyMDM+B9hgddEMa9xjK5oYnw0ci0JQ6g2XCD7/f6cafU6g== + "is-in-browser" "^1.0.2" + +"css-what@^3.2.1": + "integrity" "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==" + "resolved" "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz" + "version" "3.4.2" + +"css-what@^6.0.1": + "integrity" "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==" + "resolved" "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz" + "version" "6.1.0" + +"css.escape@^1.5.1": + "integrity" "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==" + "resolved" "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz" + "version" "1.5.1" + +"css@^3.0.0": + "version" "3.0.0" + dependencies: + "inherits" "^2.0.4" + "source-map" "^0.6.1" + "source-map-resolve" "^0.6.0" + +"cssdb@^7.1.0": + "version" "7.2.1" + +"cssesc@^3.0.0": + "integrity" "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" + "resolved" "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz" + "version" "3.0.0" + +"cssfilter@0.0.10": + "integrity" "sha512-FAaLDaplstoRsDR8XGYH51znUN0UY7nMc6Z9/fvE8EXGwvJE9hu7W2vHwx1+bd6gCYnln9nLbzxFTrcO9YQDZw==" + "resolved" "https://registry.npmjs.org/cssfilter/-/cssfilter-0.0.10.tgz" + "version" "0.0.10" + +"cssnano-preset-default@^5.2.13": + "version" "5.2.13" + dependencies: + "css-declaration-sorter" "^6.3.1" + "cssnano-utils" "^3.1.0" + "postcss-calc" "^8.2.3" + "postcss-colormin" "^5.3.0" + "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.3" + "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.1" + "postcss-reduce-transforms" "^5.1.0" + "postcss-svgo" "^5.1.0" + "postcss-unique-selectors" "^5.1.1" + +"cssnano-utils@^3.1.0": + "integrity" "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==" + "resolved" "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz" + "version" "3.1.0" + +"cssnano@^5.0.6": + "version" "5.1.14" + dependencies: + "cssnano-preset-default" "^5.2.13" + "lilconfig" "^2.0.3" + "yaml" "^1.10.2" + +"csso@^4.0.2", "csso@^4.2.0": + "integrity" "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==" + "resolved" "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz" + "version" "4.2.0" + dependencies: + "css-tree" "^1.1.2" + +"cssom@^0.4.4": + "integrity" "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" + "resolved" "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz" + "version" "0.4.4" + +"cssom@~0.3.6": + "integrity" "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" + "resolved" "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz" + "version" "0.3.8" + +"cssstyle@^2.3.0": + "integrity" "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==" + "resolved" "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz" + "version" "2.3.0" + dependencies: + "cssom" "~0.3.6" + +"csstype@^2.5.7": + "version" "2.6.20" + +"csstype@^3.0.11", "csstype@^3.0.2": + "version" "3.0.11" + +"damerau-levenshtein@^1.0.8": + "integrity" "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==" + "resolved" "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz" + "version" "1.0.8" + +"data-urls@^2.0.0": + "integrity" "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==" + "resolved" "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "abab" "^2.0.3" + "whatwg-mimetype" "^2.3.0" + "whatwg-url" "^8.0.0" + +"date-fns@^2.0.0", "date-fns@^2.25.0", "date-fns@^2.28.0": + "version" "2.28.0" + +"dayjs@^1.10.7", "dayjs@^1.11.0", "dayjs@^1.11.7", "dayjs@^1.8.15", "dayjs@^1.8.17": + "integrity" "sha512-LcgxzFoWMEPO7ggRv1Y2N31hUf2R0Vj7fuy/m+Bg1K8rr+KAs1AEy4y9jd5DXe8pbHgX+srkHNS7TH6Q6ZhYeQ==" + "resolved" "https://registry.npmjs.org/dayjs/-/dayjs-1.11.8.tgz" + "version" "1.11.8" + +"debug@^2.2.0": + "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" + "resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + "version" "2.6.9" + dependencies: + "ms" "2.0.0" + +"debug@^2.3.3": + "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" + "resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + "version" "2.6.9" + dependencies: + "ms" "2.0.0" + +"debug@^2.6.0": + "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" + "resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + "version" "2.6.9" + dependencies: + "ms" "2.0.0" + +"debug@^2.6.9": + "version" "2.6.9" + dependencies: + "ms" "2.0.0" + +"debug@^3.2.7": + "integrity" "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==" + "resolved" "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" + "version" "3.2.7" + dependencies: + "ms" "^2.1.1" + +"debug@^4.1.0", "debug@^4.1.1", "debug@^4.3.2", "debug@^4.3.4", "debug@4": + "integrity" "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==" + "resolved" "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" + "version" "4.3.4" + dependencies: + "ms" "2.1.2" + +"debug@2.6.9": + "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" + "resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + "version" "2.6.9" + dependencies: + "ms" "2.0.0" + +"decamelize@^1.2.0": + "integrity" "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==" + "resolved" "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" + "version" "1.2.0" + +"decimal.js@^10.2.1": + "integrity" "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==" + "resolved" "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz" + "version" "10.4.3" + +"decode-uri-component@^0.2.0": + "integrity" "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==" + "resolved" "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz" + "version" "0.2.2" + +"dedent@^0.7.0": + "integrity" "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==" + "resolved" "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz" + "version" "0.7.0" + +"deep-is@^0.1.3", "deep-is@~0.1.3": + "integrity" "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" + "resolved" "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" + "version" "0.1.4" + +"deepmerge@^2.1.1": + "integrity" "sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA==" + "resolved" "https://registry.npmjs.org/deepmerge/-/deepmerge-2.2.1.tgz" + "version" "2.2.1" + +"deepmerge@^3.2.0": + "integrity" "sha512-GRQOafGHwMHpjPx9iCvTgpu9NojZ49q794EEL94JVEw6VaeA8XTUyBKvAkOOjBX9oJNiV6G3P+T+tihFjo2TqA==" + "resolved" "https://registry.npmjs.org/deepmerge/-/deepmerge-3.3.0.tgz" + "version" "3.3.0" + +"deepmerge@^4.2.2": + "version" "4.2.2" + +"default-gateway@^6.0.3": + "integrity" "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==" + "resolved" "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz" + "version" "6.0.3" + dependencies: + "execa" "^5.0.0" + +"defaults@^1.0.3": + "integrity" "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==" + "resolved" "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz" + "version" "1.0.4" + dependencies: + "clone" "^1.0.2" + +"define-lazy-prop@^2.0.0": + "integrity" "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==" + "resolved" "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz" + "version" "2.0.0" + +"define-properties@^1.1.3", "define-properties@^1.1.4": + "version" "1.1.4" + dependencies: + "has-property-descriptors" "^1.0.0" + "object-keys" "^1.1.1" + +"define-property@^0.2.5": + "integrity" "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==" + "resolved" "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz" + "version" "0.2.5" + dependencies: + "is-descriptor" "^0.1.0" + +"define-property@^1.0.0": + "integrity" "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==" + "resolved" "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "is-descriptor" "^1.0.0" + +"define-property@^2.0.2": + "integrity" "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==" + "resolved" "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz" + "version" "2.0.2" + dependencies: + "is-descriptor" "^1.0.2" + "isobject" "^3.0.1" + +"defined@^1.0.0": + "version" "1.0.1" + +"delayed-stream@~1.0.0": + "integrity" "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + "resolved" "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" + "version" "1.0.0" + +"denodeify@^1.2.1": + "integrity" "sha512-KNTihKNmQENUZeKu5fzfpzRqR5S2VMp4gl9RFHiWzj9DfvYQPMJ6XHKNaQxaGCXwPk6y9yme3aUoaiAe+KX+vg==" + "resolved" "https://registry.npmjs.org/denodeify/-/denodeify-1.2.1.tgz" + "version" "1.2.1" + +"depd@~1.1.2": + "integrity" "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==" + "resolved" "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz" + "version" "1.1.2" + +"depd@2.0.0": + "integrity" "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + "resolved" "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz" + "version" "2.0.0" + +"deprecated-react-native-prop-types@^3.0.1": + "integrity" "sha512-J0jCJcsk4hMlIb7xwOZKLfMpuJn6l8UtrPEzzQV5ewz5gvKNYakhBuq9h2rWX7YwHHJZFhU5W8ye7dB9oN8VcQ==" + "resolved" "https://registry.npmjs.org/deprecated-react-native-prop-types/-/deprecated-react-native-prop-types-3.0.1.tgz" + "version" "3.0.1" + dependencies: + "@react-native/normalize-color" "*" + "invariant" "*" + "prop-types" "*" + +"destroy@1.2.0": + "integrity" "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" + "resolved" "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz" + "version" "1.2.0" + +"detect-newline@^3.0.0": + "integrity" "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==" + "resolved" "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz" + "version" "3.1.0" + +"detect-node@^2.0.4": + "integrity" "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" + "resolved" "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz" + "version" "2.1.0" + +"detect-port-alt@^1.1.6": + "integrity" "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==" + "resolved" "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz" + "version" "1.1.6" + dependencies: + "address" "^1.0.1" + "debug" "^2.6.0" + +"detective@^5.2.1": + "version" "5.2.1" + dependencies: + "acorn-node" "^1.8.2" + "defined" "^1.0.0" + "minimist" "^1.2.6" + +"didyoumean@^1.2.2": + "integrity" "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" + "resolved" "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz" + "version" "1.2.2" + +"diff-sequences@^27.5.1": + "integrity" "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==" + "resolved" "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz" + "version" "27.5.1" + +"dir-glob@^3.0.1": + "integrity" "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==" + "resolved" "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" + "version" "3.0.1" + dependencies: + "path-type" "^4.0.0" + +"dlv@^1.1.3": + "integrity" "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" + "resolved" "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz" + "version" "1.1.3" + +"dns-equal@^1.0.0": + "integrity" "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==" + "resolved" "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz" + "version" "1.0.0" + +"dns-packet@^5.2.2": + "version" "5.4.0" dependencies: "@leichtgewicht/ip-codec" "^2.0.1" -doctrine@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz" - integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== +"doctrine@^2.1.0": + "integrity" "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==" + "resolved" "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz" + "version" "2.1.0" dependencies: - esutils "^2.0.2" + "esutils" "^2.0.2" -doctrine@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" - integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== +"doctrine@^3.0.0": + "integrity" "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==" + "resolved" "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" + "version" "3.0.0" dependencies: - esutils "^2.0.2" + "esutils" "^2.0.2" -dom-accessibility-api@^0.5.6, dom-accessibility-api@^0.5.9: - version "0.5.13" - resolved "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.13.tgz" - integrity sha512-R305kwb5CcMDIpSHUnLyIAp7SrSPBx6F0VfQFB3M75xVMHhXJJIdePYgbPPh1o57vCHNu5QztokWUPsLjWzFqw== +"dom-accessibility-api@^0.5.6", "dom-accessibility-api@^0.5.9": + "version" "0.5.13" -dom-converter@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz" - integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== +"dom-converter@^0.2.0": + "integrity" "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==" + "resolved" "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz" + "version" "0.2.0" dependencies: - utila "~0.4" + "utila" "~0.4" -dom-helpers@^5.0.1: - version "5.2.1" - resolved "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz" - integrity sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA== +"dom-helpers@^5.0.1": + "integrity" "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==" + "resolved" "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz" + "version" "5.2.1" dependencies: "@babel/runtime" "^7.8.7" - csstype "^3.0.2" - -dom-serializer@0: - version "0.2.2" - resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz" - integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== - dependencies: - domelementtype "^2.0.1" - entities "^2.0.0" - -dom-serializer@^1.0.1: - version "1.4.1" - resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz" - integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag== - dependencies: - domelementtype "^2.0.1" - domhandler "^4.2.0" - entities "^2.0.0" - -domelementtype@1: - version "1.3.1" - resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz" - integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== - -domelementtype@^2.0.1, domelementtype@^2.2.0: - version "2.3.0" - resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz" - integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== - -domexception@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz" - integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== - dependencies: - webidl-conversions "^5.0.0" - -domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.1: - version "4.3.1" - resolved "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz" - integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ== - dependencies: - domelementtype "^2.2.0" - -domutils@^1.7.0: - version "1.7.0" - resolved "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz" - integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== - dependencies: - dom-serializer "0" - domelementtype "1" - -domutils@^2.5.2, domutils@^2.8.0: - version "2.8.0" - resolved "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz" - integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== - dependencies: - dom-serializer "^1.0.1" - domelementtype "^2.2.0" - domhandler "^4.2.0" - -dot-case@^3.0.4: - version "3.0.4" - resolved "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz" - integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== - dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - -dotenv-expand@^5.1.0: - version "5.1.0" - resolved "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz" - integrity sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA== - -dotenv@^10.0.0: - version "10.0.0" - resolved "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz" - integrity sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q== - -downshift@^1.31.2: - version "1.31.16" - resolved "https://registry.npmjs.org/downshift/-/downshift-1.31.16.tgz" - integrity sha512-RskXmiGSoz0EHAyBrmTBGSLHg6+NYDGuLu2W3GpmuOe6hmZEWhCiQrq5g6DWzhnUaJD41xHbbfC6j1Fe86YqgA== - -duplexer@^0.1.2: - version "0.1.2" - resolved "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz" - integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== - -ee-first@1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" - integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== - -ejs@^3.1.6: - version "3.1.8" - resolved "https://registry.npmjs.org/ejs/-/ejs-3.1.8.tgz" - integrity sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ== - dependencies: - jake "^10.8.5" - -electron-to-chromium@^1.4.251: - version "1.4.284" - resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz" - integrity sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA== - -emittery@^0.10.2: - version "0.10.2" - resolved "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz" - integrity sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw== - -emittery@^0.8.1: - version "0.8.1" - resolved "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz" - integrity sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -emoji-regex@^9.2.2: - version "9.2.2" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz" - integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== - -emojis-list@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz" - integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== - -emotion-theming@^10.0.27: - version "10.3.0" - resolved "https://registry.npmjs.org/emotion-theming/-/emotion-theming-10.3.0.tgz" - integrity sha512-mXiD2Oj7N9b6+h/dC6oLf9hwxbtKHQjoIqtodEyL8CpkN4F3V4IK/BT4D0C7zSs4BBFOu4UlPJbvvBLa88SGEA== + "csstype" "^3.0.2" + +"dom-serializer@^1.0.1": + "integrity" "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==" + "resolved" "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz" + "version" "1.4.1" + dependencies: + "domelementtype" "^2.0.1" + "domhandler" "^4.2.0" + "entities" "^2.0.0" + +"dom-serializer@0": + "integrity" "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==" + "resolved" "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz" + "version" "0.2.2" + dependencies: + "domelementtype" "^2.0.1" + "entities" "^2.0.0" + +"domelementtype@^2.0.1", "domelementtype@^2.2.0": + "integrity" "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" + "resolved" "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz" + "version" "2.3.0" + +"domelementtype@1": + "integrity" "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + "resolved" "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz" + "version" "1.3.1" + +"domexception@^2.0.1": + "integrity" "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==" + "resolved" "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "webidl-conversions" "^5.0.0" + +"domhandler@^4.0.0", "domhandler@^4.2.0", "domhandler@^4.3.1": + "integrity" "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==" + "resolved" "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz" + "version" "4.3.1" + dependencies: + "domelementtype" "^2.2.0" + +"domutils@^1.7.0": + "integrity" "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==" + "resolved" "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz" + "version" "1.7.0" + dependencies: + "dom-serializer" "0" + "domelementtype" "1" + +"domutils@^2.5.2", "domutils@^2.8.0": + "integrity" "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==" + "resolved" "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz" + "version" "2.8.0" + dependencies: + "dom-serializer" "^1.0.1" + "domelementtype" "^2.2.0" + "domhandler" "^4.2.0" + +"dot-case@^3.0.4": + "integrity" "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==" + "resolved" "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz" + "version" "3.0.4" + dependencies: + "no-case" "^3.0.4" + "tslib" "^2.0.3" + +"dotenv-expand@^5.1.0": + "integrity" "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" + "resolved" "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz" + "version" "5.1.0" + +"dotenv@^10.0.0": + "integrity" "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==" + "resolved" "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz" + "version" "10.0.0" + +"downshift@^1.31.2": + "integrity" "sha512-RskXmiGSoz0EHAyBrmTBGSLHg6+NYDGuLu2W3GpmuOe6hmZEWhCiQrq5g6DWzhnUaJD41xHbbfC6j1Fe86YqgA==" + "resolved" "https://registry.npmjs.org/downshift/-/downshift-1.31.16.tgz" + "version" "1.31.16" + +"duplexer@^0.1.2": + "integrity" "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" + "resolved" "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz" + "version" "0.1.2" + +"echarts-for-react@^3.0.2": + "integrity" "sha512-DRwIiTzx8JfwPOVgGttDytBqdp5VzCSyMRIxubgU/g2n9y3VLUmF2FK7Icmg/sNVkv4+rktmrLN9w22U2yy3fA==" + "resolved" "https://registry.npmjs.org/echarts-for-react/-/echarts-for-react-3.0.2.tgz" + "version" "3.0.2" + dependencies: + "fast-deep-equal" "^3.1.3" + "size-sensor" "^1.0.1" + +"echarts@^3.0.0 || ^4.0.0 || ^5.0.0", "echarts@^5.3.3": + "integrity" "sha512-2W3vw3oI2tWJdyAz+b8DuWS0nfXtSDqlDmqgin/lfzbkB01cuMEN66KWBlmur3YMp5nEDEEt5s23pllnAzB4EA==" + "resolved" "https://registry.npmjs.org/echarts/-/echarts-5.4.2.tgz" + "version" "5.4.2" + dependencies: + "tslib" "2.3.0" + "zrender" "5.4.3" + +"ee-first@1.1.1": + "integrity" "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + "resolved" "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" + "version" "1.1.1" + +"ejs@^3.1.6": + "version" "3.1.8" + dependencies: + "jake" "^10.8.5" + +"electron-to-chromium@^1.4.251": + "version" "1.4.284" + +"emittery@^0.10.2": + "integrity" "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==" + "resolved" "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz" + "version" "0.10.2" + +"emittery@^0.8.1": + "integrity" "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==" + "resolved" "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz" + "version" "0.8.1" + +"emoji-regex@^8.0.0": + "integrity" "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + "resolved" "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" + "version" "8.0.0" + +"emoji-regex@^9.2.2": + "integrity" "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + "resolved" "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz" + "version" "9.2.2" + +"emojis-list@^3.0.0": + "integrity" "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" + "resolved" "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz" + "version" "3.0.0" + +"emotion-theming@^10.0.27": + "integrity" "sha512-mXiD2Oj7N9b6+h/dC6oLf9hwxbtKHQjoIqtodEyL8CpkN4F3V4IK/BT4D0C7zSs4BBFOu4UlPJbvvBLa88SGEA==" + "resolved" "https://registry.npmjs.org/emotion-theming/-/emotion-theming-10.3.0.tgz" + "version" "10.3.0" dependencies: "@babel/runtime" "^7.5.5" "@emotion/weak-memoize" "0.2.5" - hoist-non-react-statics "^3.3.0" - -encodeurl@~1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz" - integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== - -enhanced-resolve@^5.10.0: - version "5.12.0" - resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz" - integrity sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ== - dependencies: - graceful-fs "^4.2.4" - tapable "^2.2.0" - -entities@2.2.0, entities@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz" - integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== - -env-cmd@^10.1.0: - version "10.1.0" - resolved "https://registry.npmjs.org/env-cmd/-/env-cmd-10.1.0.tgz" - integrity sha512-mMdWTT9XKN7yNth/6N6g2GuKuJTsKMDHlQFUDacb/heQRRWOTIZ42t1rMHnQu4jYxU1ajdTeJM+9eEETlqToMA== - dependencies: - commander "^4.0.0" - cross-spawn "^7.0.0" - -error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -error-stack-parser@^2.0.6: - 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== - dependencies: - stackframe "^1.3.4" - -es-abstract@^1.17.2, es-abstract@^1.19.0, es-abstract@^1.20.4: - version "1.21.0" - resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.0.tgz" - integrity sha512-GUGtW7eXQay0c+PRq0sGIKSdaBorfVqsCMhGHo4elP7YVqZu9nCZS4UkK4gv71gOWNMra/PaSKD3ao1oWExO0g== - dependencies: - call-bind "^1.0.2" - es-set-tostringtag "^2.0.0" - es-to-primitive "^1.2.1" - function-bind "^1.1.1" - function.prototype.name "^1.1.5" - get-intrinsic "^1.1.3" - 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.4" - is-array-buffer "^3.0.0" - 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.2" - object-keys "^1.1.1" - object.assign "^4.1.4" - regexp.prototype.flags "^1.4.3" - safe-regex-test "^1.0.0" - string.prototype.trimend "^1.0.6" - string.prototype.trimstart "^1.0.6" - typed-array-length "^1.0.4" - unbox-primitive "^1.0.2" - which-typed-array "^1.1.9" - -es-array-method-boxes-properly@^1.0.0: - 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@^0.9.0: - version "0.9.3" - resolved "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz" - integrity sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ== - -es-set-tostringtag@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz" - integrity sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg== - dependencies: - get-intrinsic "^1.1.3" - has "^1.0.3" - has-tostringtag "^1.0.0" - -es-shim-unscopables@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz" - integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w== - dependencies: - has "^1.0.3" - -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== - -escape-html@~1.0.3: - 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@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" - integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== - -escape-string-regexp@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz" - integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== - -escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - -escodegen@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz" - integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw== - dependencies: - esprima "^4.0.1" - estraverse "^5.2.0" - esutils "^2.0.2" - optionator "^0.8.1" + "hoist-non-react-statics" "^3.3.0" + +"encodeurl@~1.0.2": + "integrity" "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" + "resolved" "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz" + "version" "1.0.2" + +"end-of-stream@^1.1.0": + "integrity" "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==" + "resolved" "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz" + "version" "1.4.4" + dependencies: + "once" "^1.4.0" + +"enhanced-resolve@^5.10.0": + "version" "5.12.0" + dependencies: + "graceful-fs" "^4.2.4" + "tapable" "^2.2.0" + +"entities@^2.0.0", "entities@2.2.0": + "integrity" "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" + "resolved" "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz" + "version" "2.2.0" + +"env-cmd@^10.1.0": + "integrity" "sha512-mMdWTT9XKN7yNth/6N6g2GuKuJTsKMDHlQFUDacb/heQRRWOTIZ42t1rMHnQu4jYxU1ajdTeJM+9eEETlqToMA==" + "resolved" "https://registry.npmjs.org/env-cmd/-/env-cmd-10.1.0.tgz" + "version" "10.1.0" + dependencies: + "commander" "^4.0.0" + "cross-spawn" "^7.0.0" + +"envinfo@^7.7.2": + "integrity" "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==" + "resolved" "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz" + "version" "7.8.1" + +"error-ex@^1.3.1": + "integrity" "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==" + "resolved" "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" + "version" "1.3.2" + dependencies: + "is-arrayish" "^0.2.1" + +"error-stack-parser@^2.0.6": + "integrity" "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==" + "resolved" "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz" + "version" "2.1.4" + dependencies: + "stackframe" "^1.3.4" + +"errorhandler@^1.5.0": + "integrity" "sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==" + "resolved" "https://registry.npmjs.org/errorhandler/-/errorhandler-1.5.1.tgz" + "version" "1.5.1" + dependencies: + "accepts" "~1.3.7" + "escape-html" "~1.0.3" + +"es-abstract@^1.17.2", "es-abstract@^1.19.0", "es-abstract@^1.20.4": + "version" "1.21.0" + dependencies: + "call-bind" "^1.0.2" + "es-set-tostringtag" "^2.0.0" + "es-to-primitive" "^1.2.1" + "function-bind" "^1.1.1" + "function.prototype.name" "^1.1.5" + "get-intrinsic" "^1.1.3" + "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.4" + "is-array-buffer" "^3.0.0" + "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.2" + "object-keys" "^1.1.1" + "object.assign" "^4.1.4" + "regexp.prototype.flags" "^1.4.3" + "safe-regex-test" "^1.0.0" + "string.prototype.trimend" "^1.0.6" + "string.prototype.trimstart" "^1.0.6" + "typed-array-length" "^1.0.4" + "unbox-primitive" "^1.0.2" + "which-typed-array" "^1.1.9" + +"es-array-method-boxes-properly@^1.0.0": + "integrity" "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==" + "resolved" "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz" + "version" "1.0.0" + +"es-module-lexer@^0.9.0": + "version" "0.9.3" + +"es-set-tostringtag@^2.0.0": + "version" "2.0.1" + dependencies: + "get-intrinsic" "^1.1.3" + "has" "^1.0.3" + "has-tostringtag" "^1.0.0" + +"es-shim-unscopables@^1.0.0": + "integrity" "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==" + "resolved" "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "has" "^1.0.3" + +"es-to-primitive@^1.2.1": + "integrity" "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==" + "resolved" "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz" + "version" "1.2.1" + dependencies: + "is-callable" "^1.1.4" + "is-date-object" "^1.0.1" + "is-symbol" "^1.0.2" + +"escalade@^3.1.1": + "integrity" "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + "resolved" "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" + "version" "3.1.1" + +"escape-html@~1.0.3": + "integrity" "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + "resolved" "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz" + "version" "1.0.3" + +"escape-string-regexp@^1.0.5": + "integrity" "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + "version" "1.0.5" + +"escape-string-regexp@^2.0.0": + "integrity" "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" + "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz" + "version" "2.0.0" + +"escape-string-regexp@^4.0.0": + "integrity" "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" + "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" + "version" "4.0.0" + +"escodegen@^2.0.0": + "integrity" "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==" + "resolved" "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "esprima" "^4.0.1" + "estraverse" "^5.2.0" + "esutils" "^2.0.2" + "optionator" "^0.8.1" optionalDependencies: - source-map "~0.6.1" + "source-map" "~0.6.1" -eslint-config-react-app@^7.0.1: - 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== +"eslint-config-react-app@^7.0.1": + "integrity" "sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==" + "resolved" "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz" + "version" "7.0.1" dependencies: "@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" - -eslint-import-resolver-node@^0.3.6: - version "0.3.6" - resolved "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz" - integrity sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw== - dependencies: - debug "^3.2.7" - resolve "^1.20.0" - -eslint-module-utils@^2.7.3: - version "2.7.4" - resolved "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz" - integrity sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA== - dependencies: - debug "^3.2.7" - -eslint-plugin-flowtype@^8.0.3: - 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== - dependencies: - lodash "^4.17.21" - string-natural-compare "^3.0.1" - -eslint-plugin-import@^2.25.3: - version "2.26.0" - resolved "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz" - integrity sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA== - dependencies: - array-includes "^3.1.4" - array.prototype.flat "^1.2.5" - debug "^2.6.9" - doctrine "^2.1.0" - eslint-import-resolver-node "^0.3.6" - eslint-module-utils "^2.7.3" - has "^1.0.3" - is-core-module "^2.8.1" - is-glob "^4.0.3" - minimatch "^3.1.2" - object.values "^1.1.5" - resolve "^1.22.0" - tsconfig-paths "^3.14.1" - -eslint-plugin-jest@^25.3.0: - 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== + "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" + +"eslint-import-resolver-node@^0.3.6": + "version" "0.3.6" + dependencies: + "debug" "^3.2.7" + "resolve" "^1.20.0" + +"eslint-module-utils@^2.7.3": + "version" "2.7.4" + dependencies: + "debug" "^3.2.7" + +"eslint-plugin-flowtype@^8.0.3": + "integrity" "sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==" + "resolved" "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz" + "version" "8.0.3" + dependencies: + "lodash" "^4.17.21" + "string-natural-compare" "^3.0.1" + +"eslint-plugin-import@^2.25.3": + "version" "2.26.0" + dependencies: + "array-includes" "^3.1.4" + "array.prototype.flat" "^1.2.5" + "debug" "^2.6.9" + "doctrine" "^2.1.0" + "eslint-import-resolver-node" "^0.3.6" + "eslint-module-utils" "^2.7.3" + "has" "^1.0.3" + "is-core-module" "^2.8.1" + "is-glob" "^4.0.3" + "minimatch" "^3.1.2" + "object.values" "^1.1.5" + "resolve" "^1.22.0" + "tsconfig-paths" "^3.14.1" + +"eslint-plugin-jest@^25.3.0": + "integrity" "sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==" + "resolved" "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz" + "version" "25.7.0" dependencies: "@typescript-eslint/experimental-utils" "^5.0.0" -eslint-plugin-jsx-a11y@^6.5.1: - version "6.6.1" - resolved "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.6.1.tgz" - integrity sha512-sXgFVNHiWffBq23uiS/JaP6eVR622DqwB4yTzKvGZGcPq6/yZ3WmOZfuBks/vHWo9GaFOqC2ZK4i6+C35knx7Q== +"eslint-plugin-jsx-a11y@^6.5.1": + "version" "6.6.1" dependencies: "@babel/runtime" "^7.18.9" - aria-query "^4.2.2" - array-includes "^3.1.5" - ast-types-flow "^0.0.7" - axe-core "^4.4.3" - axobject-query "^2.2.0" - damerau-levenshtein "^1.0.8" - emoji-regex "^9.2.2" - has "^1.0.3" - jsx-ast-utils "^3.3.2" - language-tags "^1.0.5" - minimatch "^3.1.2" - semver "^6.3.0" - -eslint-plugin-react-hooks@^4.3.0: - 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-react@^7.27.1: - version "7.31.11" - resolved "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.31.11.tgz" - integrity sha512-TTvq5JsT5v56wPa9OYHzsrOlHzKZKjV+aLgS+55NJP/cuzdiQPC7PfYoUjMoxlffKtvijpk7vA/jmuqRb9nohw== - dependencies: - 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.3" - semver "^6.3.0" - string.prototype.matchall "^4.0.8" - -eslint-plugin-testing-library@^5.0.1: - version "5.9.1" - resolved "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.9.1.tgz" - integrity sha512-6BQp3tmb79jLLasPHJmy8DnxREe+2Pgf7L+7o09TSWPfdqqtQfRZmZNetr5mOs3yqZk/MRNxpN3RUpJe0wB4LQ== + "aria-query" "^4.2.2" + "array-includes" "^3.1.5" + "ast-types-flow" "^0.0.7" + "axe-core" "^4.4.3" + "axobject-query" "^2.2.0" + "damerau-levenshtein" "^1.0.8" + "emoji-regex" "^9.2.2" + "has" "^1.0.3" + "jsx-ast-utils" "^3.3.2" + "language-tags" "^1.0.5" + "minimatch" "^3.1.2" + "semver" "^6.3.0" + +"eslint-plugin-react-hooks@^4.3.0": + "integrity" "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==" + "resolved" "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz" + "version" "4.6.0" + +"eslint-plugin-react@^7.27.1": + "version" "7.31.11" + dependencies: + "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.3" + "semver" "^6.3.0" + "string.prototype.matchall" "^4.0.8" + +"eslint-plugin-testing-library@^5.0.1": + "version" "5.9.1" dependencies: "@typescript-eslint/utils" "^5.13.0" -eslint-scope@5.1.1, eslint-scope@^5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" - integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== +"eslint-scope@^5.1.1", "eslint-scope@5.1.1": + "integrity" "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==" + "resolved" "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" + "version" "5.1.1" dependencies: - esrecurse "^4.3.0" - estraverse "^4.1.1" + "esrecurse" "^4.3.0" + "estraverse" "^4.1.1" -eslint-scope@^7.1.1: - version "7.1.1" - resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz" - integrity sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw== +"eslint-scope@^7.1.1": + "version" "7.1.1" dependencies: - esrecurse "^4.3.0" - estraverse "^5.2.0" + "esrecurse" "^4.3.0" + "estraverse" "^5.2.0" -eslint-utils@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz" - integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== +"eslint-utils@^3.0.0": + "version" "3.0.0" dependencies: - eslint-visitor-keys "^2.0.0" + "eslint-visitor-keys" "^2.0.0" + +"eslint-visitor-keys@^2.0.0": + "version" "2.1.0" -eslint-visitor-keys@^2.0.0, eslint-visitor-keys@^2.1.0: - 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== +"eslint-visitor-keys@^2.1.0": + "integrity" "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==" + "resolved" "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz" + "version" "2.1.0" -eslint-visitor-keys@^3.3.0: - version "3.3.0" - resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz" - integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== +"eslint-visitor-keys@^3.3.0": + "version" "3.3.0" -eslint-webpack-plugin@^3.1.1: - version "3.2.0" - resolved "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz" - integrity sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w== +"eslint-webpack-plugin@^3.1.1": + "integrity" "sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==" + "resolved" "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz" + "version" "3.2.0" dependencies: "@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" + "jest-worker" "^28.0.2" + "micromatch" "^4.0.5" + "normalize-path" "^3.0.0" + "schema-utils" "^4.0.0" -eslint@^8.3.0: - version "8.31.0" - resolved "https://registry.npmjs.org/eslint/-/eslint-8.31.0.tgz" - integrity sha512-0tQQEVdmPZ1UtUKXjX7EMm9BlgJ08G90IhWh0PKDCb3ZLsgAOHI8fYSIzYVZej92zsgq+ft0FGsxhJ3xo2tbuA== +"eslint@*", "eslint@^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8", "eslint@^3 || ^4 || ^5 || ^6 || ^7 || ^8", "eslint@^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0", "eslint@^6.0.0 || ^7.0.0 || ^8.0.0", "eslint@^7.0.0 || ^8.0.0", "eslint@^7.5.0 || ^8.0.0", "eslint@^8.0.0", "eslint@^8.1.0", "eslint@^8.3.0", "eslint@>= 6", "eslint@>=5": + "version" "8.31.0" dependencies: "@eslint/eslintrc" "^1.4.1" "@humanwhocodes/config-array" "^0.11.8" "@humanwhocodes/module-importer" "^1.0.1" "@nodelib/fs.walk" "^1.2.8" - ajv "^6.10.0" - 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.1.1" - eslint-utils "^3.0.0" - eslint-visitor-keys "^3.3.0" - espree "^9.4.0" - esquery "^1.4.0" - 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" - grapheme-splitter "^1.0.4" - ignore "^5.2.0" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - is-path-inside "^3.0.3" - js-sdsl "^4.1.4" - 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.1" - regexpp "^3.2.0" - strip-ansi "^6.0.1" - strip-json-comments "^3.1.0" - text-table "^0.2.0" - -espree@^9.4.0: - version "9.4.1" - resolved "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz" - integrity sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg== - dependencies: - acorn "^8.8.0" - acorn-jsx "^5.3.2" - eslint-visitor-keys "^3.3.0" - -esprima@^4.0.0, esprima@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -esquery@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz" - integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== - dependencies: - estraverse "^5.1.0" - -esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - -estraverse@^4.1.1: - version "4.3.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - -estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: - version "5.3.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -estree-walker@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz" - integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -etag@~1.8.1: - version "1.8.1" - resolved "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz" - integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== - -eventemitter3@^4.0.0: - version "4.0.7" - resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz" - integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== - -events@^3.1.0, events@^3.2.0: - version "3.3.0" - resolved "https://registry.npmjs.org/events/-/events-3.3.0.tgz" - integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== - -execa@^5.0.0: - version "5.1.1" - resolved "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz" - integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== - dependencies: - 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@^0.1.2: - version "0.1.2" - resolved "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz" - integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== - -expect@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz" - integrity sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw== + "ajv" "^6.10.0" + "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.1.1" + "eslint-utils" "^3.0.0" + "eslint-visitor-keys" "^3.3.0" + "espree" "^9.4.0" + "esquery" "^1.4.0" + "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" + "grapheme-splitter" "^1.0.4" + "ignore" "^5.2.0" + "import-fresh" "^3.0.0" + "imurmurhash" "^0.1.4" + "is-glob" "^4.0.0" + "is-path-inside" "^3.0.3" + "js-sdsl" "^4.1.4" + "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.1" + "regexpp" "^3.2.0" + "strip-ansi" "^6.0.1" + "strip-json-comments" "^3.1.0" + "text-table" "^0.2.0" + +"espree@^9.4.0": + "version" "9.4.1" + dependencies: + "acorn" "^8.8.0" + "acorn-jsx" "^5.3.2" + "eslint-visitor-keys" "^3.3.0" + +"esprima@^4.0.0", "esprima@^4.0.1", "esprima@~4.0.0": + "integrity" "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + "resolved" "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" + "version" "4.0.1" + +"esquery@^1.4.0": + "version" "1.4.0" + dependencies: + "estraverse" "^5.1.0" + +"esrecurse@^4.3.0": + "integrity" "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==" + "resolved" "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" + "version" "4.3.0" + dependencies: + "estraverse" "^5.2.0" + +"estraverse@^4.1.1": + "integrity" "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + "resolved" "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" + "version" "4.3.0" + +"estraverse@^5.1.0", "estraverse@^5.2.0", "estraverse@^5.3.0": + "integrity" "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" + "resolved" "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" + "version" "5.3.0" + +"estree-walker@^1.0.1": + "integrity" "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==" + "resolved" "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz" + "version" "1.0.1" + +"esutils@^2.0.2": + "integrity" "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + "resolved" "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" + "version" "2.0.3" + +"etag@~1.8.1": + "integrity" "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" + "resolved" "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz" + "version" "1.8.1" + +"event-target-shim@^5.0.0", "event-target-shim@^5.0.1": + "integrity" "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==" + "resolved" "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz" + "version" "5.0.1" + +"eventemitter3@^4.0.0": + "integrity" "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + "resolved" "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz" + "version" "4.0.7" + +"events@^3.1.0", "events@^3.2.0": + "integrity" "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" + "resolved" "https://registry.npmjs.org/events/-/events-3.3.0.tgz" + "version" "3.3.0" + +"execa@^1.0.0": + "integrity" "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==" + "resolved" "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "cross-spawn" "^6.0.0" + "get-stream" "^4.0.0" + "is-stream" "^1.1.0" + "npm-run-path" "^2.0.0" + "p-finally" "^1.0.0" + "signal-exit" "^3.0.0" + "strip-eof" "^1.0.0" + +"execa@^5.0.0": + "integrity" "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==" + "resolved" "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz" + "version" "5.1.1" + dependencies: + "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@^0.1.2": + "integrity" "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==" + "resolved" "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz" + "version" "0.1.2" + +"expand-brackets@^2.1.4": + "integrity" "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==" + "resolved" "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz" + "version" "2.1.4" + dependencies: + "debug" "^2.3.3" + "define-property" "^0.2.5" + "extend-shallow" "^2.0.1" + "posix-character-classes" "^0.1.0" + "regex-not" "^1.0.0" + "snapdragon" "^0.8.1" + "to-regex" "^3.0.1" + +"expect@^27.5.1": + "integrity" "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==" + "resolved" "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz" + "version" "27.5.1" dependencies: "@jest/types" "^27.5.1" - jest-get-type "^27.5.1" - jest-matcher-utils "^27.5.1" - jest-message-util "^27.5.1" - -express@^4.17.3: - version "4.18.2" - resolved "https://registry.npmjs.org/express/-/express-4.18.2.tgz" - integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ== - dependencies: - 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" - -fast-base64-decode@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/fast-base64-decode/-/fast-base64-decode-1.0.0.tgz" - integrity sha512-qwaScUgUGBYeDNRnbc/KyllVU88Jk1pRHPStuF/lO7B0/RTRLj7U0lkdTAutlBblY08rwZDff6tNU9cjv6j//Q== - -fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: - 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@^3.2.12, fast-glob@^3.2.9: - version "3.2.12" - resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz" - integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== + "jest-get-type" "^27.5.1" + "jest-matcher-utils" "^27.5.1" + "jest-message-util" "^27.5.1" + +"express@^4.17.3": + "integrity" "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==" + "resolved" "https://registry.npmjs.org/express/-/express-4.18.2.tgz" + "version" "4.18.2" + dependencies: + "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" + +"extend-shallow@^2.0.1": + "integrity" "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==" + "resolved" "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "is-extendable" "^0.1.0" + +"extend-shallow@^3.0.0", "extend-shallow@^3.0.2": + "integrity" "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==" + "resolved" "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz" + "version" "3.0.2" + dependencies: + "assign-symbols" "^1.0.0" + "is-extendable" "^1.0.1" + +"extglob@^2.0.4": + "integrity" "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==" + "resolved" "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz" + "version" "2.0.4" + dependencies: + "array-unique" "^0.3.2" + "define-property" "^1.0.0" + "expand-brackets" "^2.1.4" + "extend-shallow" "^2.0.1" + "fragment-cache" "^0.2.1" + "regex-not" "^1.0.0" + "snapdragon" "^0.8.1" + "to-regex" "^3.0.1" + +"fast-base64-decode@^1.0.0": + "integrity" "sha512-qwaScUgUGBYeDNRnbc/KyllVU88Jk1pRHPStuF/lO7B0/RTRLj7U0lkdTAutlBblY08rwZDff6tNU9cjv6j//Q==" + "resolved" "https://registry.npmjs.org/fast-base64-decode/-/fast-base64-decode-1.0.0.tgz" + "version" "1.0.0" + +"fast-deep-equal@^3.1.1", "fast-deep-equal@^3.1.3": + "integrity" "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + "resolved" "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" + "version" "3.1.3" + +"fast-glob@^3.2.12", "fast-glob@^3.2.9": + "integrity" "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==" + "resolved" "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz" + "version" "3.2.12" dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - -fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: - 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@^2.0.6, fast-levenshtein@~2.0.6: - version "2.0.6" - resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" - integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== - -fast-xml-parser@3.19.0: - version "3.19.0" - resolved "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-3.19.0.tgz" - integrity sha512-4pXwmBplsCPv8FOY1WRakF970TjNGnGnfbOnLqjlYvMiF1SR3yOHyxMR/YCXpPTOspNF5gwudqktIP4VsWkvBg== - -fast-xml-parser@^3.16.0: - version "3.21.1" - resolved "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-3.21.1.tgz" - integrity sha512-FTFVjYoBOZTJekiUsawGsSYV9QL0A+zDYCRj7y34IO6Jg+2IMYEtQa+bbictpdpV8dHxXywqU7C0gRDEOFtBFg== - dependencies: - strnum "^1.0.4" - -fastq@^1.6.0: - version "1.15.0" - resolved "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz" - integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== - dependencies: - reusify "^1.0.4" - -faye-websocket@^0.11.3: - version "0.11.4" - resolved "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz" - integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g== - dependencies: - websocket-driver ">=0.5.1" - -fb-watchman@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz" - integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== - dependencies: - bser "2.1.1" + "glob-parent" "^5.1.2" + "merge2" "^1.3.0" + "micromatch" "^4.0.4" -file-entry-cache@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" - integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== - dependencies: - flat-cache "^3.0.4" - -file-loader@^6.2.0: - version "6.2.0" - resolved "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz" - integrity sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw== - dependencies: - loader-utils "^2.0.0" - schema-utils "^3.0.0" - -file-selector@^0.4.0: - version "0.4.0" - resolved "https://registry.npmjs.org/file-selector/-/file-selector-0.4.0.tgz" - integrity sha512-iACCiXeMYOvZqlF1kTiYINzgepRBymz1wwjiuup9u9nayhb6g4fSwiyJ/6adli+EPwrWtpgQAh2PoS7HukEGEg== - dependencies: - tslib "^2.0.3" - -filelist@^1.0.1: - 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== - dependencies: - minimatch "^5.0.1" - -filesize@^8.0.6: - version "8.0.7" - resolved "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz" - integrity sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ== - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -finalhandler@1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz" - integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== - dependencies: - 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" - -find-cache-dir@^3.3.1: - 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== - dependencies: - commondir "^1.0.1" - make-dir "^3.0.2" - pkg-dir "^4.1.0" - -find-root@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz" - integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== +"fast-json-stable-stringify@^2.0.0", "fast-json-stable-stringify@^2.1.0": + "integrity" "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + "resolved" "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" + "version" "2.1.0" -find-up@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz" - integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== +"fast-levenshtein@^2.0.6", "fast-levenshtein@~2.0.6": + "integrity" "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" + "resolved" "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" + "version" "2.0.6" + +"fast-xml-parser@^4.0.12", "fast-xml-parser@4.2.4": + "integrity" "sha512-fbfMDvgBNIdDJLdLOwacjFAPYt67tr31H9ZhWSm45CDAxvd0I6WTlSOUo7K2P/K5sA5JgMKG64PI3DMcaFdWpQ==" + "resolved" "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.4.tgz" + "version" "4.2.4" + dependencies: + "strnum" "^1.0.5" + +"fastq@^1.6.0": + "integrity" "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==" + "resolved" "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz" + "version" "1.15.0" + dependencies: + "reusify" "^1.0.4" + +"faye-websocket@^0.11.3": + "integrity" "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==" + "resolved" "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz" + "version" "0.11.4" + dependencies: + "websocket-driver" ">=0.5.1" + +"fb-watchman@^2.0.0": + "integrity" "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==" + "resolved" "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz" + "version" "2.0.2" + dependencies: + "bser" "2.1.1" + +"fflate@0.7.3": + "integrity" "sha512-0Zz1jOzJWERhyhsimS54VTqOteCNwRtIlh8isdL0AXLo0g7xNTfTL7oWrkmCnPhZGocKIkWHBistBrrpoNH3aw==" + "resolved" "https://registry.npmjs.org/fflate/-/fflate-0.7.3.tgz" + "version" "0.7.3" + +"file-entry-cache@^6.0.1": + "integrity" "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==" + "resolved" "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" + "version" "6.0.1" + dependencies: + "flat-cache" "^3.0.4" + +"file-loader@^6.2.0": + "integrity" "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==" + "resolved" "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz" + "version" "6.2.0" + dependencies: + "loader-utils" "^2.0.0" + "schema-utils" "^3.0.0" + +"file-selector@^0.4.0": + "version" "0.4.0" + dependencies: + "tslib" "^2.0.3" + +"filelist@^1.0.1": + "version" "1.0.4" + dependencies: + "minimatch" "^5.0.1" + +"filesize@^8.0.6": + "integrity" "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==" + "resolved" "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz" + "version" "8.0.7" + +"fill-range@^4.0.0": + "integrity" "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==" + "resolved" "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "extend-shallow" "^2.0.1" + "is-number" "^3.0.0" + "repeat-string" "^1.6.1" + "to-regex-range" "^2.1.0" + +"fill-range@^7.0.1": + "integrity" "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==" + "resolved" "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" + "version" "7.0.1" + dependencies: + "to-regex-range" "^5.0.1" + +"finalhandler@1.1.2": + "integrity" "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==" + "resolved" "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz" + "version" "1.1.2" + dependencies: + "debug" "2.6.9" + "encodeurl" "~1.0.2" + "escape-html" "~1.0.3" + "on-finished" "~2.3.0" + "parseurl" "~1.3.3" + "statuses" "~1.5.0" + "unpipe" "~1.0.0" + +"finalhandler@1.2.0": + "integrity" "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==" + "resolved" "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz" + "version" "1.2.0" + dependencies: + "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" + +"find-cache-dir@^2.0.0": + "integrity" "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==" + "resolved" "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "commondir" "^1.0.1" + "make-dir" "^2.0.0" + "pkg-dir" "^3.0.0" + +"find-cache-dir@^3.3.1": + "integrity" "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==" + "resolved" "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz" + "version" "3.3.2" + dependencies: + "commondir" "^1.0.1" + "make-dir" "^3.0.2" + "pkg-dir" "^4.1.0" + +"find-root@^1.1.0": + "integrity" "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" + "resolved" "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz" + "version" "1.1.0" + +"find-up@^3.0.0": + "integrity" "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==" + "resolved" "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "locate-path" "^3.0.0" + +"find-up@^4.0.0": + "integrity" "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==" + "resolved" "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" + "version" "4.1.0" + dependencies: + "locate-path" "^5.0.0" + "path-exists" "^4.0.0" + +"find-up@^4.1.0": + "integrity" "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==" + "resolved" "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" + "version" "4.1.0" + dependencies: + "locate-path" "^5.0.0" + "path-exists" "^4.0.0" + +"find-up@^5.0.0": + "integrity" "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==" + "resolved" "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" + "version" "5.0.0" + dependencies: + "locate-path" "^6.0.0" + "path-exists" "^4.0.0" + +"flat-cache@^3.0.4": + "integrity" "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==" + "resolved" "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz" + "version" "3.0.4" + dependencies: + "flatted" "^3.1.0" + "rimraf" "^3.0.2" + +"flatted@^3.1.0": + "integrity" "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==" + "resolved" "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz" + "version" "3.2.7" + +"flow-parser@^0.185.0", "flow-parser@0.*": + "integrity" "sha512-2hJ5ACYeJCzNtiVULov6pljKOLygy0zddoqSI1fFetM+XRPpRshFdGEijtqlamA1XwyZ+7rhryI6FQFzvtLWUQ==" + "resolved" "https://registry.npmjs.org/flow-parser/-/flow-parser-0.185.2.tgz" + "version" "0.185.2" + +"follow-redirects@^1.0.0": + "integrity" "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" + "resolved" "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz" + "version" "1.15.2" + +"follow-redirects@^1.14.8": + "version" "1.14.9" + +"for-each@^0.3.3": + "integrity" "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==" + "resolved" "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz" + "version" "0.3.3" + dependencies: + "is-callable" "^1.1.3" + +"for-in@^1.0.2": + "integrity" "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==" + "resolved" "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz" + "version" "1.0.2" + +"fork-ts-checker-webpack-plugin@^6.5.0": + "version" "6.5.2" dependencies: - locate-path "^3.0.0" + "@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" + +"form-data@^3.0.0": + "integrity" "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==" + "resolved" "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz" + "version" "3.0.1" + dependencies: + "asynckit" "^0.4.0" + "combined-stream" "^1.0.8" + "mime-types" "^2.1.12" + +"formik@^2.2.9": + "version" "2.2.9" + dependencies: + "deepmerge" "^2.1.1" + "hoist-non-react-statics" "^3.3.0" + "lodash" "^4.17.21" + "lodash-es" "^4.17.21" + "react-fast-compare" "^2.0.1" + "tiny-warning" "^1.0.2" + "tslib" "^1.10.0" + +"forwarded@0.2.0": + "integrity" "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" + "resolved" "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz" + "version" "0.2.0" + +"fraction.js@^4.2.0": + "integrity" "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==" + "resolved" "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz" + "version" "4.2.0" + +"fragment-cache@^0.2.1": + "integrity" "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==" + "resolved" "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz" + "version" "0.2.1" + dependencies: + "map-cache" "^0.2.2" + +"fresh@0.5.2": + "integrity" "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" + "resolved" "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz" + "version" "0.5.2" + +"fs-extra@^10.0.0": + "integrity" "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==" + "resolved" "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz" + "version" "10.1.0" + dependencies: + "graceful-fs" "^4.2.0" + "jsonfile" "^6.0.1" + "universalify" "^2.0.0" + +"fs-extra@^8.1.0": + "integrity" "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==" + "resolved" "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz" + "version" "8.1.0" + dependencies: + "graceful-fs" "^4.2.0" + "jsonfile" "^4.0.0" + "universalify" "^0.1.0" + +"fs-extra@^9.0.0", "fs-extra@^9.0.1": + "integrity" "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==" + "resolved" "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz" + "version" "9.1.0" + dependencies: + "at-least-node" "^1.0.0" + "graceful-fs" "^4.2.0" + "jsonfile" "^6.0.1" + "universalify" "^2.0.0" + +"fs-monkey@^1.0.3": + "version" "1.0.3" + +"fs.realpath@^1.0.0": + "integrity" "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + "resolved" "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" + "version" "1.0.0" + +"fsevents@^2.3.2", "fsevents@~2.3.2": + "integrity" "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==" + "resolved" "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz" + "version" "2.3.2" + +"function-bind@^1.1.1": + "integrity" "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "resolved" "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" + "version" "1.1.1" + +"function.prototype.name@^1.1.5": + "integrity" "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==" + "resolved" "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz" + "version" "1.1.5" + dependencies: + "call-bind" "^1.0.2" + "define-properties" "^1.1.3" + "es-abstract" "^1.19.0" + "functions-have-names" "^1.2.2" + +"functions-have-names@^1.2.2": + "integrity" "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==" + "resolved" "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz" + "version" "1.2.3" + +"gensync@^1.0.0-beta.2": + "integrity" "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" + "resolved" "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" + "version" "1.0.0-beta.2" + +"get-caller-file@^2.0.1", "get-caller-file@^2.0.5": + "integrity" "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + "resolved" "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" + "version" "2.0.5" + +"get-intrinsic@^1.0.2", "get-intrinsic@^1.1.1", "get-intrinsic@^1.1.3": + "version" "1.1.3" + dependencies: + "function-bind" "^1.1.1" + "has" "^1.0.3" + "has-symbols" "^1.0.3" + +"get-own-enumerable-property-symbols@^3.0.0": + "integrity" "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" + "resolved" "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz" + "version" "3.0.2" + +"get-package-type@^0.1.0": + "integrity" "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==" + "resolved" "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz" + "version" "0.1.0" + +"get-stream@^4.0.0": + "integrity" "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==" + "resolved" "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz" + "version" "4.1.0" + dependencies: + "pump" "^3.0.0" + +"get-stream@^6.0.0": + "integrity" "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" + "resolved" "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" + "version" "6.0.1" + +"get-symbol-description@^1.0.0": + "integrity" "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==" + "resolved" "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "call-bind" "^1.0.2" + "get-intrinsic" "^1.1.1" + +"get-value@^2.0.3", "get-value@^2.0.6": + "integrity" "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==" + "resolved" "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz" + "version" "2.0.6" + +"glob-parent@^5.1.2", "glob-parent@~5.1.2": + "integrity" "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==" + "resolved" "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" + "version" "5.1.2" + dependencies: + "is-glob" "^4.0.1" + +"glob-parent@^6.0.2": + "integrity" "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==" + "resolved" "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" + "version" "6.0.2" + dependencies: + "is-glob" "^4.0.3" + +"glob-to-regexp@^0.4.1": + "integrity" "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" + "resolved" "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz" + "version" "0.4.1" + +"glob@^7.1.1", "glob@^7.1.2", "glob@^7.1.3", "glob@^7.1.4", "glob@^7.1.6": + "integrity" "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==" + "resolved" "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" + "version" "7.2.3" + dependencies: + "fs.realpath" "^1.0.0" + "inflight" "^1.0.4" + "inherits" "2" + "minimatch" "^3.1.1" + "once" "^1.3.0" + "path-is-absolute" "^1.0.0" + +"global-modules@^2.0.0": + "integrity" "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==" + "resolved" "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "global-prefix" "^3.0.0" + +"global-prefix@^3.0.0": + "integrity" "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==" + "resolved" "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "ini" "^1.3.5" + "kind-of" "^6.0.2" + "which" "^1.3.1" + +"globals@^11.1.0": + "integrity" "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" + "resolved" "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" + "version" "11.12.0" + +"globals@^13.19.0": + "version" "13.19.0" + dependencies: + "type-fest" "^0.20.2" + +"globalthis@^1.0.3": + "integrity" "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==" + "resolved" "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz" + "version" "1.0.3" + dependencies: + "define-properties" "^1.1.3" + +"globby@^11.0.4", "globby@^11.1.0": + "integrity" "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==" + "resolved" "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" + "version" "11.1.0" + dependencies: + "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" + +"gopd@^1.0.1": + "integrity" "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==" + "resolved" "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "get-intrinsic" "^1.1.3" + +"graceful-fs@^4.1.11", "graceful-fs@^4.1.2", "graceful-fs@^4.1.3", "graceful-fs@^4.1.6", "graceful-fs@^4.2.0", "graceful-fs@^4.2.4", "graceful-fs@^4.2.6", "graceful-fs@^4.2.9": + "version" "4.2.10" + +"grapheme-splitter@^1.0.4": + "integrity" "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==" + "resolved" "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz" + "version" "1.0.4" + +"graphql-tag@^2.12.3", "graphql-tag@^2.12.6", "graphql-tag@^2.4.2": + "integrity" "sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==" + "resolved" "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.6.tgz" + "version" "2.12.6" + dependencies: + "tslib" "^2.1.0" + +"graphql@^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0", "graphql@^0.11.3 || ^0.12.3 || ^0.13.0 || ^14.0.0 || ^15.0.0", "graphql@^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0", "graphql@^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0", "graphql@^14.0.0 || ^15.0.0 || ^16.0.0", "graphql@15.8.0": + "integrity" "sha512-5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw==" + "resolved" "https://registry.npmjs.org/graphql/-/graphql-15.8.0.tgz" + "version" "15.8.0" + +"gzip-size@^6.0.0": + "integrity" "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==" + "resolved" "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz" + "version" "6.0.0" + dependencies: + "duplexer" "^0.1.2" + +"handle-thing@^2.0.0": + "integrity" "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" + "resolved" "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz" + "version" "2.0.1" + +"harmony-reflect@^1.4.6": + "integrity" "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==" + "resolved" "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz" + "version" "1.6.2" + +"has-bigints@^1.0.1", "has-bigints@^1.0.2": + "integrity" "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==" + "resolved" "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz" + "version" "1.0.2" + +"has-flag@^3.0.0": + "integrity" "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + "resolved" "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" + "version" "3.0.0" + +"has-flag@^4.0.0": + "integrity" "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + "resolved" "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" + "version" "4.0.0" + +"has-property-descriptors@^1.0.0": + "integrity" "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==" + "resolved" "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "get-intrinsic" "^1.1.1" + +"has-proto@^1.0.1": + "integrity" "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" + "resolved" "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz" + "version" "1.0.1" + +"has-symbols@^1.0.1", "has-symbols@^1.0.2", "has-symbols@^1.0.3": + "integrity" "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + "resolved" "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" + "version" "1.0.3" -find-up@^4.0.0, find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== +"has-tostringtag@^1.0.0": + "integrity" "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==" + "resolved" "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "has-symbols" "^1.0.2" + +"has-value@^0.3.1": + "integrity" "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==" + "resolved" "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz" + "version" "0.3.1" + dependencies: + "get-value" "^2.0.3" + "has-values" "^0.1.4" + "isobject" "^2.0.0" + +"has-value@^1.0.0": + "integrity" "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==" + "resolved" "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "get-value" "^2.0.6" + "has-values" "^1.0.0" + "isobject" "^3.0.0" + +"has-values@^0.1.4": + "integrity" "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==" + "resolved" "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz" + "version" "0.1.4" + +"has-values@^1.0.0": + "integrity" "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==" + "resolved" "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "is-number" "^3.0.0" + "kind-of" "^4.0.0" + +"has@^1.0.3": + "integrity" "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==" + "resolved" "https://registry.npmjs.org/has/-/has-1.0.3.tgz" + "version" "1.0.3" + dependencies: + "function-bind" "^1.1.1" + +"he@^1.2.0": + "integrity" "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" + "resolved" "https://registry.npmjs.org/he/-/he-1.2.0.tgz" + "version" "1.2.0" + +"hermes-estree@0.8.0": + "integrity" "sha512-W6JDAOLZ5pMPMjEiQGLCXSSV7pIBEgRR5zGkxgmzGSXHOxqV5dC/M1Zevqpbm9TZDE5tu358qZf8Vkzmsc+u7Q==" + "resolved" "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.8.0.tgz" + "version" "0.8.0" + +"hermes-parser@0.8.0": + "integrity" "sha512-yZKalg1fTYG5eOiToLUaw69rQfZq/fi+/NtEXRU7N87K/XobNRhRWorh80oSge2lWUiZfTgUvRJH+XgZWrhoqA==" + "resolved" "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.8.0.tgz" + "version" "0.8.0" + dependencies: + "hermes-estree" "0.8.0" + +"hermes-profile-transformer@^0.0.6": + "integrity" "sha512-cnN7bQUm65UWOy6cbGcCcZ3rpwW8Q/j4OP5aWRhEry4Z2t2aR1cjrbp0BS+KiBN0smvP1caBgAuxutvyvJILzQ==" + "resolved" "https://registry.npmjs.org/hermes-profile-transformer/-/hermes-profile-transformer-0.0.6.tgz" + "version" "0.0.6" + dependencies: + "source-map" "^0.7.3" + +"history@^5.0.3": + "integrity" "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==" + "resolved" "https://registry.npmjs.org/history/-/history-5.3.0.tgz" + "version" "5.3.0" dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" + "@babel/runtime" "^7.7.6" -find-up@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== +"hoist-non-react-statics@^3.2.1", "hoist-non-react-statics@^3.3.0", "hoist-non-react-statics@^3.3.1", "hoist-non-react-statics@^3.3.2": + "integrity" "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==" + "resolved" "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz" + "version" "3.3.2" dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" + "react-is" "^16.7.0" + +"hoopy@^0.1.4": + "integrity" "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==" + "resolved" "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz" + "version" "0.1.4" -flat-cache@^3.0.4: - version "3.0.4" - resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz" - integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== +"hotkeys-js@^3.8.7": + "version" "3.8.7" + +"hpack.js@^2.1.6": + "integrity" "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==" + "resolved" "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz" + "version" "2.1.6" dependencies: - flatted "^3.1.0" - rimraf "^3.0.2" - -flatted@^3.1.0: - version "3.2.7" - resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz" - integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== + "inherits" "^2.0.1" + "obuf" "^1.0.0" + "readable-stream" "^2.0.1" + "wbuf" "^1.1.0" -follow-redirects@^1.0.0: - version "1.15.2" - resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz" - integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== - -follow-redirects@^1.14.0, follow-redirects@^1.14.8: - version "1.14.9" - resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz" - integrity sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w== - -for-each@^0.3.3: - version "0.3.3" - resolved "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz" - integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== - dependencies: - is-callable "^1.1.3" - -fork-ts-checker-webpack-plugin@^6.5.0: - version "6.5.2" - resolved "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.2.tgz" - integrity sha512-m5cUmF30xkZ7h4tWUgTAcEaKmUW7tfyUyTqNNOz7OxWJ0v1VWKTcOvH8FWHUwSjlW/356Ijc9vi3XfcPstpQKA== +"html-encoding-sniffer@^2.0.1": + "integrity" "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==" + "resolved" "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz" + "version" "2.0.1" dependencies: - "@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" - -form-data@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz" - integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - -formik@^2.2.9: - version "2.2.9" - resolved "https://registry.npmjs.org/formik/-/formik-2.2.9.tgz" - integrity sha512-LQLcISMmf1r5at4/gyJigGn0gOwFbeEAlji+N9InZF6LIMXnFNkO42sCI8Jt84YZggpD4cPWObAZaxpEFtSzNA== - dependencies: - deepmerge "^2.1.1" - hoist-non-react-statics "^3.3.0" - lodash "^4.17.21" - lodash-es "^4.17.21" - react-fast-compare "^2.0.1" - tiny-warning "^1.0.2" - tslib "^1.10.0" - -forwarded@0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz" - integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== - -fraction.js@^4.2.0: - version "4.2.0" - resolved "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz" - integrity sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA== - -fresh@0.5.2: - version "0.5.2" - resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz" - integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== - -fs-extra@^10.0.0: - 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== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-extra@^9.0.0, fs-extra@^9.0.1: - version "9.1.0" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz" - integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-monkey@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz" - integrity sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q== - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" - integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== - -fsevents@^2.3.2, fsevents@~2.3.2: - version "2.3.2" - resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz" - integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -function.prototype.name@^1.1.5: - 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== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.0" - functions-have-names "^1.2.2" - -functions-have-names@^1.2.2: - version "1.2.3" - resolved "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz" - integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== - -gensync@^1.0.0-beta.2: - 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@^2.0.5: - 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@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz" - integrity sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A== - dependencies: - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.3" - -get-own-enumerable-property-symbols@^3.0.0: - 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@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz" - integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== - -get-stream@^6.0.0: - 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@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz" - integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" - -glob-parent@^5.1.2, glob-parent@~5.1.2: - version "5.1.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob-parent@^6.0.2: - version "6.0.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" - integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== - dependencies: - is-glob "^4.0.3" - -glob-to-regexp@^0.4.1: - 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== - -glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: - version "7.2.3" - resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" - integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.1.1" - once "^1.3.0" - path-is-absolute "^1.0.0" - -global-modules@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz" - integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== - dependencies: - global-prefix "^3.0.0" - -global-prefix@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz" - integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg== - dependencies: - ini "^1.3.5" - kind-of "^6.0.2" - which "^1.3.1" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -globals@^13.19.0: - version "13.19.0" - resolved "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz" - integrity sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ== - dependencies: - type-fest "^0.20.2" - -globalthis@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz" - integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== - dependencies: - define-properties "^1.1.3" - -globby@^11.0.4, globby@^11.1.0: - version "11.1.0" - resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" - integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== - dependencies: - 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" - -gopd@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz" - integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== - dependencies: - get-intrinsic "^1.1.3" - -graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: - version "4.2.10" - resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz" - integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== - -grapheme-splitter@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz" - integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== - -graphql-tag@^2.12.3, graphql-tag@^2.12.6, graphql-tag@^2.4.2: - version "2.12.6" - resolved "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.6.tgz" - integrity sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg== - dependencies: - tslib "^2.1.0" - -graphql@15.8.0: - version "15.8.0" - resolved "https://registry.npmjs.org/graphql/-/graphql-15.8.0.tgz" - integrity sha512-5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw== - -gzip-size@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz" - integrity sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q== - dependencies: - duplexer "^0.1.2" - -handle-thing@^2.0.0: - 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@^1.4.6: - version "1.6.2" - resolved "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz" - integrity sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g== - -has-bigints@^1.0.1, has-bigints@^1.0.2: - 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@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" - integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-property-descriptors@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz" - integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== - dependencies: - get-intrinsic "^1.1.1" - -has-proto@^1.0.1: - 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@^1.0.1, has-symbols@^1.0.2, has-symbols@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== - -has-tostringtag@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz" - integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== - dependencies: - has-symbols "^1.0.2" - -has@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -he@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/he/-/he-1.2.0.tgz" - integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== - -history@^5.0.3: - version "5.3.0" - resolved "https://registry.npmjs.org/history/-/history-5.3.0.tgz" - integrity sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ== + "whatwg-encoding" "^1.0.5" + +"html-entities@^2.1.0", "html-entities@^2.3.2": + "version" "2.3.3" + +"html-escaper@^2.0.0": + "integrity" "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" + "resolved" "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz" + "version" "2.0.2" + +"html-minifier-terser@^6.0.2": + "integrity" "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==" + "resolved" "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz" + "version" "6.1.0" dependencies: - "@babel/runtime" "^7.7.6" + "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" -hoist-non-react-statics@^3.2.1, hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.1, hoist-non-react-statics@^3.3.2: - 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== - dependencies: - react-is "^16.7.0" - -hoopy@^0.1.4: - version "0.1.4" - resolved "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz" - integrity sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ== - -hotkeys-js@^3.8.7: - version "3.8.7" - resolved "https://registry.npmjs.org/hotkeys-js/-/hotkeys-js-3.8.7.tgz" - integrity sha512-ckAx3EkUr5XjDwjEHDorHxRO2Kb7z6Z2Sxul4MbBkN8Nho7XDslQsgMJT+CiJ5Z4TgRxxvKHEpuLE3imzqy4Lg== - -hpack.js@^2.1.6: - version "2.1.6" - resolved "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz" - integrity sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ== - dependencies: - inherits "^2.0.1" - obuf "^1.0.0" - readable-stream "^2.0.1" - wbuf "^1.1.0" - -html-encoding-sniffer@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz" - integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== - dependencies: - whatwg-encoding "^1.0.5" - -html-entities@^2.1.0, html-entities@^2.3.2: - version "2.3.3" - resolved "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz" - integrity sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA== - -html-escaper@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz" - integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== - -html-minifier-terser@^6.0.2: - version "6.1.0" - resolved "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz" - integrity sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw== - dependencies: - 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" - -html-webpack-plugin@^5.5.0: - version "5.5.0" - resolved "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.0.tgz" - integrity sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw== +"html-webpack-plugin@^5.5.0": + "version" "5.5.0" dependencies: "@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@^6.1.0: - version "6.1.0" - resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz" - integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A== - dependencies: - domelementtype "^2.0.1" - domhandler "^4.0.0" - domutils "^2.5.2" - entities "^2.0.0" - -http-deceiver@^1.2.7: - version "1.2.7" - resolved "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz" - integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw== - -http-errors@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz" - integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== - dependencies: - depd "2.0.0" - inherits "2.0.4" - setprototypeof "1.2.0" - statuses "2.0.1" - toidentifier "1.0.1" - -http-errors@~1.6.2: - version "1.6.3" - resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz" - integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A== - dependencies: - depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.0" - statuses ">= 1.4.0 < 2" - -http-parser-js@>=0.5.1: - 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-agent@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz" - integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== + "html-minifier-terser" "^6.0.2" + "lodash" "^4.17.21" + "pretty-error" "^4.0.0" + "tapable" "^2.0.0" + +"htmlparser2@^6.1.0": + "integrity" "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==" + "resolved" "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz" + "version" "6.1.0" + dependencies: + "domelementtype" "^2.0.1" + "domhandler" "^4.0.0" + "domutils" "^2.5.2" + "entities" "^2.0.0" + +"http-deceiver@^1.2.7": + "integrity" "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==" + "resolved" "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz" + "version" "1.2.7" + +"http-errors@~1.6.2": + "integrity" "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==" + "resolved" "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz" + "version" "1.6.3" + dependencies: + "depd" "~1.1.2" + "inherits" "2.0.3" + "setprototypeof" "1.1.0" + "statuses" ">= 1.4.0 < 2" + +"http-errors@2.0.0": + "integrity" "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==" + "resolved" "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "depd" "2.0.0" + "inherits" "2.0.4" + "setprototypeof" "1.2.0" + "statuses" "2.0.1" + "toidentifier" "1.0.1" + +"http-parser-js@>=0.5.1": + "integrity" "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" + "resolved" "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz" + "version" "0.5.8" + +"http-proxy-agent@^4.0.1": + "integrity" "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==" + "resolved" "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz" + "version" "4.0.1" dependencies: "@tootallnate/once" "1" - agent-base "6" - debug "4" + "agent-base" "6" + "debug" "4" -http-proxy-middleware@^2.0.3: - version "2.0.6" - resolved "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz" - integrity sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw== +"http-proxy-middleware@^2.0.3": + "integrity" "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==" + "resolved" "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz" + "version" "2.0.6" dependencies: "@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" - -http-proxy@^1.18.1: - version "1.18.1" - resolved "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz" - integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== - dependencies: - eventemitter3 "^4.0.0" - follow-redirects "^1.0.0" - requires-port "^1.0.0" - -https-proxy-agent@^5.0.0: - version "5.0.1" - resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz" - integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== - dependencies: - agent-base "6" - debug "4" - -human-signals@^2.1.0: - 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@^1.0.3: - 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@0.4.24: - version "0.4.24" - resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -iconv-lite@^0.6.3: - version "0.6.3" - resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz" - integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== - dependencies: - safer-buffer ">= 2.1.2 < 3.0.0" - -icss-utils@^5.0.0, icss-utils@^5.1.0: - version "5.1.0" - resolved "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz" - integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== - -idb@5.0.6: - version "5.0.6" - resolved "https://registry.npmjs.org/idb/-/idb-5.0.6.tgz" - integrity sha512-/PFvOWPzRcEPmlDt5jEvzVZVs0wyd/EvGvkDIcbBpGuMMLQKrTPG0TxvE2UJtgZtCQCmOtM2QD7yQJBVEjKGOw== - -idb@^7.0.1: - version "7.1.1" - resolved "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz" - integrity sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ== - -identity-obj-proxy@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz" - integrity sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA== - dependencies: - harmony-reflect "^1.4.6" - -ieee754@^1.1.4: - version "1.2.1" - resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" - integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== - -ignore@^5.2.0: - version "5.2.4" - resolved "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz" - integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== - -immer@9.0.6: - version "9.0.6" - resolved "https://registry.npmjs.org/immer/-/immer-9.0.6.tgz" - integrity sha512-G95ivKpy+EvVAnAab4fVa4YGYn24J1SpEktnJX7JJ45Bd7xqME/SCplFzYFmTbrkwZbQ4xJK1xMTUYBkN6pWsQ== - -immer@^9.0.7: - version "9.0.17" - resolved "https://registry.npmjs.org/immer/-/immer-9.0.17.tgz" - integrity sha512-+hBruaLSQvkPfxRiTLK/mi4vLH+/VQS6z2KJahdoxlleFOI8ARqzOF17uy12eFDlqWmPoygwc5evgwcp+dlHhg== - -import-fresh@^3.0.0, import-fresh@^3.1.0, import-fresh@^3.2.1: - version "3.3.0" - resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -import-local@^3.0.2: - version "3.1.0" - resolved "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz" - integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== - dependencies: - pkg-dir "^4.2.0" - resolve-cwd "^3.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" - integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== - -indent-string@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz" - integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" - integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: - version "2.0.4" - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -inherits@2.0.3: - version "2.0.3" - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" - integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== - -ini@^1.3.5: - version "1.3.8" - resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" - integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== - -internal-slot@^1.0.3, internal-slot@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.4.tgz" - integrity sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ== - dependencies: - get-intrinsic "^1.1.3" - has "^1.0.3" - side-channel "^1.0.4" - -invariant@^2.2.4: - version "2.2.4" - resolved "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz" - integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== - dependencies: - loose-envify "^1.0.0" - -ipaddr.js@1.9.1: - 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== - -ipaddr.js@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz" - integrity sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng== - -is-array-buffer@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.1.tgz" - integrity sha512-ASfLknmY8Xa2XtB4wmbz13Wu202baeA18cJBCeCy0wXUHZF0IPyVEXqKEcd+t2fNSLLL1vC6k7lxZEojNbISXQ== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.3" - is-typed-array "^1.1.10" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" - integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== - -is-bigint@^1.0.1: - version "1.0.4" - resolved "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz" - integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== - dependencies: - has-bigints "^1.0.1" - -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - -is-boolean-object@^1.1.0: - version "1.1.2" - resolved "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz" - integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: - version "1.2.7" - resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz" - integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== - -is-core-module@^2.8.1, is-core-module@^2.9.0: - version "2.11.0" - resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz" - integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== - dependencies: - has "^1.0.3" - -is-date-object@^1.0.1: - version "1.0.5" - resolved "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz" - integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== - dependencies: - has-tostringtag "^1.0.0" - -is-docker@^2.0.0, is-docker@^2.1.1: - version "2.2.1" - resolved "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz" - integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" - integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== - -is-fullwidth-code-point@^3.0.0: - 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@^2.0.0: - 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@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: - version "4.0.3" - resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-in-browser@^1.0.2, is-in-browser@^1.1.3: - 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@^1.0.0: - 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@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz" - integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== - -is-number-object@^1.0.4: - version "1.0.7" - resolved "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz" - integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== - dependencies: - has-tostringtag "^1.0.0" - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-obj@^1.0.1: - 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@^3.0.3: - 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@^3.0.0: - 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@^1.0.1: - 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@^1.1.4: - version "1.1.4" - resolved "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz" - integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz" - integrity sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA== - -is-root@^2.1.0: - 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@^1.0.2: - 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== - dependencies: - call-bind "^1.0.2" - -is-stream@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" - integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== - -is-string@^1.0.5, is-string@^1.0.7: - version "1.0.7" - resolved "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz" - integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== - dependencies: - has-tostringtag "^1.0.0" - -is-symbol@^1.0.2, is-symbol@^1.0.3: - version "1.0.4" - resolved "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz" - integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== - dependencies: - has-symbols "^1.0.2" - -is-typed-array@^1.1.10, is-typed-array@^1.1.9: - version "1.1.10" - resolved "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz" - integrity sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A== - dependencies: - 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" - -is-typedarray@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" - integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== - -is-weakref@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz" - integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== - dependencies: - call-bind "^1.0.2" - -is-wsl@^2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz" - integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== - dependencies: - is-docker "^2.0.0" - -isarray@^1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== - -isomorphic-unfetch@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/isomorphic-unfetch/-/isomorphic-unfetch-3.1.0.tgz" - integrity sha512-geDJjpoZ8N0kWexiwkX8F9NkTsXhetLPVbZFQ+JTW239QNOwvB0gniuR1Wc6f0AMTn7/mFGyXvHTifrCp/GH8Q== - dependencies: - node-fetch "^2.6.1" - unfetch "^4.2.0" - -istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: - 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@^5.0.4, istanbul-lib-instrument@^5.1.0: - version "5.2.1" - resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz" - integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== + "http-proxy" "^1.18.1" + "is-glob" "^4.0.1" + "is-plain-obj" "^3.0.0" + "micromatch" "^4.0.2" + +"http-proxy@^1.18.1": + "integrity" "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==" + "resolved" "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz" + "version" "1.18.1" + dependencies: + "eventemitter3" "^4.0.0" + "follow-redirects" "^1.0.0" + "requires-port" "^1.0.0" + +"https-proxy-agent@^5.0.0": + "integrity" "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==" + "resolved" "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz" + "version" "5.0.1" + dependencies: + "agent-base" "6" + "debug" "4" + +"human-signals@^2.1.0": + "integrity" "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" + "resolved" "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" + "version" "2.1.0" + +"hyphenate-style-name@^1.0.3": + "integrity" "sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==" + "resolved" "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz" + "version" "1.0.4" + +"iconv-lite@^0.6.3": + "integrity" "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==" + "resolved" "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz" + "version" "0.6.3" + dependencies: + "safer-buffer" ">= 2.1.2 < 3.0.0" + +"iconv-lite@0.4.24": + "integrity" "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==" + "resolved" "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" + "version" "0.4.24" + dependencies: + "safer-buffer" ">= 2.1.2 < 3" + +"icss-utils@^5.0.0", "icss-utils@^5.1.0": + "integrity" "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==" + "resolved" "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz" + "version" "5.1.0" + +"idb@^7.0.1": + "integrity" "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==" + "resolved" "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz" + "version" "7.1.1" + +"idb@5.0.6": + "integrity" "sha512-/PFvOWPzRcEPmlDt5jEvzVZVs0wyd/EvGvkDIcbBpGuMMLQKrTPG0TxvE2UJtgZtCQCmOtM2QD7yQJBVEjKGOw==" + "resolved" "https://registry.npmjs.org/idb/-/idb-5.0.6.tgz" + "version" "5.0.6" + +"identity-obj-proxy@^3.0.0": + "integrity" "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==" + "resolved" "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "harmony-reflect" "^1.4.6" + +"ieee754@^1.1.13", "ieee754@^1.1.4": + "integrity" "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + "resolved" "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" + "version" "1.2.1" + +"ignore@^5.2.0": + "integrity" "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==" + "resolved" "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz" + "version" "5.2.4" + +"image-size@^0.6.0": + "integrity" "sha512-47xSUiQioGaB96nqtp5/q55m0aBQSQdyIloMOc/x+QVTDZLNmXE892IIDrJ0hM1A5vcNUDD5tDffkSP5lCaIIA==" + "resolved" "https://registry.npmjs.org/image-size/-/image-size-0.6.3.tgz" + "version" "0.6.3" + +"immer@^9.0.7": + "version" "9.0.17" + +"immer@9.0.6": + "integrity" "sha512-G95ivKpy+EvVAnAab4fVa4YGYn24J1SpEktnJX7JJ45Bd7xqME/SCplFzYFmTbrkwZbQ4xJK1xMTUYBkN6pWsQ==" + "resolved" "https://registry.npmjs.org/immer/-/immer-9.0.6.tgz" + "version" "9.0.6" + +"import-fresh@^2.0.0": + "integrity" "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==" + "resolved" "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "caller-path" "^2.0.0" + "resolve-from" "^3.0.0" + +"import-fresh@^3.0.0", "import-fresh@^3.1.0", "import-fresh@^3.2.1": + "integrity" "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==" + "resolved" "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" + "version" "3.3.0" + dependencies: + "parent-module" "^1.0.0" + "resolve-from" "^4.0.0" + +"import-local@^3.0.2": + "integrity" "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==" + "resolved" "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "pkg-dir" "^4.2.0" + "resolve-cwd" "^3.0.0" + +"imurmurhash@^0.1.4": + "integrity" "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==" + "resolved" "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" + "version" "0.1.4" + +"indent-string@^4.0.0": + "integrity" "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" + "resolved" "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz" + "version" "4.0.0" + +"inflight@^1.0.4": + "integrity" "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==" + "resolved" "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" + "version" "1.0.6" + dependencies: + "once" "^1.3.0" + "wrappy" "1" + +"inherits@^2.0.1", "inherits@^2.0.3", "inherits@^2.0.4", "inherits@~2.0.3", "inherits@2", "inherits@2.0.4": + "integrity" "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" + "version" "2.0.4" + +"inherits@2.0.3": + "integrity" "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" + "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" + "version" "2.0.3" + +"ini@^1.3.5": + "integrity" "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + "resolved" "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" + "version" "1.3.8" + +"internal-slot@^1.0.3", "internal-slot@^1.0.4": + "version" "1.0.4" + dependencies: + "get-intrinsic" "^1.1.3" + "has" "^1.0.3" + "side-channel" "^1.0.4" + +"invariant@*", "invariant@^2.2.4": + "integrity" "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==" + "resolved" "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz" + "version" "2.2.4" + dependencies: + "loose-envify" "^1.0.0" + +"ip@^1.1.5": + "integrity" "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==" + "resolved" "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz" + "version" "1.1.8" + +"ipaddr.js@^2.0.1": + "version" "2.0.1" + +"ipaddr.js@1.9.1": + "integrity" "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" + "resolved" "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz" + "version" "1.9.1" + +"is-accessor-descriptor@^0.1.6": + "integrity" "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==" + "resolved" "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz" + "version" "0.1.6" + dependencies: + "kind-of" "^3.0.2" + +"is-accessor-descriptor@^1.0.0": + "integrity" "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==" + "resolved" "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "kind-of" "^6.0.0" + +"is-array-buffer@^3.0.0": + "version" "3.0.1" + dependencies: + "call-bind" "^1.0.2" + "get-intrinsic" "^1.1.3" + "is-typed-array" "^1.1.10" + +"is-arrayish@^0.2.1": + "integrity" "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + "resolved" "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" + "version" "0.2.1" + +"is-bigint@^1.0.1": + "integrity" "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==" + "resolved" "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz" + "version" "1.0.4" + dependencies: + "has-bigints" "^1.0.1" + +"is-binary-path@~2.1.0": + "integrity" "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==" + "resolved" "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "binary-extensions" "^2.0.0" + +"is-boolean-object@^1.1.0": + "integrity" "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==" + "resolved" "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz" + "version" "1.1.2" + dependencies: + "call-bind" "^1.0.2" + "has-tostringtag" "^1.0.0" + +"is-buffer@^1.1.5": + "integrity" "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + "resolved" "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz" + "version" "1.1.6" + +"is-callable@^1.1.3", "is-callable@^1.1.4", "is-callable@^1.2.7": + "integrity" "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" + "resolved" "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz" + "version" "1.2.7" + +"is-core-module@^2.8.1", "is-core-module@^2.9.0": + "version" "2.11.0" + dependencies: + "has" "^1.0.3" + +"is-data-descriptor@^0.1.4": + "integrity" "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==" + "resolved" "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz" + "version" "0.1.4" + dependencies: + "kind-of" "^3.0.2" + +"is-data-descriptor@^1.0.0": + "integrity" "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==" + "resolved" "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "kind-of" "^6.0.0" + +"is-date-object@^1.0.1": + "integrity" "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==" + "resolved" "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz" + "version" "1.0.5" + dependencies: + "has-tostringtag" "^1.0.0" + +"is-descriptor@^0.1.0": + "integrity" "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==" + "resolved" "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz" + "version" "0.1.6" + dependencies: + "is-accessor-descriptor" "^0.1.6" + "is-data-descriptor" "^0.1.4" + "kind-of" "^5.0.0" + +"is-descriptor@^1.0.0", "is-descriptor@^1.0.2": + "integrity" "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==" + "resolved" "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "is-accessor-descriptor" "^1.0.0" + "is-data-descriptor" "^1.0.0" + "kind-of" "^6.0.2" + +"is-directory@^0.3.1": + "integrity" "sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==" + "resolved" "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz" + "version" "0.3.1" + +"is-docker@^2.0.0", "is-docker@^2.1.1": + "integrity" "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" + "resolved" "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz" + "version" "2.2.1" + +"is-extendable@^0.1.0", "is-extendable@^0.1.1": + "integrity" "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" + "resolved" "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz" + "version" "0.1.1" + +"is-extendable@^0.1.1": + "integrity" "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" + "resolved" "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz" + "version" "0.1.1" + +"is-extendable@^1.0.1": + "integrity" "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==" + "resolved" "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "is-plain-object" "^2.0.4" + +"is-extglob@^2.1.1": + "integrity" "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" + "resolved" "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" + "version" "2.1.1" + +"is-fullwidth-code-point@^2.0.0": + "integrity" "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==" + "resolved" "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz" + "version" "2.0.0" + +"is-fullwidth-code-point@^3.0.0": + "integrity" "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + "resolved" "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" + "version" "3.0.0" + +"is-generator-fn@^2.0.0": + "integrity" "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==" + "resolved" "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz" + "version" "2.1.0" + +"is-glob@^4.0.0", "is-glob@^4.0.1", "is-glob@^4.0.3", "is-glob@~4.0.1": + "integrity" "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==" + "resolved" "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" + "version" "4.0.3" + dependencies: + "is-extglob" "^2.1.1" + +"is-in-browser@^1.0.2", "is-in-browser@^1.1.3": + "integrity" "sha512-FeXIBgG/CPGd/WUxuEyvgGTEfwiG9Z4EKGxjNMRqviiIIfsmgrpnHLffEDdwUHqNva1VEW91o3xBT/m8Elgl9g==" + "resolved" "https://registry.npmjs.org/is-in-browser/-/is-in-browser-1.1.3.tgz" + "version" "1.1.3" + +"is-interactive@^1.0.0": + "integrity" "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==" + "resolved" "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz" + "version" "1.0.0" + +"is-module@^1.0.0": + "integrity" "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==" + "resolved" "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz" + "version" "1.0.0" + +"is-negative-zero@^2.0.2": + "integrity" "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==" + "resolved" "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz" + "version" "2.0.2" + +"is-number-object@^1.0.4": + "integrity" "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==" + "resolved" "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz" + "version" "1.0.7" + dependencies: + "has-tostringtag" "^1.0.0" + +"is-number@^3.0.0": + "integrity" "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==" + "resolved" "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "kind-of" "^3.0.2" + +"is-number@^7.0.0": + "integrity" "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + "resolved" "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" + "version" "7.0.0" + +"is-obj@^1.0.1": + "integrity" "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==" + "resolved" "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz" + "version" "1.0.1" + +"is-path-inside@^3.0.3": + "integrity" "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==" + "resolved" "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz" + "version" "3.0.3" + +"is-plain-obj@^3.0.0": + "integrity" "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==" + "resolved" "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz" + "version" "3.0.0" + +"is-plain-object@^2.0.3", "is-plain-object@^2.0.4": + "integrity" "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==" + "resolved" "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz" + "version" "2.0.4" + dependencies: + "isobject" "^3.0.1" + +"is-potential-custom-element-name@^1.0.1": + "integrity" "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" + "resolved" "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz" + "version" "1.0.1" + +"is-regex@^1.1.4": + "integrity" "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==" + "resolved" "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz" + "version" "1.1.4" + dependencies: + "call-bind" "^1.0.2" + "has-tostringtag" "^1.0.0" + +"is-regexp@^1.0.0": + "integrity" "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==" + "resolved" "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz" + "version" "1.0.0" + +"is-root@^2.1.0": + "integrity" "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==" + "resolved" "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz" + "version" "2.1.0" + +"is-shared-array-buffer@^1.0.2": + "integrity" "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==" + "resolved" "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "call-bind" "^1.0.2" + +"is-stream@^1.1.0": + "integrity" "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==" + "resolved" "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz" + "version" "1.1.0" + +"is-stream@^2.0.0": + "integrity" "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" + "resolved" "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" + "version" "2.0.1" + +"is-string@^1.0.5", "is-string@^1.0.7": + "integrity" "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==" + "resolved" "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz" + "version" "1.0.7" + dependencies: + "has-tostringtag" "^1.0.0" + +"is-symbol@^1.0.2", "is-symbol@^1.0.3": + "integrity" "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==" + "resolved" "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz" + "version" "1.0.4" + dependencies: + "has-symbols" "^1.0.2" + +"is-typed-array@^1.1.10", "is-typed-array@^1.1.9": + "integrity" "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==" + "resolved" "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz" + "version" "1.1.10" + dependencies: + "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" + +"is-typedarray@^1.0.0": + "integrity" "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + "resolved" "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" + "version" "1.0.0" + +"is-unicode-supported@^0.1.0": + "integrity" "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==" + "resolved" "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz" + "version" "0.1.0" + +"is-weakref@^1.0.2": + "integrity" "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==" + "resolved" "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "call-bind" "^1.0.2" + +"is-windows@^1.0.2": + "integrity" "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" + "resolved" "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz" + "version" "1.0.2" + +"is-wsl@^1.1.0": + "integrity" "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==" + "resolved" "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz" + "version" "1.1.0" + +"is-wsl@^2.2.0": + "integrity" "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==" + "resolved" "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz" + "version" "2.2.0" + dependencies: + "is-docker" "^2.0.0" + +"isarray@^1.0.0", "isarray@~1.0.0", "isarray@1.0.0": + "integrity" "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + "resolved" "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" + "version" "1.0.0" + +"isexe@^2.0.0": + "integrity" "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + "resolved" "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" + "version" "2.0.0" + +"isobject@^2.0.0": + "integrity" "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==" + "resolved" "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "isarray" "1.0.0" + +"isobject@^3.0.0", "isobject@^3.0.1": + "integrity" "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==" + "resolved" "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz" + "version" "3.0.1" + +"isomorphic-unfetch@^3.0.0": + "integrity" "sha512-geDJjpoZ8N0kWexiwkX8F9NkTsXhetLPVbZFQ+JTW239QNOwvB0gniuR1Wc6f0AMTn7/mFGyXvHTifrCp/GH8Q==" + "resolved" "https://registry.npmjs.org/isomorphic-unfetch/-/isomorphic-unfetch-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "node-fetch" "^2.6.1" + "unfetch" "^4.2.0" + +"istanbul-lib-coverage@^3.0.0", "istanbul-lib-coverage@^3.2.0": + "integrity" "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==" + "resolved" "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz" + "version" "3.2.0" + +"istanbul-lib-instrument@^5.0.4", "istanbul-lib-instrument@^5.1.0": + "integrity" "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==" + "resolved" "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz" + "version" "5.2.1" dependencies: "@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" - -istanbul-lib-report@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz" - integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== - dependencies: - istanbul-lib-coverage "^3.0.0" - make-dir "^3.0.0" - supports-color "^7.1.0" - -istanbul-lib-source-maps@^4.0.0: - 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== - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^3.0.0" - source-map "^0.6.1" - -istanbul-reports@^3.1.3: - version "3.1.5" - resolved "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz" - integrity sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w== - dependencies: - html-escaper "^2.0.0" - istanbul-lib-report "^3.0.0" - -jake@^10.8.5: - version "10.8.5" - resolved "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz" - integrity sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw== - dependencies: - async "^3.2.3" - chalk "^4.0.2" - filelist "^1.0.1" - minimatch "^3.0.4" - -jest-changed-files@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz" - integrity sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw== + "istanbul-lib-coverage" "^3.2.0" + "semver" "^6.3.0" + +"istanbul-lib-report@^3.0.0": + "integrity" "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==" + "resolved" "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "istanbul-lib-coverage" "^3.0.0" + "make-dir" "^3.0.0" + "supports-color" "^7.1.0" + +"istanbul-lib-source-maps@^4.0.0": + "integrity" "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==" + "resolved" "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz" + "version" "4.0.1" + dependencies: + "debug" "^4.1.1" + "istanbul-lib-coverage" "^3.0.0" + "source-map" "^0.6.1" + +"istanbul-reports@^3.1.3": + "integrity" "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==" + "resolved" "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz" + "version" "3.1.5" + dependencies: + "html-escaper" "^2.0.0" + "istanbul-lib-report" "^3.0.0" + +"jake@^10.8.5": + "version" "10.8.5" + dependencies: + "async" "^3.2.3" + "chalk" "^4.0.2" + "filelist" "^1.0.1" + "minimatch" "^3.0.4" + +"jest-changed-files@^27.5.1": + "integrity" "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==" + "resolved" "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz" + "version" "27.5.1" dependencies: "@jest/types" "^27.5.1" - execa "^5.0.0" - throat "^6.0.1" + "execa" "^5.0.0" + "throat" "^6.0.1" -jest-circus@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz" - integrity sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw== +"jest-circus@^27.5.1": + "integrity" "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==" + "resolved" "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz" + "version" "27.5.1" dependencies: "@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" - -jest-cli@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz" - integrity sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw== + "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" + +"jest-cli@^27.5.1": + "integrity" "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==" + "resolved" "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz" + "version" "27.5.1" dependencies: "@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" - -jest-config@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz" - integrity sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA== + "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" + +"jest-config@^27.5.1": + "integrity" "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==" + "resolved" "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz" + "version" "27.5.1" dependencies: "@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" - -jest-diff@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz" - integrity sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw== - dependencies: - chalk "^4.0.0" - diff-sequences "^27.5.1" - jest-get-type "^27.5.1" - pretty-format "^27.5.1" - -jest-docblock@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz" - integrity sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ== - dependencies: - detect-newline "^3.0.0" - -jest-each@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz" - integrity sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ== + "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" + +"jest-diff@^27.5.1": + "integrity" "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==" + "resolved" "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz" + "version" "27.5.1" + dependencies: + "chalk" "^4.0.0" + "diff-sequences" "^27.5.1" + "jest-get-type" "^27.5.1" + "pretty-format" "^27.5.1" + +"jest-docblock@^27.5.1": + "integrity" "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==" + "resolved" "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz" + "version" "27.5.1" + dependencies: + "detect-newline" "^3.0.0" + +"jest-each@^27.5.1": + "integrity" "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==" + "resolved" "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz" + "version" "27.5.1" dependencies: "@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" + "chalk" "^4.0.0" + "jest-get-type" "^27.5.1" + "jest-util" "^27.5.1" + "pretty-format" "^27.5.1" -jest-environment-jsdom@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz" - integrity sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw== +"jest-environment-jsdom@^27.5.1": + "integrity" "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==" + "resolved" "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz" + "version" "27.5.1" dependencies: "@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" + "jest-mock" "^27.5.1" + "jest-util" "^27.5.1" + "jsdom" "^16.6.0" -jest-environment-node@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz" - integrity sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw== +"jest-environment-node@^27.5.1": + "integrity" "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==" + "resolved" "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz" + "version" "27.5.1" dependencies: "@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" + "jest-mock" "^27.5.1" + "jest-util" "^27.5.1" + +"jest-environment-node@^29.2.1": + "integrity" "sha512-ExxuIK/+yQ+6PRGaHkKewYtg6hto2uGCgvKdb2nfJfKXgZ17DfXjvbZ+jA1Qt9A8EQSfPnt5FKIfnOO3u1h9qw==" + "resolved" "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.5.0.tgz" + "version" "29.5.0" + dependencies: + "@jest/environment" "^29.5.0" + "@jest/fake-timers" "^29.5.0" + "@jest/types" "^29.5.0" + "@types/node" "*" + "jest-mock" "^29.5.0" + "jest-util" "^29.5.0" -jest-get-type@^27.5.1: - 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-get-type@^26.3.0": + "integrity" "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==" + "resolved" "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz" + "version" "26.3.0" -jest-haste-map@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz" - integrity sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng== +"jest-get-type@^27.5.1": + "integrity" "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==" + "resolved" "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz" + "version" "27.5.1" + +"jest-haste-map@^27.5.1": + "integrity" "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==" + "resolved" "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz" + "version" "27.5.1" dependencies: "@jest/types" "^27.5.1" "@types/graceful-fs" "^4.1.2" "@types/node" "*" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - 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" + "anymatch" "^3.0.3" + "fb-watchman" "^2.0.0" + "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" optionalDependencies: - fsevents "^2.3.2" + "fsevents" "^2.3.2" -jest-jasmine2@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz" - integrity sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ== +"jest-jasmine2@^27.5.1": + "integrity" "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==" + "resolved" "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz" + "version" "27.5.1" dependencies: "@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" - -jest-leak-detector@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz" - integrity sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ== - dependencies: - jest-get-type "^27.5.1" - pretty-format "^27.5.1" - -jest-matcher-utils@^27.0.0, jest-matcher-utils@^27.5.1: - 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== - dependencies: - chalk "^4.0.0" - jest-diff "^27.5.1" - jest-get-type "^27.5.1" - pretty-format "^27.5.1" - -jest-message-util@^27.5.1: - 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== + "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" + +"jest-leak-detector@^27.5.1": + "integrity" "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==" + "resolved" "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz" + "version" "27.5.1" + dependencies: + "jest-get-type" "^27.5.1" + "pretty-format" "^27.5.1" + +"jest-matcher-utils@^27.0.0", "jest-matcher-utils@^27.5.1": + "integrity" "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==" + "resolved" "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz" + "version" "27.5.1" + dependencies: + "chalk" "^4.0.0" + "jest-diff" "^27.5.1" + "jest-get-type" "^27.5.1" + "pretty-format" "^27.5.1" + +"jest-message-util@^27.5.1": + "integrity" "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==" + "resolved" "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz" + "version" "27.5.1" dependencies: "@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" - -jest-message-util@^28.1.3: - version "28.1.3" - resolved "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz" - integrity sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g== + "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" + +"jest-message-util@^28.1.3": + "integrity" "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==" + "resolved" "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz" + "version" "28.1.3" dependencies: "@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" - -jest-mock@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz" - integrity sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og== + "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" + +"jest-message-util@^29.5.0": + "integrity" "sha512-Kijeg9Dag6CKtIDA7O21zNTACqD5MD/8HfIV8pdD94vFyFuer52SigdC3IQMhab3vACxXMiFk+yMHNdbqtyTGA==" + "resolved" "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.5.0.tgz" + "version" "29.5.0" + dependencies: + "@babel/code-frame" "^7.12.13" + "@jest/types" "^29.5.0" + "@types/stack-utils" "^2.0.0" + "chalk" "^4.0.0" + "graceful-fs" "^4.2.9" + "micromatch" "^4.0.4" + "pretty-format" "^29.5.0" + "slash" "^3.0.0" + "stack-utils" "^2.0.3" + +"jest-mock@^27.5.1": + "integrity" "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==" + "resolved" "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz" + "version" "27.5.1" dependencies: "@jest/types" "^27.5.1" "@types/node" "*" -jest-pnp-resolver@^1.2.2: - version "1.2.3" - resolved "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz" - integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== +"jest-mock@^29.5.0": + "integrity" "sha512-GqOzvdWDE4fAV2bWQLQCkujxYWL7RxjCnj71b5VhDAGOevB3qj3Ovg26A5NI84ZpODxyzaozXLOh2NCgkbvyaw==" + "resolved" "https://registry.npmjs.org/jest-mock/-/jest-mock-29.5.0.tgz" + "version" "29.5.0" + dependencies: + "@jest/types" "^29.5.0" + "@types/node" "*" + "jest-util" "^29.5.0" -jest-regex-util@^27.5.1: - 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-pnp-resolver@^1.2.2": + "integrity" "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==" + "resolved" "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz" + "version" "1.2.3" -jest-regex-util@^28.0.0: - 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-regex-util@^27.0.6", "jest-regex-util@^27.5.1": + "integrity" "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==" + "resolved" "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz" + "version" "27.5.1" -jest-resolve-dependencies@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz" - integrity sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg== +"jest-regex-util@^28.0.0": + "integrity" "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==" + "resolved" "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz" + "version" "28.0.2" + +"jest-resolve-dependencies@^27.5.1": + "integrity" "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==" + "resolved" "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz" + "version" "27.5.1" dependencies: "@jest/types" "^27.5.1" - jest-regex-util "^27.5.1" - jest-snapshot "^27.5.1" + "jest-regex-util" "^27.5.1" + "jest-snapshot" "^27.5.1" -jest-resolve@^27.4.2, jest-resolve@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz" - integrity sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw== +"jest-resolve@*", "jest-resolve@^27.4.2", "jest-resolve@^27.5.1": + "integrity" "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==" + "resolved" "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz" + "version" "27.5.1" dependencies: "@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" - -jest-runner@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz" - integrity sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ== + "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" + +"jest-runner@^27.5.1": + "integrity" "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==" + "resolved" "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz" + "version" "27.5.1" dependencies: "@jest/console" "^27.5.1" "@jest/environment" "^27.5.1" @@ -8484,26 +9320,26 @@ jest-runner@^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" - -jest-runtime@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz" - integrity sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A== + "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" + +"jest-runtime@^27.5.1": + "integrity" "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==" + "resolved" "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz" + "version" "27.5.1" dependencies: "@jest/environment" "^27.5.1" "@jest/fake-timers" "^27.5.1" @@ -8512,34 +9348,34 @@ jest-runtime@^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" - -jest-serializer@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz" - integrity sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w== + "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" + +"jest-serializer@^27.0.6", "jest-serializer@^27.5.1": + "integrity" "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==" + "resolved" "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz" + "version" "27.5.1" dependencies: "@types/node" "*" - graceful-fs "^4.2.9" + "graceful-fs" "^4.2.9" -jest-snapshot@^27.5.1: - 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== +"jest-snapshot@^27.5.1": + "integrity" "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==" + "resolved" "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz" + "version" "27.5.1" dependencies: "@babel/core" "^7.7.2" "@babel/generator" "^7.7.2" @@ -8550,1548 +9386,2095 @@ jest-snapshot@^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" - -jest-util@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz" - integrity sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw== + "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" + +"jest-util@^27.2.0", "jest-util@^27.5.1": + "integrity" "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==" + "resolved" "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz" + "version" "27.5.1" dependencies: "@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" + "chalk" "^4.0.0" + "ci-info" "^3.2.0" + "graceful-fs" "^4.2.9" + "picomatch" "^2.2.3" -jest-util@^28.1.3: - version "28.1.3" - resolved "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz" - integrity sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ== +"jest-util@^28.1.3": + "integrity" "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==" + "resolved" "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz" + "version" "28.1.3" dependencies: "@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" + "chalk" "^4.0.0" + "ci-info" "^3.2.0" + "graceful-fs" "^4.2.9" + "picomatch" "^2.2.3" -jest-validate@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz" - integrity sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ== +"jest-util@^29.5.0": + "integrity" "sha512-RYMgG/MTadOr5t8KdhejfvUU82MxsCu5MF6KuDUHl+NuwzUt+Sm6jJWxTJVrDR1j5M/gJVCPKQEpWXY+yIQ6lQ==" + "resolved" "https://registry.npmjs.org/jest-util/-/jest-util-29.5.0.tgz" + "version" "29.5.0" + dependencies: + "@jest/types" "^29.5.0" + "@types/node" "*" + "chalk" "^4.0.0" + "ci-info" "^3.2.0" + "graceful-fs" "^4.2.9" + "picomatch" "^2.2.3" + +"jest-validate@^26.5.2": + "integrity" "sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ==" + "resolved" "https://registry.npmjs.org/jest-validate/-/jest-validate-26.6.2.tgz" + "version" "26.6.2" + dependencies: + "@jest/types" "^26.6.2" + "camelcase" "^6.0.0" + "chalk" "^4.0.0" + "jest-get-type" "^26.3.0" + "leven" "^3.1.0" + "pretty-format" "^26.6.2" + +"jest-validate@^27.5.1": + "integrity" "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==" + "resolved" "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz" + "version" "27.5.1" dependencies: "@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" - -jest-watch-typeahead@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-1.1.0.tgz" - integrity sha512-Va5nLSJTN7YFtC2jd+7wsoe1pNe5K4ShLux/E5iHEwlB9AxaxmggY7to9KUqKojhaJw3aXqt5WAb4jGPOolpEw== - dependencies: - 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" - -jest-watcher@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz" - integrity sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw== + "camelcase" "^6.2.0" + "chalk" "^4.0.0" + "jest-get-type" "^27.5.1" + "leven" "^3.1.0" + "pretty-format" "^27.5.1" + +"jest-watch-typeahead@^1.0.0": + "integrity" "sha512-Va5nLSJTN7YFtC2jd+7wsoe1pNe5K4ShLux/E5iHEwlB9AxaxmggY7to9KUqKojhaJw3aXqt5WAb4jGPOolpEw==" + "resolved" "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-1.1.0.tgz" + "version" "1.1.0" + dependencies: + "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" + +"jest-watcher@^27.5.1": + "integrity" "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==" + "resolved" "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz" + "version" "27.5.1" dependencies: "@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" + "ansi-escapes" "^4.2.1" + "chalk" "^4.0.0" + "jest-util" "^27.5.1" + "string-length" "^4.0.1" -jest-watcher@^28.0.0: - version "28.1.3" - resolved "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz" - integrity sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g== +"jest-watcher@^28.0.0": + "integrity" "sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==" + "resolved" "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz" + "version" "28.1.3" dependencies: "@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" + "ansi-escapes" "^4.2.1" + "chalk" "^4.0.0" + "emittery" "^0.10.2" + "jest-util" "^28.1.3" + "string-length" "^4.0.1" -jest-worker@^26.2.1: - version "26.6.2" - resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz" - integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== +"jest-worker@^26.2.1": + "integrity" "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==" + "resolved" "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz" + "version" "26.6.2" dependencies: "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^7.0.0" + "merge-stream" "^2.0.0" + "supports-color" "^7.0.0" -jest-worker@^27.0.2, jest-worker@^27.4.5, jest-worker@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz" - integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== +"jest-worker@^27.0.2", "jest-worker@^27.2.0", "jest-worker@^27.4.5", "jest-worker@^27.5.1": + "integrity" "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==" + "resolved" "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz" + "version" "27.5.1" dependencies: "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^8.0.0" + "merge-stream" "^2.0.0" + "supports-color" "^8.0.0" -jest-worker@^28.0.2: - 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== +"jest-worker@^28.0.2": + "integrity" "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==" + "resolved" "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz" + "version" "28.1.3" dependencies: "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^8.0.0" + "merge-stream" "^2.0.0" + "supports-color" "^8.0.0" -jest@^27.4.3: - version "27.5.1" - resolved "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz" - integrity sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ== +"jest@^27.0.0 || ^28.0.0", "jest@^27.4.3": + "integrity" "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==" + "resolved" "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz" + "version" "27.5.1" dependencies: "@jest/core" "^27.5.1" - import-local "^3.0.2" - jest-cli "^27.5.1" - -js-cookie@^2.2.1: - version "2.2.1" - resolved "https://registry.npmjs.org/js-cookie/-/js-cookie-2.2.1.tgz" - integrity sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ== - -js-sdsl@^4.1.4: - version "4.2.0" - resolved "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.2.0.tgz" - integrity sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ== - -"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@^3.13.1: - version "3.14.1" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" - integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" - -jsdom@^16.6.0: - version "16.7.0" - resolved "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz" - integrity sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw== - dependencies: - 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@^2.5.1: - version "2.5.2" - resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz" - integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== - -json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: - 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-traverse@^0.4.1: - 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-schema-traverse@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" - integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== - -json-schema@^0.4.0: - version "0.4.0" - resolved "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz" - integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== - -json-stable-stringify-without-jsonify@^1.0.1: - 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@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz" - integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== - dependencies: - minimist "^1.2.0" - -json5@^2.1.2, json5@^2.2.0, json5@^2.2.2: - version "2.2.3" - resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" - integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== - -jsonfile@^6.0.1: - version "6.1.0" - resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz" - integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== - dependencies: - universalify "^2.0.0" + "import-local" "^3.0.2" + "jest-cli" "^27.5.1" + +"joi@^17.2.1": + "integrity" "sha512-Itk/r+V4Dx0V3c7RLFdRh12IOjySm2/WGPMubBT92cQvRfYZhPM2W0hZlctjj72iES8jsRCwp7S/cRmWBnJ4nw==" + "resolved" "https://registry.npmjs.org/joi/-/joi-17.9.2.tgz" + "version" "17.9.2" + dependencies: + "@hapi/hoek" "^9.0.0" + "@hapi/topo" "^5.0.0" + "@sideway/address" "^4.1.3" + "@sideway/formula" "^3.0.1" + "@sideway/pinpoint" "^2.0.0" + +"js-cookie@^2.2.1": + "integrity" "sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ==" + "resolved" "https://registry.npmjs.org/js-cookie/-/js-cookie-2.2.1.tgz" + "version" "2.2.1" + +"js-sdsl@^4.1.4": + "version" "4.2.0" + +"js-tokens@^3.0.0 || ^4.0.0", "js-tokens@^4.0.0": + "integrity" "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + "resolved" "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" + "version" "4.0.0" + +"js-yaml@^3.13.1": + "integrity" "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==" + "resolved" "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" + "version" "3.14.1" + dependencies: + "argparse" "^1.0.7" + "esprima" "^4.0.0" + +"js-yaml@^4.1.0": + "integrity" "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==" + "resolved" "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" + "version" "4.1.0" + dependencies: + "argparse" "^2.0.1" + +"jsc-android@^250231.0.0": + "integrity" "sha512-rS46PvsjYmdmuz1OAWXY/1kCYG7pnf1TBqeTiOJr1iDz7s5DLxxC9n/ZMknLDxzYzNVfI7R95MH10emSSG1Wuw==" + "resolved" "https://registry.npmjs.org/jsc-android/-/jsc-android-250231.0.0.tgz" + "version" "250231.0.0" + +"jsc-safe-url@^0.2.2": + "integrity" "sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q==" + "resolved" "https://registry.npmjs.org/jsc-safe-url/-/jsc-safe-url-0.2.4.tgz" + "version" "0.2.4" + +"jscodeshift@^0.13.1": + "integrity" "sha512-lGyiEbGOvmMRKgWk4vf+lUrCWO/8YR8sUR3FKF1Cq5fovjZDlIcw3Hu5ppLHAnEXshVffvaM0eyuY/AbOeYpnQ==" + "resolved" "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.13.1.tgz" + "version" "0.13.1" + dependencies: + "@babel/core" "^7.13.16" + "@babel/parser" "^7.13.16" + "@babel/plugin-proposal-class-properties" "^7.13.0" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.13.8" + "@babel/plugin-proposal-optional-chaining" "^7.13.12" + "@babel/plugin-transform-modules-commonjs" "^7.13.8" + "@babel/preset-flow" "^7.13.13" + "@babel/preset-typescript" "^7.13.0" + "@babel/register" "^7.13.16" + "babel-core" "^7.0.0-bridge.0" + "chalk" "^4.1.2" + "flow-parser" "0.*" + "graceful-fs" "^4.2.4" + "micromatch" "^3.1.10" + "neo-async" "^2.5.0" + "node-dir" "^0.1.17" + "recast" "^0.20.4" + "temp" "^0.8.4" + "write-file-atomic" "^2.3.0" + +"jsdom@^16.6.0": + "integrity" "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==" + "resolved" "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz" + "version" "16.7.0" + dependencies: + "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@^2.5.1": + "integrity" "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + "resolved" "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" + "version" "2.5.2" + +"jsesc@~0.5.0": + "integrity" "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==" + "resolved" "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz" + "version" "0.5.0" + +"json-parse-better-errors@^1.0.1": + "integrity" "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" + "resolved" "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz" + "version" "1.0.2" + +"json-parse-even-better-errors@^2.3.0", "json-parse-even-better-errors@^2.3.1": + "integrity" "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + "resolved" "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" + "version" "2.3.1" + +"json-schema-traverse@^0.4.1": + "integrity" "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + "resolved" "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" + "version" "0.4.1" + +"json-schema-traverse@^1.0.0": + "integrity" "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + "resolved" "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" + "version" "1.0.0" + +"json-schema@^0.4.0": + "integrity" "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + "resolved" "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz" + "version" "0.4.0" + +"json-stable-stringify-without-jsonify@^1.0.1": + "integrity" "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" + "resolved" "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" + "version" "1.0.1" + +"json5@^1.0.1": + "version" "1.0.2" + dependencies: + "minimist" "^1.2.0" + +"json5@^2.1.2", "json5@^2.2.0", "json5@^2.2.2": + "integrity" "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" + "resolved" "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" + "version" "2.2.3" + +"jsonfile@^4.0.0": + "integrity" "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==" + "resolved" "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz" + "version" "4.0.0" + optionalDependencies: + "graceful-fs" "^4.1.6" + +"jsonfile@^6.0.1": + "integrity" "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==" + "resolved" "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz" + "version" "6.1.0" + dependencies: + "universalify" "^2.0.0" optionalDependencies: - graceful-fs "^4.1.6" + "graceful-fs" "^4.1.6" -jsonpointer@^5.0.0: - version "5.0.1" - resolved "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz" - integrity sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ== +"jsonpointer@^5.0.0": + "integrity" "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==" + "resolved" "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz" + "version" "5.0.1" -jss-plugin-camel-case@^10.8.2: - version "10.9.0" - resolved "https://registry.npmjs.org/jss-plugin-camel-case/-/jss-plugin-camel-case-10.9.0.tgz" - integrity sha512-UH6uPpnDk413/r/2Olmw4+y54yEF2lRIV8XIZyuYpgPYTITLlPOsq6XB9qeqv+75SQSg3KLocq5jUBXW8qWWww== +"jss-plugin-camel-case@^10.8.2": + "version" "10.9.0" dependencies: "@babel/runtime" "^7.3.1" - hyphenate-style-name "^1.0.3" - jss "10.9.0" + "hyphenate-style-name" "^1.0.3" + "jss" "10.9.0" -jss-plugin-default-unit@^10.8.2: - version "10.9.0" - resolved "https://registry.npmjs.org/jss-plugin-default-unit/-/jss-plugin-default-unit-10.9.0.tgz" - integrity sha512-7Ju4Q9wJ/MZPsxfu4T84mzdn7pLHWeqoGd/D8O3eDNNJ93Xc8PxnLmV8s8ZPNRYkLdxZqKtm1nPQ0BM4JRlq2w== +"jss-plugin-default-unit@^10.8.2": + "version" "10.9.0" dependencies: "@babel/runtime" "^7.3.1" - jss "10.9.0" + "jss" "10.9.0" -jss-plugin-global@^10.8.2: - version "10.9.0" - resolved "https://registry.npmjs.org/jss-plugin-global/-/jss-plugin-global-10.9.0.tgz" - integrity sha512-4G8PHNJ0x6nwAFsEzcuVDiBlyMsj2y3VjmFAx/uHk/R/gzJV+yRHICjT4MKGGu1cJq2hfowFWCyrr/Gg37FbgQ== +"jss-plugin-global@^10.8.2": + "version" "10.9.0" dependencies: "@babel/runtime" "^7.3.1" - jss "10.9.0" + "jss" "10.9.0" -jss-plugin-nested@^10.8.2: - version "10.9.0" - resolved "https://registry.npmjs.org/jss-plugin-nested/-/jss-plugin-nested-10.9.0.tgz" - integrity sha512-2UJnDrfCZpMYcpPYR16oZB7VAC6b/1QLsRiAutOt7wJaaqwCBvNsosLEu/fUyKNQNGdvg2PPJFDO5AX7dwxtoA== +"jss-plugin-nested@^10.8.2": + "version" "10.9.0" dependencies: "@babel/runtime" "^7.3.1" - jss "10.9.0" - tiny-warning "^1.0.2" + "jss" "10.9.0" + "tiny-warning" "^1.0.2" -jss-plugin-props-sort@^10.8.2: - version "10.9.0" - resolved "https://registry.npmjs.org/jss-plugin-props-sort/-/jss-plugin-props-sort-10.9.0.tgz" - integrity sha512-7A76HI8bzwqrsMOJTWKx/uD5v+U8piLnp5bvru7g/3ZEQOu1+PjHvv7bFdNO3DwNPC9oM0a//KwIJsIcDCjDzw== +"jss-plugin-props-sort@^10.8.2": + "version" "10.9.0" dependencies: "@babel/runtime" "^7.3.1" - jss "10.9.0" + "jss" "10.9.0" -jss-plugin-rule-value-function@^10.8.2: - version "10.9.0" - resolved "https://registry.npmjs.org/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.9.0.tgz" - integrity sha512-IHJv6YrEf8pRzkY207cPmdbBstBaE+z8pazhPShfz0tZSDtRdQua5jjg6NMz3IbTasVx9FdnmptxPqSWL5tyJg== +"jss-plugin-rule-value-function@^10.8.2": + "version" "10.9.0" dependencies: "@babel/runtime" "^7.3.1" - jss "10.9.0" - tiny-warning "^1.0.2" + "jss" "10.9.0" + "tiny-warning" "^1.0.2" -jss-plugin-vendor-prefixer@^10.8.2: - version "10.9.0" - resolved "https://registry.npmjs.org/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.9.0.tgz" - integrity sha512-MbvsaXP7iiVdYVSEoi+blrW+AYnTDvHTW6I6zqi7JcwXdc6I9Kbm234nEblayhF38EftoenbM+5218pidmC5gA== +"jss-plugin-vendor-prefixer@^10.8.2": + "version" "10.9.0" dependencies: "@babel/runtime" "^7.3.1" - css-vendor "^2.0.8" - jss "10.9.0" + "css-vendor" "^2.0.8" + "jss" "10.9.0" -jss@10.9.0, jss@^10.8.2: - version "10.9.0" - resolved "https://registry.npmjs.org/jss/-/jss-10.9.0.tgz" - integrity sha512-YpzpreB6kUunQBbrlArlsMpXYyndt9JATbt95tajx0t4MTJJcCJdd4hdNpHmOIDiUJrF/oX5wtVFrS3uofWfGw== +"jss@^10.8.2", "jss@10.9.0": + "version" "10.9.0" dependencies: "@babel/runtime" "^7.3.1" - csstype "^3.0.2" - is-in-browser "^1.1.3" - tiny-warning "^1.0.2" - -"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.2: - version "3.3.3" - resolved "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz" - integrity sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw== - dependencies: - array-includes "^3.1.5" - object.assign "^4.1.3" - -jwt-decode@^3.1.2: - version "3.1.2" - resolved "https://registry.npmjs.org/jwt-decode/-/jwt-decode-3.1.2.tgz" - integrity sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A== - -kind-of@^6.0.2: - 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@^3.0.3: - version "3.0.3" - resolved "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz" - integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== - -klona@^2.0.4, klona@^2.0.5: - version "2.0.5" - resolved "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz" - integrity sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ== - -language-subtag-registry@^0.3.20: - 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@^1.0.5: - version "1.0.7" - resolved "https://registry.npmjs.org/language-tags/-/language-tags-1.0.7.tgz" - integrity sha512-bSytju1/657hFjgUzPAPqszxH62ouE8nQFoFaVlIQfne4wO/wXC9A4+m8jYve7YBBvi59eq0SUpcshvG8h5Usw== - dependencies: - language-subtag-registry "^0.3.20" - -leven@^3.1.0: - 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@^0.4.1: - version "0.4.1" - resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" - integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== - dependencies: - prelude-ls "^1.2.1" - type-check "~0.4.0" - -levn@~0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz" - integrity sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA== - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -lilconfig@^2.0.3, lilconfig@^2.0.5, lilconfig@^2.0.6: - version "2.0.6" - resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz" - integrity sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg== - -lines-and-columns@^1.1.6: - 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@^4.2.0: - 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@^2.0.0, loader-utils@^2.0.4: - version "2.0.4" - resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz" - integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw== - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^2.1.2" - -loader-utils@^3.2.0: - version "3.2.1" - resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz" - integrity sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw== - -locate-path@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz" - integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== - dependencies: - p-locate "^3.0.0" - path-exists "^3.0.0" - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - -locate-path@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" - integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== - dependencies: - p-locate "^5.0.0" - -lodash-es@^4.17.21: - version "4.17.21" - resolved "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz" - integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== - -lodash.debounce@^4.0.8: - version "4.0.8" - resolved "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz" - integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== - -lodash.memoize@^4.1.2: - 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@^4.6.2: - 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@^4.7.0: - version "4.7.0" - resolved "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz" - integrity sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA== - -lodash.throttle@^4.1.1: - version "4.1.1" - resolved "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz" - integrity sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ= - -lodash.uniq@^4.5.0: - version "4.5.0" - resolved "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz" - integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== - -lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.7.0: - version "4.17.21" - resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== - dependencies: - js-tokens "^3.0.0 || ^4.0.0" - -lower-case@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz" - integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== - dependencies: - tslib "^2.0.3" - -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - dependencies: - yallist "^3.0.2" - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -lz-string@^1.4.4: - version "1.4.4" - resolved "https://registry.npmjs.org/lz-string/-/lz-string-1.4.4.tgz" - integrity sha1-wNjq82BZ9wV5bh40SBHPTEmNOiY= - -magic-string@^0.25.0, magic-string@^0.25.7: - version "0.25.9" - resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz" - integrity sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ== - dependencies: - sourcemap-codec "^1.4.8" - -make-dir@^3.0.0, make-dir@^3.0.2, make-dir@^3.1.0: - 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== - dependencies: - semver "^6.0.0" - -makeerror@1.0.12: - version "1.0.12" - resolved "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz" - integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== - dependencies: - tmpl "1.0.5" - -map-obj@^4.0.0: - version "4.3.0" - resolved "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz" - integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== - -mdn-data@2.0.14: - version "2.0.14" - resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz" - integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== - -mdn-data@2.0.4: - version "2.0.4" - resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz" - integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA== - -media-typer@0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" - integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== - -memfs@^3.1.2, memfs@^3.4.3: - version "3.4.13" - resolved "https://registry.npmjs.org/memfs/-/memfs-3.4.13.tgz" - integrity sha512-omTM41g3Skpvx5dSYeZIbXKcXoAVc/AoMNwn9TKx++L/gaen/+4TTttmu8ZSch5vfVJ8uJvGbroTsIlslRg6lg== - dependencies: - fs-monkey "^1.0.3" - -merge-descriptors@1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz" - integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== - -merge-stream@^2.0.0: - 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@^1.3.0, merge2@^1.4.1: - version "1.4.1" - resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -methods@~1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz" - integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== - -micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: - version "4.0.5" - resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" - integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== - dependencies: - braces "^3.0.2" - picomatch "^2.3.1" - -mime-db@1.52.0, "mime-db@>= 1.43.0 < 2": - version "1.52.0" - resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" - integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== - -mime-types@^2.1.12, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.24, mime-types@~2.1.34: - version "2.1.35" - resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== - dependencies: - mime-db "1.52.0" - -mime@1.6.0: - version "1.6.0" - resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" - integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== - -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -min-indent@^1.0.0: - 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@^2.4.5: - version "2.7.2" - resolved "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.2.tgz" - integrity sha512-EdlUizq13o0Pd+uCp+WO/JpkLvHRVGt97RqfeGhXqAcorYo1ypJSpkV+WDT0vY/kmh/p7wRdJNJtuyK540PXDw== - dependencies: - schema-utils "^4.0.0" - -minimalistic-assert@^1.0.0: - 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@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: - version "3.1.2" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -minimatch@^5.0.1: - version "5.1.2" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-5.1.2.tgz" - integrity sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg== - dependencies: - brace-expansion "^2.0.1" - -minimist@^1.2.0, minimist@^1.2.6: - version "1.2.7" - resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz" - integrity sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g== - -mkdirp@~0.5.1: - version "0.5.6" - resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz" - integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== - dependencies: - minimist "^1.2.6" - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" - integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -ms@2.1.3, ms@^2.1.1: - version "2.1.3" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -multicast-dns@^7.2.5: - version "7.2.5" - resolved "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz" - integrity sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg== - dependencies: - dns-packet "^5.2.2" - thunky "^1.0.2" - -nanoclone@^0.2.1: - version "0.2.1" - resolved "https://registry.npmjs.org/nanoclone/-/nanoclone-0.2.1.tgz" - integrity sha512-wynEP02LmIbLpcYw8uBKpcfF6dmg2vcpKqxeH5UcoKEYdExslsdUA4ugFauuaeYdTB76ez6gJW8XAZ6CgkXYxA== - -nanoid@^3.3.4: - version "3.3.4" - resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz" - integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== - -natural-compare-lite@^1.4.0: - 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== - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" - integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== - -negotiator@0.6.3: - version "0.6.3" - resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz" - integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== - -neo-async@^2.6.2: - version "2.6.2" - resolved "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz" - integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== - -nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz" - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== - -no-case@^3.0.4: - version "3.0.4" - resolved "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz" - integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== - dependencies: - lower-case "^2.0.2" - tslib "^2.0.3" - -node-fetch@2.6.7, node-fetch@^2.6.1: - version "2.6.7" - resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz" - integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== - dependencies: - whatwg-url "^5.0.0" - -node-forge@^1: - version "1.3.1" - resolved "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz" - integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== - -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz" - integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== - -node-releases@^2.0.6: - version "2.0.8" - resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.8.tgz" - integrity sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A== - -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -normalize-range@^0.1.2: - 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@^6.0.1: - version "6.1.0" - resolved "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz" - integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== - -notistack@^2.0.3: - version "2.0.3" - resolved "https://registry.npmjs.org/notistack/-/notistack-2.0.3.tgz" - integrity sha512-krmVFtTO9kEY1Pa4NrbyexrjiRcV6TqBM2xLx8nuDea1g96Z/OZfkvVLmYKkTvoSJ3jyQntWK16z86ssW5kt4A== - dependencies: - clsx "^1.1.0" - hoist-non-react-statics "^3.3.0" - -npm-run-path@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - dependencies: - path-key "^3.0.0" - -nprogress@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz" - integrity sha1-y480xTIT2JVyP8urkH6UIq28r7E= - -nth-check@^1.0.2, nth-check@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d" - integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== - dependencies: - boolbase "^1.0.0" - -nwsapi@^2.2.0: - version "2.2.2" - resolved "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.2.tgz" - integrity sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw== - -object-assign@^4.1.1: - version "4.1.1" - resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" - integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== - -object-hash@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz" - integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== - -object-inspect@^1.12.2, object-inspect@^1.9.0: - version "1.12.2" - resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz" - integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ== - -object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object.assign@^4.1.0, object.assign@^4.1.3, object.assign@^4.1.4: - version "4.1.4" - resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz" - integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - has-symbols "^1.0.3" - object-keys "^1.1.1" - -object.entries@^1.1.6: - version "1.1.6" - resolved "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz" - integrity sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - -object.fromentries@^2.0.6: - version "2.0.6" - resolved "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz" - integrity sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - -object.getownpropertydescriptors@^2.1.0: - version "2.1.5" - resolved "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.5.tgz" - integrity sha512-yDNzckpM6ntyQiGTik1fKV1DcVDRS+w8bvpWNCBanvH5LfRX9O8WTHqQzG4RZwRAM4I0oU7TV11Lj5v0g20ibw== - dependencies: - array.prototype.reduce "^1.0.5" - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - -object.hasown@^1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz" - integrity sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw== - dependencies: - define-properties "^1.1.4" - es-abstract "^1.20.4" - -object.values@^1.1.0, object.values@^1.1.5, object.values@^1.1.6: - version "1.1.6" - resolved "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz" - integrity sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - -obuf@^1.0.0, obuf@^1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz" - integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== - -on-finished@2.4.1: - version "2.4.1" - resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz" - integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== - dependencies: - ee-first "1.1.1" - -on-headers@~1.0.2: - 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@^1.3.0: - version "1.4.0" - resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" - integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== - dependencies: - wrappy "1" - -onetime@^5.1.2: - version "5.1.2" - resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - dependencies: - mimic-fn "^2.1.0" - -open@^8.0.9, open@^8.4.0: - version "8.4.0" - resolved "https://registry.npmjs.org/open/-/open-8.4.0.tgz" - integrity sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q== - dependencies: - define-lazy-prop "^2.0.0" - is-docker "^2.1.1" - is-wsl "^2.2.0" - -optimism@^0.10.0: - version "0.10.3" - resolved "https://registry.npmjs.org/optimism/-/optimism-0.10.3.tgz" - integrity sha512-9A5pqGoQk49H6Vhjb9kPgAeeECfUDF6aIICbMDL23kDLStBn1MWk3YvcZ4xWF9CsSf6XEgvRLkXy4xof/56vVw== + "csstype" "^3.0.2" + "is-in-browser" "^1.1.3" + "tiny-warning" "^1.0.2" + +"jsx-ast-utils@^2.4.1 || ^3.0.0", "jsx-ast-utils@^3.3.2": + "integrity" "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==" + "resolved" "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz" + "version" "3.3.3" dependencies: - "@wry/context" "^0.4.0" + "array-includes" "^3.1.5" + "object.assign" "^4.1.3" -optimism@^0.16.1: - version "0.16.1" - resolved "https://registry.npmjs.org/optimism/-/optimism-0.16.1.tgz" - integrity sha512-64i+Uw3otrndfq5kaoGNoY7pvOhSsjFEN4bdEFh80MWVk/dbgJfMv7VFDeCT8LxNAlEVhQmdVEbfE7X2nWNIIg== +"jwt-decode@^3.1.2": + "integrity" "sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A==" + "resolved" "https://registry.npmjs.org/jwt-decode/-/jwt-decode-3.1.2.tgz" + "version" "3.1.2" + +"kind-of@^3.0.2", "kind-of@^3.0.3": + "integrity" "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==" + "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz" + "version" "3.2.2" dependencies: - "@wry/context" "^0.6.0" - "@wry/trie" "^0.3.0" + "is-buffer" "^1.1.5" + +"kind-of@^3.2.0": + "integrity" "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==" + "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz" + "version" "3.2.2" + dependencies: + "is-buffer" "^1.1.5" + +"kind-of@^4.0.0": + "integrity" "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==" + "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "is-buffer" "^1.1.5" + +"kind-of@^5.0.0": + "integrity" "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz" + "version" "5.1.0" + +"kind-of@^6.0.0", "kind-of@^6.0.2": + "integrity" "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" + "version" "6.0.3" + +"kleur@^3.0.3": + "integrity" "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==" + "resolved" "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz" + "version" "3.0.3" + +"klona@^2.0.4", "klona@^2.0.5": + "version" "2.0.5" + +"language-subtag-registry@^0.3.20": + "version" "0.3.22" + +"language-tags@^1.0.5": + "version" "1.0.7" + dependencies: + "language-subtag-registry" "^0.3.20" + +"leven@^3.1.0": + "integrity" "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==" + "resolved" "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz" + "version" "3.1.0" + +"levn@^0.4.1": + "integrity" "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==" + "resolved" "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" + "version" "0.4.1" + dependencies: + "prelude-ls" "^1.2.1" + "type-check" "~0.4.0" + +"levn@~0.3.0": + "integrity" "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==" + "resolved" "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz" + "version" "0.3.0" + dependencies: + "prelude-ls" "~1.1.2" + "type-check" "~0.3.2" + +"lilconfig@^2.0.3", "lilconfig@^2.0.5", "lilconfig@^2.0.6": + "version" "2.0.6" + +"lines-and-columns@^1.1.6": + "integrity" "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + "resolved" "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" + "version" "1.2.4" + +"loader-runner@^4.2.0": + "integrity" "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==" + "resolved" "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz" + "version" "4.3.0" + +"loader-utils@^2.0.0", "loader-utils@^2.0.4": + "integrity" "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==" + "resolved" "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz" + "version" "2.0.4" + dependencies: + "big.js" "^5.2.2" + "emojis-list" "^3.0.0" + "json5" "^2.1.2" + +"loader-utils@^3.2.0": + "integrity" "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==" + "resolved" "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz" + "version" "3.2.1" -optionator@^0.8.1: - version "0.8.3" - resolved "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz" - integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== +"locate-path@^3.0.0": + "integrity" "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==" + "resolved" "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz" + "version" "3.0.0" dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.6" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - word-wrap "~1.2.3" + "p-locate" "^3.0.0" + "path-exists" "^3.0.0" -optionator@^0.9.1: - version "0.9.1" - resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz" - integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== +"locate-path@^5.0.0": + "integrity" "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==" + "resolved" "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" + "version" "5.0.0" + dependencies: + "p-locate" "^4.1.0" + +"locate-path@^6.0.0": + "integrity" "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==" + "resolved" "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" + "version" "6.0.0" + dependencies: + "p-locate" "^5.0.0" + +"lodash-es@^4.17.21": + "integrity" "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" + "resolved" "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz" + "version" "4.17.21" + +"lodash.debounce@^4.0.8": + "integrity" "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + "resolved" "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz" + "version" "4.0.8" + +"lodash.memoize@^4.1.2": + "integrity" "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" + "resolved" "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz" + "version" "4.1.2" + +"lodash.merge@^4.6.2": + "integrity" "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + "resolved" "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" + "version" "4.6.2" + +"lodash.sortby@^4.7.0": + "integrity" "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" + "resolved" "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz" + "version" "4.7.0" + +"lodash.throttle@^4.1.1": + "integrity" "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==" + "resolved" "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz" + "version" "4.1.1" + +"lodash.uniq@^4.5.0": + "integrity" "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" + "resolved" "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz" + "version" "4.5.0" + +"lodash@^4.17.15", "lodash@^4.17.20", "lodash@^4.17.21", "lodash@^4.7.0": + "integrity" "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + "resolved" "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" + "version" "4.17.21" + +"log-symbols@^4.1.0": + "integrity" "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==" + "resolved" "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz" + "version" "4.1.0" + dependencies: + "chalk" "^4.1.0" + "is-unicode-supported" "^0.1.0" + +"logkitty@^0.7.1": + "integrity" "sha512-/3ER20CTTbahrCrpYfPn7Xavv9diBROZpoXGVZDWMw4b/X4uuUwAC0ki85tgsdMRONURyIJbcOvS94QsUBYPbQ==" + "resolved" "https://registry.npmjs.org/logkitty/-/logkitty-0.7.1.tgz" + "version" "0.7.1" + dependencies: + "ansi-fragments" "^0.2.1" + "dayjs" "^1.8.15" + "yargs" "^15.1.0" + +"loose-envify@^1.0.0", "loose-envify@^1.1.0", "loose-envify@^1.4.0": + "integrity" "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==" + "resolved" "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" + "version" "1.4.0" + dependencies: + "js-tokens" "^3.0.0 || ^4.0.0" + +"lower-case@^2.0.2": + "integrity" "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==" + "resolved" "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz" + "version" "2.0.2" + dependencies: + "tslib" "^2.0.3" + +"lru-cache@^5.1.1": + "integrity" "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==" + "resolved" "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" + "version" "5.1.1" + dependencies: + "yallist" "^3.0.2" + +"lru-cache@^6.0.0": + "integrity" "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==" + "resolved" "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" + "version" "6.0.0" + dependencies: + "yallist" "^4.0.0" + +"lz-string@^1.4.4": + "version" "1.4.4" + +"magic-string@^0.25.0", "magic-string@^0.25.7": + "integrity" "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==" + "resolved" "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz" + "version" "0.25.9" + dependencies: + "sourcemap-codec" "^1.4.8" + +"make-dir@^2.0.0", "make-dir@^2.1.0": + "integrity" "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==" + "resolved" "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "pify" "^4.0.1" + "semver" "^5.6.0" + +"make-dir@^3.0.0", "make-dir@^3.0.2", "make-dir@^3.1.0": + "integrity" "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==" + "resolved" "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "semver" "^6.0.0" + +"makeerror@1.0.12": + "integrity" "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==" + "resolved" "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz" + "version" "1.0.12" + dependencies: + "tmpl" "1.0.5" + +"map-cache@^0.2.2": + "integrity" "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==" + "resolved" "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz" + "version" "0.2.2" + +"map-obj@^4.0.0": + "integrity" "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==" + "resolved" "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz" + "version" "4.3.0" + +"map-visit@^1.0.0": + "integrity" "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==" + "resolved" "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "object-visit" "^1.0.0" + +"mdn-data@2.0.14": + "integrity" "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + "resolved" "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz" + "version" "2.0.14" + +"mdn-data@2.0.4": + "integrity" "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" + "resolved" "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz" + "version" "2.0.4" + +"media-typer@0.3.0": + "integrity" "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==" + "resolved" "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" + "version" "0.3.0" + +"memfs@^3.1.2", "memfs@^3.4.3": + "version" "3.4.13" + dependencies: + "fs-monkey" "^1.0.3" + +"memoize-one@^5.0.0": + "integrity" "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==" + "resolved" "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz" + "version" "5.2.1" + +"merge-descriptors@1.0.1": + "integrity" "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + "resolved" "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz" + "version" "1.0.1" + +"merge-stream@^2.0.0": + "integrity" "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + "resolved" "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" + "version" "2.0.0" + +"merge2@^1.3.0", "merge2@^1.4.1": + "integrity" "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" + "resolved" "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" + "version" "1.4.1" + +"methods@~1.1.2": + "integrity" "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==" + "resolved" "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz" + "version" "1.1.2" + +"metro-babel-transformer@0.73.10": + "integrity" "sha512-Yv2myTSnpzt/lTyurLvqYbBkytvUJcLHN8XD3t7W6rGiLTQPzmf1zypHQLphvcAXtCWBOXFtH7KLOSi2/qMg+A==" + "resolved" "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.73.10.tgz" + "version" "0.73.10" + dependencies: + "@babel/core" "^7.20.0" + "hermes-parser" "0.8.0" + "metro-source-map" "0.73.10" + "nullthrows" "^1.1.1" + +"metro-cache-key@0.73.10": + "integrity" "sha512-JMVDl/EREDiUW//cIcUzRjKSwE2AFxVWk47cFBer+KA4ohXIG2CQPEquT56hOw1Y1s6gKNxxs1OlAOEsubrFjw==" + "resolved" "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.73.10.tgz" + "version" "0.73.10" + +"metro-cache@0.73.10": + "integrity" "sha512-wPGlQZpdVlM404m7MxJqJ+hTReDr5epvfPbt2LerUAHY9RN99w61FeeAe25BMZBwgUgDtAsfGlJ51MBHg8MAqw==" + "resolved" "https://registry.npmjs.org/metro-cache/-/metro-cache-0.73.10.tgz" + "version" "0.73.10" + dependencies: + "metro-core" "0.73.10" + "rimraf" "^3.0.2" + +"metro-config@0.73.10": + "integrity" "sha512-wIlybd1Z9I8K2KcStTiJxTB7OK529dxFgogNpKCTU/3DxkgAASqSkgXnZP6kVyqjh5EOWAKFe5U6IPic7kXDdQ==" + "resolved" "https://registry.npmjs.org/metro-config/-/metro-config-0.73.10.tgz" + "version" "0.73.10" + dependencies: + "cosmiconfig" "^5.0.5" + "jest-validate" "^26.5.2" + "metro" "0.73.10" + "metro-cache" "0.73.10" + "metro-core" "0.73.10" + "metro-runtime" "0.73.10" + +"metro-core@0.73.10": + "integrity" "sha512-5uYkajIxKyL6W45iz/ftNnYPe1l92CvF2QJeon1CHsMXkEiOJxEjo41l+iSnO/YodBGrmMCyupSO4wOQGUc0lw==" + "resolved" "https://registry.npmjs.org/metro-core/-/metro-core-0.73.10.tgz" + "version" "0.73.10" + dependencies: + "lodash.throttle" "^4.1.1" + "metro-resolver" "0.73.10" + +"metro-file-map@0.73.10": + "integrity" "sha512-XOMWAybeaXyD6zmVZPnoCCL2oO3rp4ta76oUlqWP0skBzhFxVtkE/UtDwApEMUY361JeBBago647gnKiARs+1g==" + "resolved" "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.73.10.tgz" + "version" "0.73.10" + dependencies: + "abort-controller" "^3.0.0" + "anymatch" "^3.0.3" + "debug" "^2.2.0" + "fb-watchman" "^2.0.0" + "graceful-fs" "^4.2.4" + "invariant" "^2.2.4" + "jest-regex-util" "^27.0.6" + "jest-serializer" "^27.0.6" + "jest-util" "^27.2.0" + "jest-worker" "^27.2.0" + "micromatch" "^4.0.4" + "nullthrows" "^1.1.1" + "walker" "^1.0.7" + optionalDependencies: + "fsevents" "^2.3.2" + +"metro-hermes-compiler@0.73.10": + "integrity" "sha512-rTRWEzkVrwtQLiYkOXhSdsKkIObnL+Jqo+IXHI7VEK2aSLWRAbtGNqECBs44kbOUypDYTFFE+WLtoqvUWqYkWg==" + "resolved" "https://registry.npmjs.org/metro-hermes-compiler/-/metro-hermes-compiler-0.73.10.tgz" + "version" "0.73.10" + +"metro-inspector-proxy@0.73.10": + "integrity" "sha512-CEEvocYc5xCCZBtGSIggMCiRiXTrnBbh8pmjKQqm9TtJZALeOGyt5pXUaEkKGnhrXETrexsg6yIbsQHhEvVfvQ==" + "resolved" "https://registry.npmjs.org/metro-inspector-proxy/-/metro-inspector-proxy-0.73.10.tgz" + "version" "0.73.10" + dependencies: + "connect" "^3.6.5" + "debug" "^2.2.0" + "ws" "^7.5.1" + "yargs" "^17.5.1" + +"metro-minify-terser@0.73.10": + "integrity" "sha512-uG7TSKQ/i0p9kM1qXrwbmY3v+6BrMItsOcEXcSP8Z+68bb+t9HeVK0T/hIfUu1v1PEnonhkhfzVsaP8QyTd5lQ==" + "resolved" "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.73.10.tgz" + "version" "0.73.10" + dependencies: + "terser" "^5.15.0" + +"metro-minify-uglify@0.73.10": + "integrity" "sha512-eocnSeJKnLz/UoYntVFhCJffED7SLSgbCHgNvI6ju6hFb6EFHGJT9OLbkJWeXaWBWD3Zw5mYLS8GGqGn/CHZPA==" + "resolved" "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.73.10.tgz" + "version" "0.73.10" + dependencies: + "uglify-es" "^3.1.9" + +"metro-react-native-babel-preset@0.73.10": + "integrity" "sha512-1/dnH4EHwFb2RKEKx34vVDpUS3urt2WEeR8FYim+ogqALg4sTpG7yeQPxWpbgKATezt4rNfqAANpIyH19MS4BQ==" + "resolved" "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.73.10.tgz" + "version" "0.73.10" + dependencies: + "@babel/core" "^7.20.0" + "@babel/plugin-proposal-async-generator-functions" "^7.0.0" + "@babel/plugin-proposal-class-properties" "^7.0.0" + "@babel/plugin-proposal-export-default-from" "^7.0.0" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.0.0" + "@babel/plugin-proposal-object-rest-spread" "^7.0.0" + "@babel/plugin-proposal-optional-catch-binding" "^7.0.0" + "@babel/plugin-proposal-optional-chaining" "^7.0.0" + "@babel/plugin-syntax-dynamic-import" "^7.0.0" + "@babel/plugin-syntax-export-default-from" "^7.0.0" + "@babel/plugin-syntax-flow" "^7.18.0" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.0.0" + "@babel/plugin-syntax-optional-chaining" "^7.0.0" + "@babel/plugin-transform-arrow-functions" "^7.0.0" + "@babel/plugin-transform-async-to-generator" "^7.0.0" + "@babel/plugin-transform-block-scoping" "^7.0.0" + "@babel/plugin-transform-classes" "^7.0.0" + "@babel/plugin-transform-computed-properties" "^7.0.0" + "@babel/plugin-transform-destructuring" "^7.0.0" + "@babel/plugin-transform-flow-strip-types" "^7.0.0" + "@babel/plugin-transform-function-name" "^7.0.0" + "@babel/plugin-transform-literals" "^7.0.0" + "@babel/plugin-transform-modules-commonjs" "^7.0.0" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.0.0" + "@babel/plugin-transform-parameters" "^7.0.0" + "@babel/plugin-transform-react-display-name" "^7.0.0" + "@babel/plugin-transform-react-jsx" "^7.0.0" + "@babel/plugin-transform-react-jsx-self" "^7.0.0" + "@babel/plugin-transform-react-jsx-source" "^7.0.0" + "@babel/plugin-transform-runtime" "^7.0.0" + "@babel/plugin-transform-shorthand-properties" "^7.0.0" + "@babel/plugin-transform-spread" "^7.0.0" + "@babel/plugin-transform-sticky-regex" "^7.0.0" + "@babel/plugin-transform-template-literals" "^7.0.0" + "@babel/plugin-transform-typescript" "^7.5.0" + "@babel/plugin-transform-unicode-regex" "^7.0.0" + "@babel/template" "^7.0.0" + "react-refresh" "^0.4.0" + +"metro-react-native-babel-transformer@0.73.10": + "integrity" "sha512-4G/upwqKdmKEjmsNa92/NEgsOxUWOygBVs+FXWfXWKgybrmcjh3NoqdRYrROo9ZRA/sB9Y/ZXKVkWOGKHtGzgg==" + "resolved" "https://registry.npmjs.org/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.73.10.tgz" + "version" "0.73.10" + dependencies: + "@babel/core" "^7.20.0" + "babel-preset-fbjs" "^3.4.0" + "hermes-parser" "0.8.0" + "metro-babel-transformer" "0.73.10" + "metro-react-native-babel-preset" "0.73.10" + "metro-source-map" "0.73.10" + "nullthrows" "^1.1.1" + +"metro-resolver@0.73.10": + "integrity" "sha512-HeXbs+0wjakaaVQ5BI7eT7uqxlZTc9rnyw6cdBWWMgUWB++KpoI0Ge7Hi6eQAOoVAzXC3m26mPFYLejpzTWjng==" + "resolved" "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.73.10.tgz" + "version" "0.73.10" + dependencies: + "absolute-path" "^0.0.0" + +"metro-runtime@0.73.10": + "integrity" "sha512-EpVKm4eN0Fgx2PEWpJ5NiMArV8zVoOin866jIIvzFLpmkZz1UEqgjf2JAfUJnjgv3fjSV3JqeGG2vZCaGQBTow==" + "resolved" "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.73.10.tgz" + "version" "0.73.10" + dependencies: + "@babel/runtime" "^7.0.0" + "react-refresh" "^0.4.0" + +"metro-source-map@0.73.10": + "integrity" "sha512-NAGv14701p/YaFZ76KzyPkacBw/QlEJF1f8elfs23N1tC33YyKLDKvPAzFJiYqjdcFvuuuDCA8JCXd2TgLxNPw==" + "resolved" "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.73.10.tgz" + "version" "0.73.10" + dependencies: + "@babel/traverse" "^7.20.0" + "@babel/types" "^7.20.0" + "invariant" "^2.2.4" + "metro-symbolicate" "0.73.10" + "nullthrows" "^1.1.1" + "ob1" "0.73.10" + "source-map" "^0.5.6" + "vlq" "^1.0.0" + +"metro-symbolicate@0.73.10": + "integrity" "sha512-PmCe3TOe1c/NVwMlB+B17me951kfkB3Wve5RqJn+ErPAj93od1nxicp6OJe7JT4QBRnpUP8p9tw2sHKqceIzkA==" + "resolved" "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.73.10.tgz" + "version" "0.73.10" + dependencies: + "invariant" "^2.2.4" + "metro-source-map" "0.73.10" + "nullthrows" "^1.1.1" + "source-map" "^0.5.6" + "through2" "^2.0.1" + "vlq" "^1.0.0" + +"metro-transform-plugins@0.73.10": + "integrity" "sha512-D4AgD3Vsrac+4YksaPmxs/0ocT67bvwTkFSIgWWeDvWwIG0U1iHzTS9f8Bvb4PITnXryDoFtjI6OWF7uOpGxpA==" + "resolved" "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.73.10.tgz" + "version" "0.73.10" + dependencies: + "@babel/core" "^7.20.0" + "@babel/generator" "^7.20.0" + "@babel/template" "^7.0.0" + "@babel/traverse" "^7.20.0" + "nullthrows" "^1.1.1" + +"metro-transform-worker@0.73.10": + "integrity" "sha512-IySvVubudFxahxOljWtP0QIMMpgUrCP0bW16cz2Enof0PdumwmR7uU3dTbNq6S+XTzuMHR+076aIe4VhPAWsIQ==" + "resolved" "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.73.10.tgz" + "version" "0.73.10" + dependencies: + "@babel/core" "^7.20.0" + "@babel/generator" "^7.20.0" + "@babel/parser" "^7.20.0" + "@babel/types" "^7.20.0" + "babel-preset-fbjs" "^3.4.0" + "metro" "0.73.10" + "metro-babel-transformer" "0.73.10" + "metro-cache" "0.73.10" + "metro-cache-key" "0.73.10" + "metro-hermes-compiler" "0.73.10" + "metro-source-map" "0.73.10" + "metro-transform-plugins" "0.73.10" + "nullthrows" "^1.1.1" + +"metro@0.73.10": + "integrity" "sha512-J2gBhNHFtc/Z48ysF0B/bfTwUwaRDLjNv7egfhQCc+934dpXcjJG2KZFeuybF+CvA9vo4QUi56G2U+RSAJ5tsA==" + "resolved" "https://registry.npmjs.org/metro/-/metro-0.73.10.tgz" + "version" "0.73.10" + dependencies: + "@babel/code-frame" "^7.0.0" + "@babel/core" "^7.20.0" + "@babel/generator" "^7.20.0" + "@babel/parser" "^7.20.0" + "@babel/template" "^7.0.0" + "@babel/traverse" "^7.20.0" + "@babel/types" "^7.20.0" + "absolute-path" "^0.0.0" + "accepts" "^1.3.7" + "async" "^3.2.2" + "chalk" "^4.0.0" + "ci-info" "^2.0.0" + "connect" "^3.6.5" + "debug" "^2.2.0" + "denodeify" "^1.2.1" + "error-stack-parser" "^2.0.6" + "graceful-fs" "^4.2.4" + "hermes-parser" "0.8.0" + "image-size" "^0.6.0" + "invariant" "^2.2.4" + "jest-worker" "^27.2.0" + "jsc-safe-url" "^0.2.2" + "lodash.throttle" "^4.1.1" + "metro-babel-transformer" "0.73.10" + "metro-cache" "0.73.10" + "metro-cache-key" "0.73.10" + "metro-config" "0.73.10" + "metro-core" "0.73.10" + "metro-file-map" "0.73.10" + "metro-hermes-compiler" "0.73.10" + "metro-inspector-proxy" "0.73.10" + "metro-minify-terser" "0.73.10" + "metro-minify-uglify" "0.73.10" + "metro-react-native-babel-preset" "0.73.10" + "metro-resolver" "0.73.10" + "metro-runtime" "0.73.10" + "metro-source-map" "0.73.10" + "metro-symbolicate" "0.73.10" + "metro-transform-plugins" "0.73.10" + "metro-transform-worker" "0.73.10" + "mime-types" "^2.1.27" + "node-fetch" "^2.2.0" + "nullthrows" "^1.1.1" + "rimraf" "^3.0.2" + "serialize-error" "^2.1.0" + "source-map" "^0.5.6" + "strip-ansi" "^6.0.0" + "temp" "0.8.3" + "throat" "^5.0.0" + "ws" "^7.5.1" + "yargs" "^17.5.1" + +"micromatch@^3.1.10": + "integrity" "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==" + "resolved" "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz" + "version" "3.1.10" + dependencies: + "arr-diff" "^4.0.0" + "array-unique" "^0.3.2" + "braces" "^2.3.1" + "define-property" "^2.0.2" + "extend-shallow" "^3.0.2" + "extglob" "^2.0.4" + "fragment-cache" "^0.2.1" + "kind-of" "^6.0.2" + "nanomatch" "^1.2.9" + "object.pick" "^1.3.0" + "regex-not" "^1.0.0" + "snapdragon" "^0.8.1" + "to-regex" "^3.0.2" + +"micromatch@^4.0.2", "micromatch@^4.0.4", "micromatch@^4.0.5": + "integrity" "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==" + "resolved" "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" + "version" "4.0.5" + dependencies: + "braces" "^3.0.2" + "picomatch" "^2.3.1" + +"mime-db@>= 1.43.0 < 2", "mime-db@1.52.0": + "integrity" "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + "resolved" "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" + "version" "1.52.0" + +"mime-types@^2.1.12", "mime-types@^2.1.27", "mime-types@^2.1.31", "mime-types@~2.1.17", "mime-types@~2.1.24", "mime-types@~2.1.34": + "integrity" "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==" + "resolved" "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" + "version" "2.1.35" + dependencies: + "mime-db" "1.52.0" + +"mime@^2.4.1": + "integrity" "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==" + "resolved" "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz" + "version" "2.6.0" + +"mime@1.6.0": + "integrity" "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + "resolved" "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" + "version" "1.6.0" + +"mimic-fn@^2.1.0": + "integrity" "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + "resolved" "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" + "version" "2.1.0" + +"min-indent@^1.0.0": + "integrity" "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==" + "resolved" "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz" + "version" "1.0.1" + +"mini-css-extract-plugin@^2.4.5": + "version" "2.7.2" + dependencies: + "schema-utils" "^4.0.0" + +"minimalistic-assert@^1.0.0": + "integrity" "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + "resolved" "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz" + "version" "1.0.1" + +"minimatch@^3.0.2", "minimatch@^3.0.4", "minimatch@^3.0.5", "minimatch@^3.1.1", "minimatch@^3.1.2": + "integrity" "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==" + "resolved" "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" + "version" "3.1.2" + dependencies: + "brace-expansion" "^1.1.7" + +"minimatch@^5.0.1": + "version" "5.1.2" + dependencies: + "brace-expansion" "^2.0.1" + +"minimist@^1.2.0", "minimist@^1.2.6": + "version" "1.2.7" + +"mixin-deep@^1.2.0": + "integrity" "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==" + "resolved" "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz" + "version" "1.3.2" + dependencies: + "for-in" "^1.0.2" + "is-extendable" "^1.0.1" + +"mkdirp@^0.5.1", "mkdirp@~0.5.1": + "integrity" "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==" + "resolved" "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz" + "version" "0.5.6" + dependencies: + "minimist" "^1.2.6" + +"monaco-editor@>= 0.21.0 < 1", "monaco-editor@>= 0.25.0 < 1": + "integrity" "sha512-zhbZ2Nx93tLR8aJmL2zI1mhJpsl87HMebNBM6R8z4pLfs8pj604pIVIVwyF1TivcfNtIPpMXL+nb3DsBmE/x6Q==" + "resolved" "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.39.0.tgz" + "version" "0.39.0" + +"ms@^2.1.1", "ms@2.1.3": + "integrity" "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" + "version" "2.1.3" + +"ms@2.0.0": + "integrity" "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "resolved" "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" + "version" "2.0.0" + +"ms@2.1.2": + "integrity" "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" + "version" "2.1.2" + +"multicast-dns@^7.2.5": + "integrity" "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==" + "resolved" "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz" + "version" "7.2.5" + dependencies: + "dns-packet" "^5.2.2" + "thunky" "^1.0.2" + +"nanoclone@^0.2.1": + "integrity" "sha512-wynEP02LmIbLpcYw8uBKpcfF6dmg2vcpKqxeH5UcoKEYdExslsdUA4ugFauuaeYdTB76ez6gJW8XAZ6CgkXYxA==" + "resolved" "https://registry.npmjs.org/nanoclone/-/nanoclone-0.2.1.tgz" + "version" "0.2.1" + +"nanoid@^3.3.4": + "version" "3.3.4" + +"nanomatch@^1.2.9": + "integrity" "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==" + "resolved" "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz" + "version" "1.2.13" + dependencies: + "arr-diff" "^4.0.0" + "array-unique" "^0.3.2" + "define-property" "^2.0.2" + "extend-shallow" "^3.0.2" + "fragment-cache" "^0.2.1" + "is-windows" "^1.0.2" + "kind-of" "^6.0.2" + "object.pick" "^1.3.0" + "regex-not" "^1.0.0" + "snapdragon" "^0.8.1" + "to-regex" "^3.0.1" + +"natural-compare-lite@^1.4.0": + "integrity" "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==" + "resolved" "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz" + "version" "1.4.0" + +"natural-compare@^1.4.0": + "integrity" "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" + "resolved" "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" + "version" "1.4.0" + +"negotiator@0.6.3": + "integrity" "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" + "resolved" "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz" + "version" "0.6.3" + +"neo-async@^2.5.0", "neo-async@^2.6.2": + "integrity" "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + "resolved" "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz" + "version" "2.6.2" + +"nice-try@^1.0.4": + "integrity" "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" + "resolved" "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz" + "version" "1.0.5" + +"no-case@^3.0.4": + "integrity" "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==" + "resolved" "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz" + "version" "3.0.4" + dependencies: + "lower-case" "^2.0.2" + "tslib" "^2.0.3" + +"nocache@^3.0.1": + "integrity" "sha512-WDD0bdg9mbq6F4mRxEYcPWwfA1vxd0mrvKOyxI7Xj/atfRHVeutzuWByG//jfm4uPzp0y4Kj051EORCBSQMycw==" + "resolved" "https://registry.npmjs.org/nocache/-/nocache-3.0.4.tgz" + "version" "3.0.4" + +"node-dir@^0.1.17": + "integrity" "sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==" + "resolved" "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz" + "version" "0.1.17" + dependencies: + "minimatch" "^3.0.2" + +"node-fetch@^2.2.0", "node-fetch@^2.6.0", "node-fetch@^2.6.1", "node-fetch@^2.6.11": + "integrity" "sha512-4I6pdBY1EthSqDmJkiNk3JIT8cswwR9nfeW/cPdUagJYEQG7R95WRH74wpz7ma8Gh/9dI9FP+OU+0E4FvtA55w==" + "resolved" "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.11.tgz" + "version" "2.6.11" + dependencies: + "whatwg-url" "^5.0.0" + +"node-forge@^1": + "integrity" "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==" + "resolved" "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz" + "version" "1.3.1" + +"node-int64@^0.4.0": + "integrity" "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==" + "resolved" "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz" + "version" "0.4.0" + +"node-releases@^2.0.6": + "version" "2.0.8" + +"node-stream-zip@^1.9.1": + "integrity" "sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==" + "resolved" "https://registry.npmjs.org/node-stream-zip/-/node-stream-zip-1.15.0.tgz" + "version" "1.15.0" + +"normalize-path@^3.0.0", "normalize-path@~3.0.0": + "integrity" "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + "resolved" "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" + "version" "3.0.0" + +"normalize-range@^0.1.2": + "integrity" "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==" + "resolved" "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz" + "version" "0.1.2" + +"normalize-url@^6.0.1": + "integrity" "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==" + "resolved" "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz" + "version" "6.1.0" + +"notistack@^2.0.3": + "version" "2.0.3" + dependencies: + "clsx" "^1.1.0" + "hoist-non-react-statics" "^3.3.0" + +"npm-run-path@^2.0.0": + "integrity" "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==" + "resolved" "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz" + "version" "2.0.2" + dependencies: + "path-key" "^2.0.0" + +"npm-run-path@^4.0.1": + "integrity" "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==" + "resolved" "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" + "version" "4.0.1" + dependencies: + "path-key" "^3.0.0" + +"nprogress@^0.2.0": + "integrity" "sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==" + "resolved" "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz" + "version" "0.2.0" + +"nth-check@^1.0.2": + "integrity" "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==" + "resolved" "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "boolbase" "~1.0.0" + +"nth-check@^2.0.1": + "integrity" "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==" + "resolved" "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz" + "version" "2.1.1" + dependencies: + "boolbase" "^1.0.0" + +"nullthrows@^1.1.1": + "integrity" "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==" + "resolved" "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz" + "version" "1.1.1" + +"nwsapi@^2.2.0": + "version" "2.2.2" + +"ob1@0.73.10": + "integrity" "sha512-aO6EYC+QRRCkZxVJhCWhLKgVjhNuD6Gu1riGjxrIm89CqLsmKgxzYDDEsktmKsoDeRdWGQM5EdMzXDl5xcVfsw==" + "resolved" "https://registry.npmjs.org/ob1/-/ob1-0.73.10.tgz" + "version" "0.73.10" + +"object-assign@^4.1.1": + "integrity" "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" + "resolved" "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" + "version" "4.1.1" + +"object-copy@^0.1.0": + "integrity" "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==" + "resolved" "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz" + "version" "0.1.0" + dependencies: + "copy-descriptor" "^0.1.0" + "define-property" "^0.2.5" + "kind-of" "^3.0.3" + +"object-hash@^3.0.0": + "integrity" "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==" + "resolved" "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz" + "version" "3.0.0" + +"object-inspect@^1.12.2", "object-inspect@^1.9.0": + "version" "1.12.2" + +"object-keys@^1.1.1": + "integrity" "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + "resolved" "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" + "version" "1.1.1" + +"object-visit@^1.0.0": + "integrity" "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==" + "resolved" "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz" + "version" "1.0.1" dependencies: - deep-is "^0.1.3" - fast-levenshtein "^2.0.6" - levn "^0.4.1" - prelude-ls "^1.2.1" - type-check "^0.4.0" - word-wrap "^1.2.3" + "isobject" "^3.0.0" + +"object.assign@^4.0.4", "object.assign@^4.1.3", "object.assign@^4.1.4": + "integrity" "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==" + "resolved" "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz" + "version" "4.1.4" + dependencies: + "call-bind" "^1.0.2" + "define-properties" "^1.1.4" + "has-symbols" "^1.0.3" + "object-keys" "^1.1.1" + +"object.entries@^1.1.6": + "integrity" "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==" + "resolved" "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz" + "version" "1.1.6" + dependencies: + "call-bind" "^1.0.2" + "define-properties" "^1.1.4" + "es-abstract" "^1.20.4" + +"object.fromentries@^2.0.6": + "integrity" "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==" + "resolved" "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz" + "version" "2.0.6" + dependencies: + "call-bind" "^1.0.2" + "define-properties" "^1.1.4" + "es-abstract" "^1.20.4" + +"object.getownpropertydescriptors@^2.1.0": + "version" "2.1.5" + dependencies: + "array.prototype.reduce" "^1.0.5" + "call-bind" "^1.0.2" + "define-properties" "^1.1.4" + "es-abstract" "^1.20.4" + +"object.hasown@^1.1.2": + "integrity" "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==" + "resolved" "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz" + "version" "1.1.2" + dependencies: + "define-properties" "^1.1.4" + "es-abstract" "^1.20.4" + +"object.pick@^1.3.0": + "integrity" "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==" + "resolved" "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz" + "version" "1.3.0" + dependencies: + "isobject" "^3.0.1" + +"object.values@^1.1.0", "object.values@^1.1.5", "object.values@^1.1.6": + "integrity" "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==" + "resolved" "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz" + "version" "1.1.6" + dependencies: + "call-bind" "^1.0.2" + "define-properties" "^1.1.4" + "es-abstract" "^1.20.4" + +"obuf@^1.0.0", "obuf@^1.1.2": + "integrity" "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" + "resolved" "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz" + "version" "1.1.2" -p-limit@^2.0.0, p-limit@^2.2.0: - version "2.3.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== +"on-finished@~2.3.0": + "integrity" "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==" + "resolved" "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz" + "version" "2.3.0" dependencies: - p-try "^2.0.0" + "ee-first" "1.1.1" -p-limit@^3.0.2: - version "3.1.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== +"on-finished@2.4.1": + "integrity" "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==" + "resolved" "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz" + "version" "2.4.1" dependencies: - yocto-queue "^0.1.0" + "ee-first" "1.1.1" -p-locate@^3.0.0: - 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== +"on-headers@~1.0.2": + "integrity" "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" + "resolved" "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz" + "version" "1.0.2" + +"once@^1.3.0", "once@^1.3.1", "once@^1.4.0": + "integrity" "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==" + "resolved" "https://registry.npmjs.org/once/-/once-1.4.0.tgz" + "version" "1.4.0" dependencies: - p-limit "^2.0.0" + "wrappy" "1" -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== +"onetime@^5.1.0", "onetime@^5.1.2": + "integrity" "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==" + "resolved" "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" + "version" "5.1.2" dependencies: - p-limit "^2.2.0" + "mimic-fn" "^2.1.0" -p-locate@^5.0.0: - 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== +"open@^6.2.0": + "integrity" "sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==" + "resolved" "https://registry.npmjs.org/open/-/open-6.4.0.tgz" + "version" "6.4.0" dependencies: - p-limit "^3.0.2" + "is-wsl" "^1.1.0" -p-retry@^4.5.0: - version "4.6.2" - resolved "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz" - integrity sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ== +"open@^8.0.9", "open@^8.4.0": + "version" "8.4.0" + dependencies: + "define-lazy-prop" "^2.0.0" + "is-docker" "^2.1.1" + "is-wsl" "^2.2.0" + +"optimism@^0.10.0": + "integrity" "sha512-9A5pqGoQk49H6Vhjb9kPgAeeECfUDF6aIICbMDL23kDLStBn1MWk3YvcZ4xWF9CsSf6XEgvRLkXy4xof/56vVw==" + "resolved" "https://registry.npmjs.org/optimism/-/optimism-0.10.3.tgz" + "version" "0.10.3" + dependencies: + "@wry/context" "^0.4.0" + +"optimism@^0.16.1": + "version" "0.16.1" + dependencies: + "@wry/context" "^0.6.0" + "@wry/trie" "^0.3.0" + +"optionator@^0.8.1": + "integrity" "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==" + "resolved" "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz" + "version" "0.8.3" + dependencies: + "deep-is" "~0.1.3" + "fast-levenshtein" "~2.0.6" + "levn" "~0.3.0" + "prelude-ls" "~1.1.2" + "type-check" "~0.3.2" + "word-wrap" "~1.2.3" + +"optionator@^0.9.1": + "integrity" "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==" + "resolved" "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz" + "version" "0.9.1" + dependencies: + "deep-is" "^0.1.3" + "fast-levenshtein" "^2.0.6" + "levn" "^0.4.1" + "prelude-ls" "^1.2.1" + "type-check" "^0.4.0" + "word-wrap" "^1.2.3" + +"ora@^5.4.1": + "integrity" "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==" + "resolved" "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz" + "version" "5.4.1" + dependencies: + "bl" "^4.1.0" + "chalk" "^4.1.0" + "cli-cursor" "^3.1.0" + "cli-spinners" "^2.5.0" + "is-interactive" "^1.0.0" + "is-unicode-supported" "^0.1.0" + "log-symbols" "^4.1.0" + "strip-ansi" "^6.0.0" + "wcwidth" "^1.0.1" + +"os-tmpdir@^1.0.0": + "integrity" "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==" + "resolved" "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz" + "version" "1.0.2" + +"p-finally@^1.0.0": + "integrity" "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==" + "resolved" "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz" + "version" "1.0.0" + +"p-limit@^2.0.0", "p-limit@^2.2.0": + "integrity" "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==" + "resolved" "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" + "version" "2.3.0" + dependencies: + "p-try" "^2.0.0" + +"p-limit@^3.0.2": + "integrity" "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==" + "resolved" "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "yocto-queue" "^0.1.0" + +"p-locate@^3.0.0": + "integrity" "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==" + "resolved" "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "p-limit" "^2.0.0" + +"p-locate@^4.1.0": + "integrity" "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==" + "resolved" "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" + "version" "4.1.0" + dependencies: + "p-limit" "^2.2.0" + +"p-locate@^5.0.0": + "integrity" "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==" + "resolved" "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" + "version" "5.0.0" + dependencies: + "p-limit" "^3.0.2" + +"p-retry@^4.5.0": + "integrity" "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==" + "resolved" "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz" + "version" "4.6.2" dependencies: "@types/retry" "0.12.0" - retry "^0.13.1" + "retry" "^0.13.1" -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== +"p-try@^2.0.0": + "integrity" "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + "resolved" "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" + "version" "2.2.0" -paho-mqtt@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/paho-mqtt/-/paho-mqtt-1.1.0.tgz" - integrity sha512-KPbL9KAB0ASvhSDbOrZBaccXS+/s7/LIofbPyERww8hM5Ko71GUJQ6Nmg0BWqj8phAIT8zdf/Sd/RftHU9i2HA== +"pako@2.0.4": + "integrity" "sha512-v8tweI900AUkZN6heMU/4Uy4cXRc2AYNRggVmTR+dEncawDJgCdLMximOVA2p4qO57WMynangsfGRb5WD6L1Bg==" + "resolved" "https://registry.npmjs.org/pako/-/pako-2.0.4.tgz" + "version" "2.0.4" -param-case@^3.0.4: - version "3.0.4" - resolved "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz" - integrity sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A== +"param-case@^3.0.4": + "integrity" "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==" + "resolved" "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz" + "version" "3.0.4" dependencies: - dot-case "^3.0.4" - tslib "^2.0.3" + "dot-case" "^3.0.4" + "tslib" "^2.0.3" -parent-module@^1.0.0: - 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== +"parent-module@^1.0.0": + "integrity" "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==" + "resolved" "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" + "version" "1.0.1" dependencies: - callsites "^3.0.0" + "callsites" "^3.0.0" -parse-json@^5.0.0, parse-json@^5.2.0: - version "5.2.0" - resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" - integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== +"parse-json@^4.0.0": + "integrity" "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==" + "resolved" "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "error-ex" "^1.3.1" + "json-parse-better-errors" "^1.0.1" + +"parse-json@^5.0.0", "parse-json@^5.2.0": + "integrity" "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==" + "resolved" "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" + "version" "5.2.0" dependencies: "@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@6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz" - integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== - -parseurl@~1.3.2, parseurl@~1.3.3: - version "1.3.3" - resolved "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz" - integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== - -pascal-case@^3.1.2: - version "3.1.2" - resolved "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz" - integrity sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== - dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz" - integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== - -path-exists@^4.0.0: - 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@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" - integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== - -path-key@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz" - integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw== - -path-key@^3.0.0, path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-parse@^1.0.7: - 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@0.1.7: - 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@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz" - integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow== - -picocolors@^0.2.1: - version "0.2.1" - resolved "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz" - integrity sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA== - -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== - -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3, picomatch@^2.3.1: - version "2.3.1" - resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -pify@^2.3.0: - version "2.3.0" - resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" - integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== - -pirates@^4.0.4: - version "4.0.5" - resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz" - integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== - -pkg-dir@^4.1.0, pkg-dir@^4.2.0: - 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== - dependencies: - find-up "^4.0.0" - -pkg-up@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz" - integrity sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA== - dependencies: - find-up "^3.0.0" - -polished@^1.9.3: - version "1.9.3" - resolved "https://registry.npmjs.org/polished/-/polished-1.9.3.tgz" - integrity sha512-4NmSD7fMFlM8roNxs7YXPv7UFRbYzb0gufR5zBxJLRzY54+zFsavxBo6zsQzP9ep6Hh3pC2pTyrpSTBEaB6IkQ== - -postcss-attribute-case-insensitive@^5.0.2: - 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== - dependencies: - postcss-selector-parser "^6.0.10" - -postcss-browser-comments@^4: - 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@^8.2.3: - version "8.2.4" - resolved "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz" - integrity sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q== - dependencies: - postcss-selector-parser "^6.0.9" - postcss-value-parser "^4.2.0" - -postcss-clamp@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz" - integrity sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-color-functional-notation@^4.2.4: - 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== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-color-hex-alpha@^8.0.4: - version "8.0.4" - resolved "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz" - integrity sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ== - dependencies: - postcss-value-parser "^4.2.0" + "error-ex" "^1.3.1" + "json-parse-even-better-errors" "^2.3.0" + "lines-and-columns" "^1.1.6" + +"parse5@6.0.1": + "integrity" "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" + "resolved" "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz" + "version" "6.0.1" + +"parseurl@~1.3.2", "parseurl@~1.3.3": + "integrity" "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + "resolved" "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz" + "version" "1.3.3" + +"pascal-case@^3.1.2": + "integrity" "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==" + "resolved" "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz" + "version" "3.1.2" + dependencies: + "no-case" "^3.0.4" + "tslib" "^2.0.3" + +"pascalcase@^0.1.1": + "integrity" "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==" + "resolved" "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz" + "version" "0.1.1" + +"path-exists@^3.0.0": + "integrity" "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==" + "resolved" "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz" + "version" "3.0.0" + +"path-exists@^4.0.0": + "integrity" "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" + "resolved" "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" + "version" "4.0.0" + +"path-is-absolute@^1.0.0": + "integrity" "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" + "resolved" "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" + "version" "1.0.1" + +"path-key@^2.0.0", "path-key@^2.0.1": + "integrity" "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==" + "resolved" "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz" + "version" "2.0.1" + +"path-key@^3.0.0", "path-key@^3.1.0": + "integrity" "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + "resolved" "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" + "version" "3.1.1" + +"path-parse@^1.0.7": + "integrity" "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + "resolved" "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" + "version" "1.0.7" + +"path-to-regexp@0.1.7": + "integrity" "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" + "resolved" "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz" + "version" "0.1.7" + +"path-type@^4.0.0": + "integrity" "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" + "resolved" "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" + "version" "4.0.0" + +"performance-now@^2.1.0": + "integrity" "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" + "resolved" "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz" + "version" "2.1.0" + +"picocolors@^0.2.1": + "integrity" "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + "resolved" "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz" + "version" "0.2.1" + +"picocolors@^1.0.0": + "integrity" "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + "resolved" "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" + "version" "1.0.0" + +"picomatch@^2.0.4", "picomatch@^2.2.1", "picomatch@^2.2.2", "picomatch@^2.2.3", "picomatch@^2.3.1": + "integrity" "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + "resolved" "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" + "version" "2.3.1" + +"pify@^2.3.0": + "integrity" "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" + "resolved" "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" + "version" "2.3.0" + +"pify@^4.0.1": + "integrity" "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" + "resolved" "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz" + "version" "4.0.1" + +"pirates@^4.0.4", "pirates@^4.0.5": + "integrity" "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==" + "resolved" "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz" + "version" "4.0.5" + +"pkg-dir@^3.0.0": + "integrity" "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==" + "resolved" "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "find-up" "^3.0.0" + +"pkg-dir@^4.1.0", "pkg-dir@^4.2.0": + "integrity" "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==" + "resolved" "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" + "version" "4.2.0" + dependencies: + "find-up" "^4.0.0" + +"pkg-up@^3.1.0": + "integrity" "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==" + "resolved" "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "find-up" "^3.0.0" + +"polished@^1.9.3": + "integrity" "sha512-4NmSD7fMFlM8roNxs7YXPv7UFRbYzb0gufR5zBxJLRzY54+zFsavxBo6zsQzP9ep6Hh3pC2pTyrpSTBEaB6IkQ==" + "resolved" "https://registry.npmjs.org/polished/-/polished-1.9.3.tgz" + "version" "1.9.3" + +"posix-character-classes@^0.1.0": + "integrity" "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==" + "resolved" "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz" + "version" "0.1.1" + +"postcss-attribute-case-insensitive@^5.0.2": + "integrity" "sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==" + "resolved" "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz" + "version" "5.0.2" + dependencies: + "postcss-selector-parser" "^6.0.10" + +"postcss-browser-comments@^4": + "integrity" "sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg==" + "resolved" "https://registry.npmjs.org/postcss-browser-comments/-/postcss-browser-comments-4.0.0.tgz" + "version" "4.0.0" + +"postcss-calc@^8.2.3": + "integrity" "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==" + "resolved" "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz" + "version" "8.2.4" + dependencies: + "postcss-selector-parser" "^6.0.9" + "postcss-value-parser" "^4.2.0" + +"postcss-clamp@^4.1.0": + "integrity" "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==" + "resolved" "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz" + "version" "4.1.0" + dependencies: + "postcss-value-parser" "^4.2.0" + +"postcss-color-functional-notation@^4.2.4": + "integrity" "sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==" + "resolved" "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz" + "version" "4.2.4" + dependencies: + "postcss-value-parser" "^4.2.0" -postcss-color-rebeccapurple@^7.1.1: - 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== +"postcss-color-hex-alpha@^8.0.4": + "integrity" "sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==" + "resolved" "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz" + "version" "8.0.4" dependencies: - postcss-value-parser "^4.2.0" - -postcss-colormin@^5.3.0: - version "5.3.0" - resolved "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.0.tgz" - integrity sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg== + "postcss-value-parser" "^4.2.0" + +"postcss-color-rebeccapurple@^7.1.1": + "integrity" "sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==" + "resolved" "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz" + "version" "7.1.1" + dependencies: + "postcss-value-parser" "^4.2.0" + +"postcss-colormin@^5.3.0": + "version" "5.3.0" dependencies: - browserslist "^4.16.6" - caniuse-api "^3.0.0" - colord "^2.9.1" - postcss-value-parser "^4.2.0" + "browserslist" "^4.16.6" + "caniuse-api" "^3.0.0" + "colord" "^2.9.1" + "postcss-value-parser" "^4.2.0" -postcss-convert-values@^5.1.3: - version "5.1.3" - resolved "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz" - integrity sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA== +"postcss-convert-values@^5.1.3": + "integrity" "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==" + "resolved" "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz" + "version" "5.1.3" dependencies: - browserslist "^4.21.4" - postcss-value-parser "^4.2.0" + "browserslist" "^4.21.4" + "postcss-value-parser" "^4.2.0" -postcss-custom-media@^8.0.2: - version "8.0.2" - resolved "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz" - integrity sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg== +"postcss-custom-media@^8.0.2": + "integrity" "sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==" + "resolved" "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz" + "version" "8.0.2" dependencies: - postcss-value-parser "^4.2.0" + "postcss-value-parser" "^4.2.0" -postcss-custom-properties@^12.1.10: - version "12.1.11" - resolved "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz" - integrity sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ== +"postcss-custom-properties@^12.1.10": + "integrity" "sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==" + "resolved" "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz" + "version" "12.1.11" dependencies: - postcss-value-parser "^4.2.0" + "postcss-value-parser" "^4.2.0" -postcss-custom-selectors@^6.0.3: - version "6.0.3" - resolved "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz" - integrity sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg== +"postcss-custom-selectors@^6.0.3": + "integrity" "sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==" + "resolved" "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz" + "version" "6.0.3" dependencies: - postcss-selector-parser "^6.0.4" + "postcss-selector-parser" "^6.0.4" -postcss-dir-pseudo-class@^6.0.5: - 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== +"postcss-dir-pseudo-class@^6.0.5": + "integrity" "sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==" + "resolved" "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz" + "version" "6.0.5" dependencies: - postcss-selector-parser "^6.0.10" + "postcss-selector-parser" "^6.0.10" -postcss-discard-comments@^5.1.2: - version "5.1.2" - resolved "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz" - integrity sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ== +"postcss-discard-comments@^5.1.2": + "integrity" "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==" + "resolved" "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz" + "version" "5.1.2" -postcss-discard-duplicates@^5.1.0: - version "5.1.0" - resolved "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz" - integrity sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw== +"postcss-discard-duplicates@^5.1.0": + "integrity" "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==" + "resolved" "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz" + "version" "5.1.0" -postcss-discard-empty@^5.1.1: - 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-empty@^5.1.1": + "integrity" "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==" + "resolved" "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz" + "version" "5.1.1" -postcss-discard-overridden@^5.1.0: - version "5.1.0" - resolved "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz" - integrity sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw== +"postcss-discard-overridden@^5.1.0": + "integrity" "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==" + "resolved" "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz" + "version" "5.1.0" -postcss-double-position-gradients@^3.1.2: - 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== +"postcss-double-position-gradients@^3.1.2": + "integrity" "sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==" + "resolved" "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz" + "version" "3.1.2" dependencies: "@csstools/postcss-progressive-custom-properties" "^1.1.0" - postcss-value-parser "^4.2.0" + "postcss-value-parser" "^4.2.0" -postcss-env-function@^4.0.6: - 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== +"postcss-env-function@^4.0.6": + "integrity" "sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==" + "resolved" "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-4.0.6.tgz" + "version" "4.0.6" dependencies: - postcss-value-parser "^4.2.0" + "postcss-value-parser" "^4.2.0" -postcss-flexbugs-fixes@^5.0.2: - version "5.0.2" - resolved "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz" - integrity sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ== +"postcss-flexbugs-fixes@^5.0.2": + "integrity" "sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==" + "resolved" "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz" + "version" "5.0.2" -postcss-focus-visible@^6.0.4: - 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== +"postcss-focus-visible@^6.0.4": + "integrity" "sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==" + "resolved" "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz" + "version" "6.0.4" dependencies: - postcss-selector-parser "^6.0.9" + "postcss-selector-parser" "^6.0.9" -postcss-focus-within@^5.0.4: - 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== +"postcss-focus-within@^5.0.4": + "integrity" "sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==" + "resolved" "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz" + "version" "5.0.4" dependencies: - postcss-selector-parser "^6.0.9" + "postcss-selector-parser" "^6.0.9" -postcss-font-variant@^5.0.0: - 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-font-variant@^5.0.0": + "integrity" "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==" + "resolved" "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz" + "version" "5.0.0" -postcss-gap-properties@^3.0.5: - version "3.0.5" - resolved "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz" - integrity sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg== +"postcss-gap-properties@^3.0.5": + "integrity" "sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==" + "resolved" "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz" + "version" "3.0.5" -postcss-image-set-function@^4.0.7: - 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== +"postcss-image-set-function@^4.0.7": + "integrity" "sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==" + "resolved" "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz" + "version" "4.0.7" dependencies: - postcss-value-parser "^4.2.0" + "postcss-value-parser" "^4.2.0" -postcss-import@^14.1.0: - version "14.1.0" - resolved "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz" - integrity sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw== +"postcss-import@^14.1.0": + "version" "14.1.0" dependencies: - postcss-value-parser "^4.0.0" - read-cache "^1.0.0" - resolve "^1.1.7" + "postcss-value-parser" "^4.0.0" + "read-cache" "^1.0.0" + "resolve" "^1.1.7" -postcss-initial@^4.0.1: - 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-initial@^4.0.1": + "integrity" "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==" + "resolved" "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz" + "version" "4.0.1" -postcss-js@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.0.tgz" - integrity sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ== +"postcss-js@^4.0.0": + "version" "4.0.0" dependencies: - camelcase-css "^2.0.1" + "camelcase-css" "^2.0.1" -postcss-lab-function@^4.2.1: - version "4.2.1" - resolved "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz" - integrity sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w== +"postcss-lab-function@^4.2.1": + "integrity" "sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==" + "resolved" "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz" + "version" "4.2.1" dependencies: "@csstools/postcss-progressive-custom-properties" "^1.1.0" - postcss-value-parser "^4.2.0" - -postcss-load-config@^3.1.4: - version "3.1.4" - resolved "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz" - integrity sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg== + "postcss-value-parser" "^4.2.0" + +"postcss-load-config@^3.1.4": + "version" "3.1.4" dependencies: - lilconfig "^2.0.5" - yaml "^1.10.2" - -postcss-loader@^6.2.1: - version "6.2.1" - resolved "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz" - integrity sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q== + "lilconfig" "^2.0.5" + "yaml" "^1.10.2" + +"postcss-loader@^6.2.1": + "integrity" "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==" + "resolved" "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz" + "version" "6.2.1" dependencies: - cosmiconfig "^7.0.0" - klona "^2.0.5" - semver "^7.3.5" + "cosmiconfig" "^7.0.0" + "klona" "^2.0.5" + "semver" "^7.3.5" -postcss-logical@^5.0.4: - version "5.0.4" - resolved "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz" - integrity sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g== +"postcss-logical@^5.0.4": + "integrity" "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==" + "resolved" "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz" + "version" "5.0.4" -postcss-media-minmax@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz" - integrity sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ== +"postcss-media-minmax@^5.0.0": + "integrity" "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==" + "resolved" "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz" + "version" "5.0.0" -postcss-merge-longhand@^5.1.7: - 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== +"postcss-merge-longhand@^5.1.7": + "integrity" "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==" + "resolved" "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz" + "version" "5.1.7" dependencies: - postcss-value-parser "^4.2.0" - stylehacks "^5.1.1" + "postcss-value-parser" "^4.2.0" + "stylehacks" "^5.1.1" -postcss-merge-rules@^5.1.3: - version "5.1.3" - resolved "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.3.tgz" - integrity sha512-LbLd7uFC00vpOuMvyZop8+vvhnfRGpp2S+IMQKeuOZZapPRY4SMq5ErjQeHbHsjCUgJkRNrlU+LmxsKIqPKQlA== +"postcss-merge-rules@^5.1.3": + "version" "5.1.3" dependencies: - browserslist "^4.21.4" - caniuse-api "^3.0.0" - cssnano-utils "^3.1.0" - postcss-selector-parser "^6.0.5" + "browserslist" "^4.21.4" + "caniuse-api" "^3.0.0" + "cssnano-utils" "^3.1.0" + "postcss-selector-parser" "^6.0.5" -postcss-minify-font-values@^5.1.0: - 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== +"postcss-minify-font-values@^5.1.0": + "integrity" "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==" + "resolved" "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz" + "version" "5.1.0" dependencies: - postcss-value-parser "^4.2.0" + "postcss-value-parser" "^4.2.0" -postcss-minify-gradients@^5.1.1: - 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== +"postcss-minify-gradients@^5.1.1": + "integrity" "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==" + "resolved" "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz" + "version" "5.1.1" dependencies: - colord "^2.9.1" - cssnano-utils "^3.1.0" - postcss-value-parser "^4.2.0" + "colord" "^2.9.1" + "cssnano-utils" "^3.1.0" + "postcss-value-parser" "^4.2.0" -postcss-minify-params@^5.1.4: - version "5.1.4" - resolved "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz" - integrity sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw== +"postcss-minify-params@^5.1.4": + "integrity" "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==" + "resolved" "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz" + "version" "5.1.4" dependencies: - browserslist "^4.21.4" - cssnano-utils "^3.1.0" - postcss-value-parser "^4.2.0" + "browserslist" "^4.21.4" + "cssnano-utils" "^3.1.0" + "postcss-value-parser" "^4.2.0" -postcss-minify-selectors@^5.2.1: - version "5.2.1" - resolved "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz" - integrity sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg== +"postcss-minify-selectors@^5.2.1": + "integrity" "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==" + "resolved" "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz" + "version" "5.2.1" dependencies: - postcss-selector-parser "^6.0.5" + "postcss-selector-parser" "^6.0.5" -postcss-modules-extract-imports@^3.0.0: - 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-extract-imports@^3.0.0": + "integrity" "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==" + "resolved" "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz" + "version" "3.0.0" -postcss-modules-local-by-default@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz" - integrity sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ== +"postcss-modules-local-by-default@^4.0.0": + "version" "4.0.0" dependencies: - icss-utils "^5.0.0" - postcss-selector-parser "^6.0.2" - postcss-value-parser "^4.1.0" + "icss-utils" "^5.0.0" + "postcss-selector-parser" "^6.0.2" + "postcss-value-parser" "^4.1.0" -postcss-modules-scope@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz" - integrity sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg== +"postcss-modules-scope@^3.0.0": + "integrity" "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==" + "resolved" "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz" + "version" "3.0.0" dependencies: - postcss-selector-parser "^6.0.4" + "postcss-selector-parser" "^6.0.4" -postcss-modules-values@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz" - integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ== +"postcss-modules-values@^4.0.0": + "integrity" "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==" + "resolved" "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz" + "version" "4.0.0" dependencies: - icss-utils "^5.0.0" + "icss-utils" "^5.0.0" -postcss-nested@6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.0.tgz" - integrity sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w== - dependencies: - postcss-selector-parser "^6.0.10" +"postcss-nested@6.0.0": + "version" "6.0.0" + dependencies: + "postcss-selector-parser" "^6.0.10" -postcss-nesting@^10.2.0: - version "10.2.0" - resolved "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.2.0.tgz" - integrity sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA== +"postcss-nesting@^10.2.0": + "integrity" "sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==" + "resolved" "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.2.0.tgz" + "version" "10.2.0" dependencies: "@csstools/selector-specificity" "^2.0.0" - postcss-selector-parser "^6.0.10" + "postcss-selector-parser" "^6.0.10" -postcss-normalize-charset@^5.1.0: - 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-charset@^5.1.0": + "integrity" "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==" + "resolved" "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz" + "version" "5.1.0" -postcss-normalize-display-values@^5.1.0: - 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== +"postcss-normalize-display-values@^5.1.0": + "integrity" "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==" + "resolved" "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz" + "version" "5.1.0" dependencies: - postcss-value-parser "^4.2.0" + "postcss-value-parser" "^4.2.0" -postcss-normalize-positions@^5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz" - integrity sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg== +"postcss-normalize-positions@^5.1.1": + "integrity" "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==" + "resolved" "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz" + "version" "5.1.1" dependencies: - postcss-value-parser "^4.2.0" + "postcss-value-parser" "^4.2.0" -postcss-normalize-repeat-style@^5.1.1: - 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== +"postcss-normalize-repeat-style@^5.1.1": + "integrity" "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==" + "resolved" "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz" + "version" "5.1.1" dependencies: - postcss-value-parser "^4.2.0" + "postcss-value-parser" "^4.2.0" -postcss-normalize-string@^5.1.0: - 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== +"postcss-normalize-string@^5.1.0": + "integrity" "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==" + "resolved" "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz" + "version" "5.1.0" dependencies: - postcss-value-parser "^4.2.0" + "postcss-value-parser" "^4.2.0" -postcss-normalize-timing-functions@^5.1.0: - 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== +"postcss-normalize-timing-functions@^5.1.0": + "integrity" "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==" + "resolved" "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz" + "version" "5.1.0" dependencies: - postcss-value-parser "^4.2.0" + "postcss-value-parser" "^4.2.0" -postcss-normalize-unicode@^5.1.1: - 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== +"postcss-normalize-unicode@^5.1.1": + "integrity" "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==" + "resolved" "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz" + "version" "5.1.1" dependencies: - browserslist "^4.21.4" - postcss-value-parser "^4.2.0" + "browserslist" "^4.21.4" + "postcss-value-parser" "^4.2.0" -postcss-normalize-url@^5.1.0: - version "5.1.0" - resolved "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz" - integrity sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew== +"postcss-normalize-url@^5.1.0": + "integrity" "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==" + "resolved" "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz" + "version" "5.1.0" dependencies: - normalize-url "^6.0.1" - postcss-value-parser "^4.2.0" + "normalize-url" "^6.0.1" + "postcss-value-parser" "^4.2.0" -postcss-normalize-whitespace@^5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz" - integrity sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA== +"postcss-normalize-whitespace@^5.1.1": + "integrity" "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==" + "resolved" "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz" + "version" "5.1.1" dependencies: - postcss-value-parser "^4.2.0" + "postcss-value-parser" "^4.2.0" -postcss-normalize@^10.0.1: - version "10.0.1" - resolved "https://registry.npmjs.org/postcss-normalize/-/postcss-normalize-10.0.1.tgz" - integrity sha512-+5w18/rDev5mqERcG3W5GZNMJa1eoYYNGo8gB7tEwaos0ajk3ZXAI4mHGcNT47NE+ZnZD1pEpUOFLvltIwmeJA== +"postcss-normalize@^10.0.1": + "integrity" "sha512-+5w18/rDev5mqERcG3W5GZNMJa1eoYYNGo8gB7tEwaos0ajk3ZXAI4mHGcNT47NE+ZnZD1pEpUOFLvltIwmeJA==" + "resolved" "https://registry.npmjs.org/postcss-normalize/-/postcss-normalize-10.0.1.tgz" + "version" "10.0.1" dependencies: "@csstools/normalize.css" "*" - postcss-browser-comments "^4" - sanitize.css "*" + "postcss-browser-comments" "^4" + "sanitize.css" "*" -postcss-opacity-percentage@^1.1.2: - 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-opacity-percentage@^1.1.2": + "integrity" "sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A==" + "resolved" "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.3.tgz" + "version" "1.1.3" -postcss-ordered-values@^5.1.3: - version "5.1.3" - resolved "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz" - integrity sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ== +"postcss-ordered-values@^5.1.3": + "integrity" "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==" + "resolved" "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz" + "version" "5.1.3" dependencies: - cssnano-utils "^3.1.0" - postcss-value-parser "^4.2.0" + "cssnano-utils" "^3.1.0" + "postcss-value-parser" "^4.2.0" -postcss-overflow-shorthand@^3.0.4: - version "3.0.4" - resolved "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz" - integrity sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A== +"postcss-overflow-shorthand@^3.0.4": + "integrity" "sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==" + "resolved" "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz" + "version" "3.0.4" dependencies: - postcss-value-parser "^4.2.0" + "postcss-value-parser" "^4.2.0" -postcss-page-break@^3.0.4: - 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-page-break@^3.0.4": + "integrity" "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==" + "resolved" "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz" + "version" "3.0.4" -postcss-place@^7.0.5: - version "7.0.5" - resolved "https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.5.tgz" - integrity sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g== +"postcss-place@^7.0.5": + "integrity" "sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==" + "resolved" "https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.5.tgz" + "version" "7.0.5" dependencies: - postcss-value-parser "^4.2.0" + "postcss-value-parser" "^4.2.0" -postcss-preset-env@^7.0.1: - version "7.8.3" - resolved "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.8.3.tgz" - integrity sha512-T1LgRm5uEVFSEF83vHZJV2z19lHg4yJuZ6gXZZkqVsqv63nlr6zabMH3l4Pc01FQCyfWVrh2GaUeCVy9Po+Aag== +"postcss-preset-env@^7.0.1": + "integrity" "sha512-T1LgRm5uEVFSEF83vHZJV2z19lHg4yJuZ6gXZZkqVsqv63nlr6zabMH3l4Pc01FQCyfWVrh2GaUeCVy9Po+Aag==" + "resolved" "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.8.3.tgz" + "version" "7.8.3" dependencies: "@csstools/postcss-cascade-layers" "^1.1.1" "@csstools/postcss-color-function" "^1.1.1" @@ -10107,2057 +11490,2552 @@ postcss-preset-env@^7.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@^7.1.6: - 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== - dependencies: - postcss-selector-parser "^6.0.10" - -postcss-reduce-initial@^5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.1.tgz" - integrity sha512-//jeDqWcHPuXGZLoolFrUXBDyuEGbr9S2rMo19bkTIjBQ4PqkaO+oI8wua5BOUxpfi97i3PCoInsiFIEBfkm9w== - dependencies: - browserslist "^4.21.4" - caniuse-api "^3.0.0" - -postcss-reduce-transforms@^5.1.0: - version "5.1.0" - resolved "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz" - integrity sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-replace-overflow-wrap@^4.0.0: - 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@^6.0.1: - 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== - dependencies: - postcss-selector-parser "^6.0.10" - -postcss-selector-parser@^6.0.10, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5, postcss-selector-parser@^6.0.9: - version "6.0.11" - resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz" - integrity sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g== - dependencies: - cssesc "^3.0.0" - util-deprecate "^1.0.2" - -postcss-svgo@^5.1.0: - version "5.1.0" - resolved "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz" - integrity sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA== - dependencies: - postcss-value-parser "^4.2.0" - svgo "^2.7.0" - -postcss-unique-selectors@^5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz" - integrity sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA== - dependencies: - postcss-selector-parser "^6.0.5" - -postcss-value-parser@^4.0.0, postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: - version "4.2.0" - resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz" - integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== - -postcss@^7.0.35: - version "7.0.39" - resolved "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz" - integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== - dependencies: - picocolors "^0.2.1" - source-map "^0.6.1" - -postcss@^8.3.5, postcss@^8.4.18, postcss@^8.4.19, postcss@^8.4.4: - version "8.4.21" - resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz" - integrity sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg== - dependencies: - nanoid "^3.3.4" - picocolors "^1.0.0" - source-map-js "^1.0.2" - -prelude-ls@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" - integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== - -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz" - integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w== - -prettier@^2.6.1: - version "2.6.1" - resolved "https://registry.npmjs.org/prettier/-/prettier-2.6.1.tgz" - integrity sha512-8UVbTBYGwN37Bs9LERmxCPjdvPxlEowx2urIL6urHzdb3SDq4B/Z6xLFCblrSnE4iKWcS6ziJ3aOYrc1kz/E2A== - -pretty-bytes@^5.3.0, pretty-bytes@^5.4.1: - version "5.6.0" - resolved "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz" - integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg== + "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@^7.1.6": + "integrity" "sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==" + "resolved" "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz" + "version" "7.1.6" + dependencies: + "postcss-selector-parser" "^6.0.10" + +"postcss-reduce-initial@^5.1.1": + "version" "5.1.1" + dependencies: + "browserslist" "^4.21.4" + "caniuse-api" "^3.0.0" + +"postcss-reduce-transforms@^5.1.0": + "integrity" "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==" + "resolved" "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz" + "version" "5.1.0" + dependencies: + "postcss-value-parser" "^4.2.0" + +"postcss-replace-overflow-wrap@^4.0.0": + "integrity" "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==" + "resolved" "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz" + "version" "4.0.0" + +"postcss-selector-not@^6.0.1": + "integrity" "sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==" + "resolved" "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz" + "version" "6.0.1" + dependencies: + "postcss-selector-parser" "^6.0.10" + +"postcss-selector-parser@^6.0.10", "postcss-selector-parser@^6.0.2", "postcss-selector-parser@^6.0.4", "postcss-selector-parser@^6.0.5", "postcss-selector-parser@^6.0.9": + "version" "6.0.11" + dependencies: + "cssesc" "^3.0.0" + "util-deprecate" "^1.0.2" + +"postcss-svgo@^5.1.0": + "integrity" "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==" + "resolved" "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz" + "version" "5.1.0" + dependencies: + "postcss-value-parser" "^4.2.0" + "svgo" "^2.7.0" + +"postcss-unique-selectors@^5.1.1": + "integrity" "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==" + "resolved" "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz" + "version" "5.1.1" + dependencies: + "postcss-selector-parser" "^6.0.5" + +"postcss-value-parser@^4.0.0", "postcss-value-parser@^4.1.0", "postcss-value-parser@^4.2.0": + "integrity" "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + "resolved" "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz" + "version" "4.2.0" + +"postcss@^7.0.0 || ^8.0.1", "postcss@^8", "postcss@^8.0.0", "postcss@^8.0.3", "postcss@^8.0.9", "postcss@^8.1.0", "postcss@^8.1.4", "postcss@^8.2", "postcss@^8.2.14", "postcss@^8.2.15", "postcss@^8.2.2", "postcss@^8.3", "postcss@^8.3.3", "postcss@^8.3.5", "postcss@^8.4", "postcss@^8.4.18", "postcss@^8.4.19", "postcss@^8.4.4", "postcss@^8.4.6", "postcss@>= 8", "postcss@>=8", "postcss@>=8.0.9": + "version" "8.4.21" + dependencies: + "nanoid" "^3.3.4" + "picocolors" "^1.0.0" + "source-map-js" "^1.0.2" + +"postcss@^7.0.35": + "integrity" "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==" + "resolved" "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz" + "version" "7.0.39" + dependencies: + "picocolors" "^0.2.1" + "source-map" "^0.6.1" + +"prelude-ls@^1.2.1": + "integrity" "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==" + "resolved" "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" + "version" "1.2.1" + +"prelude-ls@~1.1.2": + "integrity" "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==" + "resolved" "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz" + "version" "1.1.2" + +"prettier@^2.6.1": + "version" "2.8.7" + +"pretty-bytes@^5.3.0", "pretty-bytes@^5.4.1": + "integrity" "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==" + "resolved" "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz" + "version" "5.6.0" + +"pretty-error@^4.0.0": + "integrity" "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==" + "resolved" "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "lodash" "^4.17.20" + "renderkid" "^3.0.0" -pretty-error@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz" - integrity sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw== +"pretty-format@^26.5.2": + "integrity" "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==" + "resolved" "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz" + "version" "26.6.2" dependencies: - lodash "^4.17.20" - renderkid "^3.0.0" + "@jest/types" "^26.6.2" + "ansi-regex" "^5.0.0" + "ansi-styles" "^4.0.0" + "react-is" "^17.0.1" + +"pretty-format@^26.6.2": + "integrity" "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==" + "resolved" "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz" + "version" "26.6.2" + dependencies: + "@jest/types" "^26.6.2" + "ansi-regex" "^5.0.0" + "ansi-styles" "^4.0.0" + "react-is" "^17.0.1" -pretty-format@^27.0.0, pretty-format@^27.0.2, pretty-format@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz" - integrity sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ== +"pretty-format@^27.0.0", "pretty-format@^27.0.2", "pretty-format@^27.5.1": + "integrity" "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==" + "resolved" "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz" + "version" "27.5.1" dependencies: - ansi-regex "^5.0.1" - ansi-styles "^5.0.0" - react-is "^17.0.1" - -pretty-format@^28.1.3: - version "28.1.3" - resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz" - integrity sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q== + "ansi-regex" "^5.0.1" + "ansi-styles" "^5.0.0" + "react-is" "^17.0.1" + +"pretty-format@^28.1.3": + "integrity" "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==" + "resolved" "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz" + "version" "28.1.3" dependencies: "@jest/schemas" "^28.1.3" - ansi-regex "^5.0.1" - ansi-styles "^5.0.0" - react-is "^18.0.0" - -process-nextick-args@~2.0.0: - 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@^8.1.0: - version "8.3.0" - resolved "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz" - integrity sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg== - dependencies: - asap "~2.0.6" - -prompts@^2.0.1, prompts@^2.4.2: - version "2.4.2" - resolved "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz" - integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.5" - -prop-types@^15.5.7, prop-types@^15.5.8, prop-types@^15.6.0, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2, prop-types@^15.8.1: - version "15.8.1" - resolved "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz" - integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== - dependencies: - loose-envify "^1.4.0" - object-assign "^4.1.1" - react-is "^16.13.1" - -property-expr@^2.0.4: - version "2.0.5" - resolved "https://registry.npmjs.org/property-expr/-/property-expr-2.0.5.tgz" - integrity sha512-IJUkICM5dP5znhCckHSv30Q4b5/JA5enCtkRHYaOVOAocnH/1BQEYTC5NMfT3AVl/iXKdr3aqQbQn9DxyWknwA== - -proxy-addr@~2.0.7: - 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== - dependencies: - forwarded "0.2.0" - ipaddr.js "1.9.1" - -psl@^1.1.33: - version "1.9.0" - resolved "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz" - integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== - -punycode@1.3.2: - version "1.3.2" - resolved "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz" - integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= - -punycode@^2.1.0, punycode@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - -q@^1.1.2: - version "1.5.1" - resolved "https://registry.npmjs.org/q/-/q-1.5.1.tgz" - integrity sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw== - -qs@6.11.0: - version "6.11.0" - resolved "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz" - integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== - dependencies: - side-channel "^1.0.4" - -querystring@0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz" - integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= - -querystring@^0.2.0: - version "0.2.1" - resolved "https://registry.npmjs.org/querystring/-/querystring-0.2.1.tgz" - integrity sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg== - -querystringify@^2.1.1: - version "2.2.0" - resolved "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz" - integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== - -queue-microtask@^1.2.2: - version "1.2.3" - resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" - integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== - -quick-lru@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz" - integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== - -quick-lru@^5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz" - integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== - -raf@^3.4.1: - version "3.4.1" - resolved "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz" - integrity sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA== - dependencies: - performance-now "^2.1.0" - -randombytes@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" - -range-parser@^1.2.1, range-parser@~1.2.1: - 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@2.5.1: - version "2.5.1" - resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz" - integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== - dependencies: - bytes "3.1.2" - http-errors "2.0.0" - iconv-lite "0.4.24" - unpipe "1.0.0" - -react-apexcharts@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/react-apexcharts/-/react-apexcharts-1.4.0.tgz" - integrity sha512-DrcMV4aAMrUG+n6412yzyATWEyCDWlpPBBhVbpzBC4PDeuYU6iF84SmExbck+jx5MUm4U5PM3/T307Mc3kzc9Q== - dependencies: - prop-types "^15.5.7" - -react-app-polyfill@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-3.0.0.tgz" - integrity sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w== - dependencies: - 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" - -react-copy-to-clipboard@^5.0.4: - version "5.0.4" - resolved "https://registry.npmjs.org/react-copy-to-clipboard/-/react-copy-to-clipboard-5.0.4.tgz" - integrity sha512-IeVAiNVKjSPeGax/Gmkqfa/+PuMTBhutEvFUaMQLwE2tS0EXrAdgOpWDX26bWTXF3HrioorR7lr08NqeYUWQCQ== - dependencies: - copy-to-clipboard "^3" - prop-types "^15.5.8" - -react-day-picker@^7.0.5: - version "7.4.10" - resolved "https://registry.npmjs.org/react-day-picker/-/react-day-picker-7.4.10.tgz" - integrity sha512-/QkK75qLKdyLmv0kcVzhL7HoJPazoZXS8a6HixbVoK6vWey1Od1WRLcxfyEiUsRfccAlIlf6oKHShqY2SM82rA== - dependencies: - prop-types "^15.6.2" - -react-dev-utils@^12.0.1: - 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== + "ansi-regex" "^5.0.1" + "ansi-styles" "^5.0.0" + "react-is" "^18.0.0" + +"pretty-format@^29.5.0": + "integrity" "sha512-V2mGkI31qdttvTFX7Mt4efOqHXqJWMu4/r66Xh3Z3BwZaPfPJgp6/gbwoujRpPUtfEF6AUUWx3Jim3GCw5g/Qw==" + "resolved" "https://registry.npmjs.org/pretty-format/-/pretty-format-29.5.0.tgz" + "version" "29.5.0" + dependencies: + "@jest/schemas" "^29.4.3" + "ansi-styles" "^5.0.0" + "react-is" "^18.0.0" + +"process-nextick-args@~2.0.0": + "integrity" "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + "resolved" "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" + "version" "2.0.1" + +"promise@^8.1.0", "promise@^8.3.0": + "integrity" "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==" + "resolved" "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz" + "version" "8.3.0" + dependencies: + "asap" "~2.0.6" + +"prompts@^2.0.1", "prompts@^2.4.0", "prompts@^2.4.2": + "integrity" "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==" + "resolved" "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz" + "version" "2.4.2" + dependencies: + "kleur" "^3.0.3" + "sisteransi" "^1.0.5" + +"prop-types@*", "prop-types@^15.5.10", "prop-types@^15.5.7", "prop-types@^15.5.8", "prop-types@^15.6.0", "prop-types@^15.6.1", "prop-types@^15.6.2", "prop-types@^15.7.2", "prop-types@^15.8.1", "prop-types@>=15": + "integrity" "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==" + "resolved" "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz" + "version" "15.8.1" + dependencies: + "loose-envify" "^1.4.0" + "object-assign" "^4.1.1" + "react-is" "^16.13.1" + +"property-expr@^2.0.4": + "integrity" "sha512-IJUkICM5dP5znhCckHSv30Q4b5/JA5enCtkRHYaOVOAocnH/1BQEYTC5NMfT3AVl/iXKdr3aqQbQn9DxyWknwA==" + "resolved" "https://registry.npmjs.org/property-expr/-/property-expr-2.0.5.tgz" + "version" "2.0.5" + +"proxy-addr@~2.0.7": + "integrity" "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==" + "resolved" "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz" + "version" "2.0.7" + dependencies: + "forwarded" "0.2.0" + "ipaddr.js" "1.9.1" + +"psl@^1.1.33": + "integrity" "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" + "resolved" "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz" + "version" "1.9.0" + +"pump@^3.0.0": + "integrity" "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==" + "resolved" "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "end-of-stream" "^1.1.0" + "once" "^1.3.1" + +"punycode@^2.1.0", "punycode@^2.1.1": + "version" "2.1.1" + +"punycode@1.3.2": + "integrity" "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==" + "resolved" "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz" + "version" "1.3.2" + +"q@^1.1.2": + "integrity" "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==" + "resolved" "https://registry.npmjs.org/q/-/q-1.5.1.tgz" + "version" "1.5.1" + +"qs@6.11.0": + "integrity" "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==" + "resolved" "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz" + "version" "6.11.0" + dependencies: + "side-channel" "^1.0.4" + +"querystring@^0.2.0": + "integrity" "sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==" + "resolved" "https://registry.npmjs.org/querystring/-/querystring-0.2.1.tgz" + "version" "0.2.1" + +"querystring@0.2.0": + "integrity" "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==" + "resolved" "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz" + "version" "0.2.0" + +"querystringify@^2.1.1": + "integrity" "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" + "resolved" "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz" + "version" "2.2.0" + +"queue-microtask@^1.2.2": + "integrity" "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" + "resolved" "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" + "version" "1.2.3" + +"quick-lru@^4.0.1": + "integrity" "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==" + "resolved" "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz" + "version" "4.0.1" + +"quick-lru@^5.1.1": + "version" "5.1.1" + +"raf@^3.4.1": + "integrity" "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==" + "resolved" "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz" + "version" "3.4.1" + dependencies: + "performance-now" "^2.1.0" + +"randombytes@^2.1.0": + "integrity" "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==" + "resolved" "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "safe-buffer" "^5.1.0" + +"range-parser@^1.2.1", "range-parser@~1.2.1": + "integrity" "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + "resolved" "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz" + "version" "1.2.1" + +"raw-body@2.5.1": + "integrity" "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==" + "resolved" "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz" + "version" "2.5.1" + dependencies: + "bytes" "3.1.2" + "http-errors" "2.0.0" + "iconv-lite" "0.4.24" + "unpipe" "1.0.0" + +"react-apexcharts@^1.4.0": + "integrity" "sha512-DrcMV4aAMrUG+n6412yzyATWEyCDWlpPBBhVbpzBC4PDeuYU6iF84SmExbck+jx5MUm4U5PM3/T307Mc3kzc9Q==" + "resolved" "https://registry.npmjs.org/react-apexcharts/-/react-apexcharts-1.4.0.tgz" + "version" "1.4.0" + dependencies: + "prop-types" "^15.5.7" + +"react-app-polyfill@^3.0.0": + "integrity" "sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w==" + "resolved" "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "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" + +"react-copy-to-clipboard@^5.0.4": + "version" "5.0.4" + dependencies: + "copy-to-clipboard" "^3" + "prop-types" "^15.5.8" + +"react-day-picker@^7.0.5": + "integrity" "sha512-/QkK75qLKdyLmv0kcVzhL7HoJPazoZXS8a6HixbVoK6vWey1Od1WRLcxfyEiUsRfccAlIlf6oKHShqY2SM82rA==" + "resolved" "https://registry.npmjs.org/react-day-picker/-/react-day-picker-7.4.10.tgz" + "version" "7.4.10" + dependencies: + "prop-types" "^15.6.2" + +"react-dev-utils@^12.0.1": + "integrity" "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==" + "resolved" "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz" + "version" "12.0.1" dependencies: "@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" - -react-dom@^17.0.2: - version "17.0.2" - resolved "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz" - integrity sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA== - dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - scheduler "^0.20.2" - -react-dropzone@^12.0.4: - version "12.0.4" - resolved "https://registry.npmjs.org/react-dropzone/-/react-dropzone-12.0.4.tgz" - integrity sha512-fcqHEYe1MzAghU6/Hz86lHDlBNsA+lO48nAcm7/wA+kIzwS6uuJbUG33tBZjksj7GAZ1iUQ6NHwjUURPmSGang== - dependencies: - attr-accept "^2.2.2" - file-selector "^0.4.0" - prop-types "^15.8.1" - -react-error-overlay@^6.0.11: - 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-fast-compare@^2.0.1: - version "2.0.4" - resolved "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-2.0.4.tgz" - integrity sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw== - -react-fast-compare@^3.2.0: - version "3.2.0" - resolved "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.0.tgz" - integrity sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA== - -react-helmet-async@^1.2.3: - version "1.2.3" - resolved "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.2.3.tgz" - integrity sha512-mCk2silF53Tq/YaYdkl2sB+/tDoPnaxN7dFS/6ZLJb/rhUY2EWGI5Xj2b4jHppScMqY45MbgPSwTxDchKpZ5Kw== + "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" + +"react-devtools-core@^4.26.1": + "integrity" "sha512-KwoH8/wN/+m5wTItLnsgVraGNmFrcTWR3k1VimP1HjtMMw4CNF+F5vg4S/0tzTEKIdpCi2R7mPNTC+/dswZMgw==" + "resolved" "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-4.27.8.tgz" + "version" "4.27.8" + dependencies: + "shell-quote" "^1.6.1" + "ws" "^7" + +"react-dom@*", "react-dom@^0.14.9 || ^15.3.0 || ^16.0.0-rc || ^16.0 || ^17.0", "react-dom@^16.6.0 || ^17.0.0", "react-dom@^16.8.0 || ^17.0.0", "react-dom@^17.0.0", "react-dom@^17.0.2", "react-dom@^17.0.2 || ^18.0.0", "react-dom@>=15", "react-dom@>=16.6.0", "react-dom@>=16.8": + "integrity" "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==" + "resolved" "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz" + "version" "17.0.2" + dependencies: + "loose-envify" "^1.1.0" + "object-assign" "^4.1.1" + "scheduler" "^0.20.2" + +"react-dropzone@^12.0.4": + "version" "12.0.4" + dependencies: + "attr-accept" "^2.2.2" + "file-selector" "^0.4.0" + "prop-types" "^15.8.1" + +"react-error-overlay@^6.0.11": + "integrity" "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" + "resolved" "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz" + "version" "6.0.11" + +"react-fast-compare@^2.0.1": + "integrity" "sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw==" + "resolved" "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-2.0.4.tgz" + "version" "2.0.4" + +"react-fast-compare@^3.2.0": + "version" "3.2.0" + +"react-helmet-async@^1.2.3": + "version" "1.2.3" dependencies: "@babel/runtime" "^7.12.5" - invariant "^2.2.4" - prop-types "^15.7.2" - react-fast-compare "^3.2.0" - shallowequal "^1.1.0" - -react-icons@^4.3.1: - version "4.3.1" - resolved "https://registry.npmjs.org/react-icons/-/react-icons-4.3.1.tgz" - integrity sha512-cB10MXLTs3gVuXimblAdI71jrJx8njrJZmNMEMC+sQu5B/BIOmlsAjskdqpn81y8UBVEGuHODd7/ci5DvoSzTQ== - -react-if@^4.1.1: - version "4.1.1" - resolved "https://registry.npmjs.org/react-if/-/react-if-4.1.1.tgz" - integrity sha512-frzHswesRqVVJ2XcGRoLyTvlB2yneib4R/FCqTG8AqBQnFdLNhqNODfzEA84EQZ0XwBAVe82Oe567kxaVmwj5w== - -react-is@^16.13.1, react-is@^16.7.0, react-is@^16.8.2: - version "16.13.1" - resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz" - integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== - -react-is@^17.0.1, react-is@^17.0.2: - version "17.0.2" - resolved "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz" - integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== - -react-is@^18.0.0: - version "18.2.0" - resolved "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz" - integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== - -react-native-get-random-values@^1.4.0: - version "1.7.2" - resolved "https://registry.npmjs.org/react-native-get-random-values/-/react-native-get-random-values-1.7.2.tgz" - integrity sha512-28KRYGpIG/upV8+k/qFA+TwGW+yGjmtOHaCduJHpOQK1QUTyhiA6E2IgL4UvvU2dybeCTYFmUi9wcEQ0GiWe5g== - dependencies: - fast-base64-decode "^1.0.0" - -react-redux@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/react-redux/-/react-redux-6.0.1.tgz" - integrity sha512-T52I52Kxhbqy/6TEfBv85rQSDz6+Y28V/pf52vDWs1YRXG19mcFOGfHnY2HsNFHyhP+ST34Aih98fvt6tqwVcQ== - dependencies: - "@babel/runtime" "^7.3.1" - hoist-non-react-statics "^3.3.0" - invariant "^2.2.4" - loose-envify "^1.4.0" - prop-types "^15.7.2" - react-is "^16.8.2" - -react-redux@^7.2.6: - version "7.2.6" - resolved "https://registry.npmjs.org/react-redux/-/react-redux-7.2.6.tgz" - integrity sha512-10RPdsz0UUrRL1NZE0ejTkucnclYSgXp5q+tB5SWx2qeG2ZJQJyymgAhwKy73yiL/13btfB6fPr+rgbMAaZIAQ== + "invariant" "^2.2.4" + "prop-types" "^15.7.2" + "react-fast-compare" "^3.2.0" + "shallowequal" "^1.1.0" + +"react-icons@^4.3.1": + "version" "4.3.1" + +"react-if@^4.1.1": + "version" "4.1.1" + +"react-is@^16.12.0 || ^17.0.0 || ^18.0.0", "react-is@^17.0.1", "react-is@^17.0.2": + "integrity" "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + "resolved" "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz" + "version" "17.0.2" + +"react-is@^16.13.1": + "integrity" "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + "resolved" "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz" + "version" "16.13.1" + +"react-is@^16.7.0": + "integrity" "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + "resolved" "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz" + "version" "16.13.1" + +"react-is@^18.0.0": + "integrity" "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + "resolved" "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz" + "version" "18.2.0" + +"react-is@^18.2.0": + "integrity" "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + "resolved" "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz" + "version" "18.2.0" + +"react-native-codegen@^0.71.5": + "integrity" "sha512-rfsuc0zkuUuMjFnrT55I1mDZ+pBRp2zAiRwxck3m6qeGJBGK5OV5JH66eDQ4aa+3m0of316CqrJDRzVlYufzIg==" + "resolved" "https://registry.npmjs.org/react-native-codegen/-/react-native-codegen-0.71.5.tgz" + "version" "0.71.5" + dependencies: + "@babel/parser" "^7.14.0" + "flow-parser" "^0.185.0" + "jscodeshift" "^0.13.1" + "nullthrows" "^1.1.1" + +"react-native-get-random-values@^1.4.0": + "integrity" "sha512-+29IR2oxzxNVeaRwCqGZ9ABadzMI8SLTBidrIDXPOkKnm5+kEmLt34QKM4JV+d2usPErvKyS85le0OmGTHnyWQ==" + "resolved" "https://registry.npmjs.org/react-native-get-random-values/-/react-native-get-random-values-1.9.0.tgz" + "version" "1.9.0" + dependencies: + "fast-base64-decode" "^1.0.0" + +"react-native-gradle-plugin@^0.71.19": + "integrity" "sha512-1dVk9NwhoyKHCSxcrM6vY6cxmojeATsBobDicX0ZKr7DgUF2cBQRTKsimQFvzH8XhOVXyH8p4HyDSZNIFI8OlQ==" + "resolved" "https://registry.npmjs.org/react-native-gradle-plugin/-/react-native-gradle-plugin-0.71.19.tgz" + "version" "0.71.19" + +"react-native-url-polyfill@^1.3.0": + "integrity" "sha512-w9JfSkvpqqlix9UjDvJjm1EjSt652zVQ6iwCIj1cVVkwXf4jQhQgTNXY6EVTwuAmUjg6BC6k9RHCBynoLFo3IQ==" + "resolved" "https://registry.npmjs.org/react-native-url-polyfill/-/react-native-url-polyfill-1.3.0.tgz" + "version" "1.3.0" + dependencies: + "whatwg-url-without-unicode" "8.0.0-3" + +"react-native@*": + "integrity" "sha512-++8IxgUe4Ev+bTiFlLfJCdSoE5cReVP1DTpVJ8f/QtzaxA3h1008Y3Xah1Q5vsR4rZcYMO7Pn3af+wOshdQFug==" + "resolved" "https://registry.npmjs.org/react-native/-/react-native-0.71.11.tgz" + "version" "0.71.11" + dependencies: + "@jest/create-cache-key-function" "^29.2.1" + "@react-native-community/cli" "10.2.4" + "@react-native-community/cli-platform-android" "10.2.0" + "@react-native-community/cli-platform-ios" "10.2.4" + "@react-native/assets" "1.0.0" + "@react-native/normalize-color" "2.1.0" + "@react-native/polyfills" "2.0.0" + "abort-controller" "^3.0.0" + "anser" "^1.4.9" + "base64-js" "^1.1.2" + "deprecated-react-native-prop-types" "^3.0.1" + "event-target-shim" "^5.0.1" + "invariant" "^2.2.4" + "jest-environment-node" "^29.2.1" + "jsc-android" "^250231.0.0" + "memoize-one" "^5.0.0" + "metro-react-native-babel-transformer" "0.73.10" + "metro-runtime" "0.73.10" + "metro-source-map" "0.73.10" + "mkdirp" "^0.5.1" + "nullthrows" "^1.1.1" + "pretty-format" "^26.5.2" + "promise" "^8.3.0" + "react-devtools-core" "^4.26.1" + "react-native-codegen" "^0.71.5" + "react-native-gradle-plugin" "^0.71.19" + "react-refresh" "^0.4.0" + "react-shallow-renderer" "^16.15.0" + "regenerator-runtime" "^0.13.2" + "scheduler" "^0.23.0" + "stacktrace-parser" "^0.1.3" + "use-sync-external-store" "^1.0.0" + "whatwg-fetch" "^3.0.0" + "ws" "^6.2.2" + +"react-native@>=0.56": + "integrity" "sha512-++8IxgUe4Ev+bTiFlLfJCdSoE5cReVP1DTpVJ8f/QtzaxA3h1008Y3Xah1Q5vsR4rZcYMO7Pn3af+wOshdQFug==" + "resolved" "https://registry.npmjs.org/react-native/-/react-native-0.71.11.tgz" + "version" "0.71.11" + dependencies: + "@jest/create-cache-key-function" "^29.2.1" + "@react-native-community/cli" "10.2.4" + "@react-native-community/cli-platform-android" "10.2.0" + "@react-native-community/cli-platform-ios" "10.2.4" + "@react-native/assets" "1.0.0" + "@react-native/normalize-color" "2.1.0" + "@react-native/polyfills" "2.0.0" + "abort-controller" "^3.0.0" + "anser" "^1.4.9" + "base64-js" "^1.1.2" + "deprecated-react-native-prop-types" "^3.0.1" + "event-target-shim" "^5.0.1" + "invariant" "^2.2.4" + "jest-environment-node" "^29.2.1" + "jsc-android" "^250231.0.0" + "memoize-one" "^5.0.0" + "metro-react-native-babel-transformer" "0.73.10" + "metro-runtime" "0.73.10" + "metro-source-map" "0.73.10" + "mkdirp" "^0.5.1" + "nullthrows" "^1.1.1" + "pretty-format" "^26.5.2" + "promise" "^8.3.0" + "react-devtools-core" "^4.26.1" + "react-native-codegen" "^0.71.5" + "react-native-gradle-plugin" "^0.71.19" + "react-refresh" "^0.4.0" + "react-shallow-renderer" "^16.15.0" + "regenerator-runtime" "^0.13.2" + "scheduler" "^0.23.0" + "stacktrace-parser" "^0.1.3" + "use-sync-external-store" "^1.0.0" + "whatwg-fetch" "^3.0.0" + "ws" "^6.2.2" + +"react-redux@^7.2.1 || ^8.0.0-beta", "react-redux@^7.2.6": + "version" "7.2.6" dependencies: "@babel/runtime" "^7.15.4" "@types/react-redux" "^7.1.20" - hoist-non-react-statics "^3.3.2" - loose-envify "^1.4.0" - prop-types "^15.7.2" - react-is "^17.0.2" + "hoist-non-react-statics" "^3.3.2" + "loose-envify" "^1.4.0" + "prop-types" "^15.7.2" + "react-is" "^17.0.2" -react-refresh@^0.11.0: - version "0.11.0" - resolved "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz" - integrity sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A== +"react-refresh@^0.11.0", "react-refresh@>=0.10.0 <1.0.0": + "integrity" "sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==" + "resolved" "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz" + "version" "0.11.0" -react-router-dom@6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.0.0.tgz" - integrity sha512-bPXyYipf0zu6K7mHSEmNO5YqLKq2q9N+Dsahw9Xh3oq1IirsI3vbnIYcVWin6A0zWyHmKhMGoV7Gr0j0kcuVFg== +"react-refresh@^0.4.0": + "integrity" "sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA==" + "resolved" "https://registry.npmjs.org/react-refresh/-/react-refresh-0.4.3.tgz" + "version" "0.4.3" + +"react-router-dom@6.0.0": + "integrity" "sha512-bPXyYipf0zu6K7mHSEmNO5YqLKq2q9N+Dsahw9Xh3oq1IirsI3vbnIYcVWin6A0zWyHmKhMGoV7Gr0j0kcuVFg==" + "resolved" "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.0.0.tgz" + "version" "6.0.0" dependencies: - react-router "6.0.0" + "react-router" "6.0.0" -react-router@6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/react-router/-/react-router-6.0.0.tgz" - integrity sha512-FcTRCihYZvERMNbG54D9+Wkv2cj/OtoxNlA/87D7vxKYlmSmbF9J9XChI9Is44j/behEiOhbovgVZBhKQn+wgA== +"react-router@6.0.0": + "integrity" "sha512-FcTRCihYZvERMNbG54D9+Wkv2cj/OtoxNlA/87D7vxKYlmSmbF9J9XChI9Is44j/behEiOhbovgVZBhKQn+wgA==" + "resolved" "https://registry.npmjs.org/react-router/-/react-router-6.0.0.tgz" + "version" "6.0.0" dependencies: - history "^5.0.3" + "history" "^5.0.3" -react-scripts@^5.0.0: - version "5.0.1" - resolved "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz" - integrity sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ== +"react-scripts@^5.0.1": + "integrity" "sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==" + "resolved" "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz" + "version" "5.0.1" dependencies: "@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" - 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" + "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" + "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" optionalDependencies: - fsevents "^2.3.2" + "fsevents" "^2.3.2" -react-transition-group@^4.4.2: - version "4.4.2" - resolved "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.2.tgz" - integrity sha512-/RNYfRAMlZwDSr6z4zNKV6xu53/e2BuaBbGhbyYIXTrmgu/bGHzmqOs7mJSJBHy9Ud+ApHx3QjrkKSp1pxvlFg== +"react-shallow-renderer@^16.15.0": + "integrity" "sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==" + "resolved" "https://registry.npmjs.org/react-shallow-renderer/-/react-shallow-renderer-16.15.0.tgz" + "version" "16.15.0" + dependencies: + "object-assign" "^4.1.1" + "react-is" "^16.12.0 || ^17.0.0 || ^18.0.0" + +"react-transition-group@^4.4.2", "react-transition-group@^4.4.5": + "integrity" "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==" + "resolved" "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz" + "version" "4.4.5" dependencies: "@babel/runtime" "^7.5.5" - dom-helpers "^5.0.1" - loose-envify "^1.4.0" - prop-types "^15.6.2" - -react@^17.0.2: - version "17.0.2" - resolved "https://registry.npmjs.org/react/-/react-17.0.2.tgz" - integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA== - dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - -read-cache@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz" - integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA== - dependencies: - pify "^2.3.0" - -readable-stream@^2.0.1: - version "2.3.7" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz" - integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== - dependencies: - 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" - -readable-stream@^3.0.6: - version "3.6.0" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" - integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readdirp@~3.6.0: - version "3.6.0" - resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" - integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== - dependencies: - picomatch "^2.2.1" - -recursive-readdir@^2.2.2: - version "2.2.3" - resolved "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz" - integrity sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA== - dependencies: - minimatch "^3.0.5" - -redent@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz" - integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== - dependencies: - indent-string "^4.0.0" - strip-indent "^3.0.0" - -redux-thunk@^2.3.0, redux-thunk@^2.4.1: - version "2.4.1" - resolved "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.4.1.tgz" - integrity sha512-OOYGNY5Jy2TWvTL1KgAlVy6dcx3siPJ1wTq741EPyUKfn6W6nChdICjZwCd0p8AZBs5kWpZlbkXW2nE/zjUa+Q== - -redux@^4.0.0, redux@^4.1.2: - version "4.1.2" - resolved "https://registry.npmjs.org/redux/-/redux-4.1.2.tgz" - integrity sha512-SH8PglcebESbd/shgf6mii6EIoRM0zrQyjcuQ+ojmfxjTtE0z9Y8pa62iA/OJ58qjP6j27uyW4kUF4jl/jd6sw== + "dom-helpers" "^5.0.1" + "loose-envify" "^1.4.0" + "prop-types" "^15.6.2" + +"react@*", "react@^0.14.9 || ^15.3.0 || ^16.0.0-rc || ^16.0 || ^17.0", "react@^15.0.0 || >=16.0.0", "react@^15.3.0 || ^16.0.0 || ^17.0.0", "react@^16.0.0 || ^17.0.0 || ^18.0.0", "react@^16.6.0 || ^17.0.0", "react@^16.8.0 || ^17.0.0", "react@^16.8.0 || ^17.0.0 || ^18.0.0", "react@^16.8.3 || ^17", "react@^16.9.0 || ^17.0.0 || 18.0.0-beta", "react@^16.x || ^17.x", "react@^17.0.0", "react@^17.0.0 || ^18.0.0", "react@^17.0.2", "react@^17.0.2 || ^18.0.0", "react@>= 16", "react@>= 16.8", "react@>=0.13", "react@>=0.13.x", "react@>=0.14.x", "react@>=15", "react@>=16.3.0", "react@>=16.6.0", "react@>=16.8", "react@>=16.8.0", "react@~0.13.x || ~0.14.x || ^15.0.0 || ^16.0.0 || ^17.0.0", "react@17.0.2": + "integrity" "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==" + "resolved" "https://registry.npmjs.org/react/-/react-17.0.2.tgz" + "version" "17.0.2" + dependencies: + "loose-envify" "^1.1.0" + "object-assign" "^4.1.1" + +"react@18.2.0": + "integrity" "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==" + "resolved" "https://registry.npmjs.org/react/-/react-18.2.0.tgz" + "version" "18.2.0" + dependencies: + "loose-envify" "^1.1.0" + +"read-cache@^1.0.0": + "integrity" "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==" + "resolved" "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "pify" "^2.3.0" + +"readable-stream@^2.0.1": + "version" "2.3.7" + dependencies: + "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" + +"readable-stream@^3.0.6", "readable-stream@^3.4.0": + "version" "3.6.0" + dependencies: + "inherits" "^2.0.3" + "string_decoder" "^1.1.1" + "util-deprecate" "^1.0.1" + +"readable-stream@~2.3.6": + "integrity" "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==" + "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" + "version" "2.3.8" + dependencies: + "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" + +"readdirp@~3.6.0": + "integrity" "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==" + "resolved" "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" + "version" "3.6.0" + dependencies: + "picomatch" "^2.2.1" + +"readline@^1.3.0": + "integrity" "sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg==" + "resolved" "https://registry.npmjs.org/readline/-/readline-1.3.0.tgz" + "version" "1.3.0" + +"recast@^0.20.4": + "integrity" "sha512-E5qICoPoNL4yU0H0NoBDntNB0Q5oMSNh9usFctYniLBluTthi3RsQVBXIJNbApOlvSwW/RGxIuokPcAc59J5fQ==" + "resolved" "https://registry.npmjs.org/recast/-/recast-0.20.5.tgz" + "version" "0.20.5" + dependencies: + "ast-types" "0.14.2" + "esprima" "~4.0.0" + "source-map" "~0.6.1" + "tslib" "^2.0.1" + +"recursive-readdir@^2.2.2": + "integrity" "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==" + "resolved" "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz" + "version" "2.2.3" + dependencies: + "minimatch" "^3.0.5" + +"redent@^3.0.0": + "integrity" "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==" + "resolved" "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "indent-string" "^4.0.0" + "strip-indent" "^3.0.0" + +"redux-thunk@^2.3.0", "redux-thunk@^2.4.1": + "version" "2.4.1" + +"redux@^4", "redux@^4.0.0", "redux@^4.1.2": + "version" "4.1.2" dependencies: "@babel/runtime" "^7.9.2" -regenerate-unicode-properties@^10.1.0: - version "10.1.0" - resolved "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz" - integrity sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ== +"regenerate-unicode-properties@^10.1.0": + "integrity" "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==" + "resolved" "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz" + "version" "10.1.0" dependencies: - regenerate "^1.4.2" + "regenerate" "^1.4.2" -regenerate@^1.4.2: - version "1.4.2" - resolved "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz" - integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== +"regenerate@^1.4.2": + "integrity" "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + "resolved" "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz" + "version" "1.4.2" -regenerator-runtime@^0.13.11, regenerator-runtime@^0.13.4, regenerator-runtime@^0.13.9: - version "0.13.11" - resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz" - integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== +"regenerator-runtime@^0.13.11", "regenerator-runtime@^0.13.2", "regenerator-runtime@^0.13.9": + "integrity" "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + "resolved" "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz" + "version" "0.13.11" -regenerator-transform@^0.15.1: - version "0.15.1" - resolved "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz" - integrity sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg== +"regenerator-transform@^0.15.1": + "integrity" "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==" + "resolved" "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz" + "version" "0.15.1" dependencies: "@babel/runtime" "^7.8.4" -regex-parser@^2.2.11: - 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@^1.4.3: - version "1.4.3" - resolved "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz" - integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - functions-have-names "^1.2.2" - -regexpp@^3.2.0: - version "3.2.0" - resolved "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz" - integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== - -regexpu-core@^5.2.1: - version "5.2.2" - resolved "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.2.tgz" - integrity sha512-T0+1Zp2wjF/juXMrMxHxidqGYn8U4R+zleSJhX9tQ1PUsS8a9UtYfbsF9LdiVgNX3kiX8RNaKM42nfSgvFJjmw== - dependencies: - regenerate "^1.4.2" - regenerate-unicode-properties "^10.1.0" - regjsgen "^0.7.1" - regjsparser "^0.9.1" - unicode-match-property-ecmascript "^2.0.0" - unicode-match-property-value-ecmascript "^2.1.0" - -regjsgen@^0.7.1: - version "0.7.1" - resolved "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz" - integrity sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA== - -regjsparser@^0.9.1: - version "0.9.1" - resolved "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz" - integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== - dependencies: - jsesc "~0.5.0" - -relateurl@^0.2.7: - version "0.2.7" - resolved "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz" - integrity sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog== - -renderkid@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz" - integrity sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg== - dependencies: - css-select "^4.1.3" - dom-converter "^0.2.0" - htmlparser2 "^6.1.0" - lodash "^4.17.21" - strip-ansi "^6.0.1" - -require-directory@^2.1.1: - 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@^2.0.2: - 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@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz" - integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== - -reselect@^4.1.5: - version "4.1.5" - resolved "https://registry.npmjs.org/reselect/-/reselect-4.1.5.tgz" - integrity sha512-uVdlz8J7OO+ASpBYoz1Zypgx0KasCY20H+N8JD13oUMtPvSHQuscrHop4KbXrbsBcdB9Ds7lVK7eRkBIfO43vQ== - -resolve-cwd@^3.0.0: - 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== - dependencies: - resolve-from "^5.0.0" - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve-from@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" - integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== - -resolve-url-loader@^4.0.0: - 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== - dependencies: - 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" - -resolve.exports@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz" - integrity sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ== - -resolve@^1.1.7, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.0, resolve@^1.22.1: - version "1.22.1" - resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz" - integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== - dependencies: - is-core-module "^2.9.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -resolve@^2.0.0-next.3: - 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== - dependencies: - is-core-module "^2.9.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -retry@^0.13.1: - version "0.13.1" - resolved "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz" - integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== - -reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - -rheostat@^2.1.1: - version "2.2.0" - resolved "https://registry.npmjs.org/rheostat/-/rheostat-2.2.0.tgz" - integrity sha512-cO6MvZ3fXtgP7NH7smWZhZczropunZJ50cdCLdlXR5Rhw0FNRaMM23Wx4NJjs5TGta3jOec39A/L0Lg8h8bPRQ== - dependencies: - object.assign "^4.1.0" - prop-types "^15.6.0" - -rifm@^0.12.1: - version "0.12.1" - resolved "https://registry.npmjs.org/rifm/-/rifm-0.12.1.tgz" - integrity sha512-OGA1Bitg/dSJtI/c4dh90svzaUPt228kzFsUkJbtA2c964IqEAwWXeL9ZJi86xWv3j5SMqRvGULl7bA6cK0Bvg== - -rimraf@^3.0.0, rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - -rollup-plugin-terser@^7.0.0: - version "7.0.2" - resolved "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz" - integrity sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ== +"regex-not@^1.0.0", "regex-not@^1.0.2": + "integrity" "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==" + "resolved" "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "extend-shallow" "^3.0.2" + "safe-regex" "^1.1.0" + +"regex-parser@^2.2.11": + "integrity" "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==" + "resolved" "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz" + "version" "2.2.11" + +"regexp.prototype.flags@^1.4.3": + "version" "1.4.3" + dependencies: + "call-bind" "^1.0.2" + "define-properties" "^1.1.3" + "functions-have-names" "^1.2.2" + +"regexpp@^3.2.0": + "version" "3.2.0" + +"regexpu-core@^5.2.1": + "version" "5.2.2" + dependencies: + "regenerate" "^1.4.2" + "regenerate-unicode-properties" "^10.1.0" + "regjsgen" "^0.7.1" + "regjsparser" "^0.9.1" + "unicode-match-property-ecmascript" "^2.0.0" + "unicode-match-property-value-ecmascript" "^2.1.0" + +"regjsgen@^0.7.1": + "version" "0.7.1" + +"regjsparser@^0.9.1": + "integrity" "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==" + "resolved" "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz" + "version" "0.9.1" + dependencies: + "jsesc" "~0.5.0" + +"relateurl@^0.2.7": + "integrity" "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==" + "resolved" "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz" + "version" "0.2.7" + +"renderkid@^3.0.0": + "integrity" "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==" + "resolved" "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "css-select" "^4.1.3" + "dom-converter" "^0.2.0" + "htmlparser2" "^6.1.0" + "lodash" "^4.17.21" + "strip-ansi" "^6.0.1" + +"repeat-element@^1.1.2": + "integrity" "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==" + "resolved" "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz" + "version" "1.1.4" + +"repeat-string@^1.6.1": + "integrity" "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==" + "resolved" "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz" + "version" "1.6.1" + +"require-directory@^2.1.1": + "integrity" "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" + "resolved" "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" + "version" "2.1.1" + +"require-from-string@^2.0.2": + "integrity" "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" + "resolved" "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" + "version" "2.0.2" + +"require-main-filename@^2.0.0": + "integrity" "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" + "resolved" "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz" + "version" "2.0.0" + +"requires-port@^1.0.0": + "integrity" "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" + "resolved" "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz" + "version" "1.0.0" + +"reselect@^4.1.5": + "version" "4.1.5" + +"resolve-cwd@^3.0.0": + "integrity" "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==" + "resolved" "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "resolve-from" "^5.0.0" + +"resolve-from@^3.0.0": + "integrity" "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==" + "resolved" "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz" + "version" "3.0.0" + +"resolve-from@^4.0.0": + "integrity" "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" + "resolved" "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" + "version" "4.0.0" + +"resolve-from@^5.0.0": + "integrity" "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" + "resolved" "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" + "version" "5.0.0" + +"resolve-url-loader@^4.0.0": + "integrity" "sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA==" + "resolved" "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "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" + +"resolve-url@^0.2.1": + "integrity" "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==" + "resolved" "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz" + "version" "0.2.1" + +"resolve.exports@^1.1.0": + "version" "1.1.0" + +"resolve@^1.1.7", "resolve@^1.12.0", "resolve@^1.14.2", "resolve@^1.19.0", "resolve@^1.20.0", "resolve@^1.22.0", "resolve@^1.22.1": + "version" "1.22.1" + dependencies: + "is-core-module" "^2.9.0" + "path-parse" "^1.0.7" + "supports-preserve-symlinks-flag" "^1.0.0" + +"resolve@^2.0.0-next.3": + "version" "2.0.0-next.4" + dependencies: + "is-core-module" "^2.9.0" + "path-parse" "^1.0.7" + "supports-preserve-symlinks-flag" "^1.0.0" + +"restore-cursor@^3.1.0": + "integrity" "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==" + "resolved" "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "onetime" "^5.1.0" + "signal-exit" "^3.0.2" + +"ret@~0.1.10": + "integrity" "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" + "resolved" "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz" + "version" "0.1.15" + +"retry@^0.13.1": + "integrity" "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==" + "resolved" "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz" + "version" "0.13.1" + +"reusify@^1.0.4": + "integrity" "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" + "resolved" "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" + "version" "1.0.4" + +"rifm@^0.12.1": + "version" "0.12.1" + +"rimraf@^3.0.0", "rimraf@^3.0.2": + "integrity" "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==" + "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" + "version" "3.0.2" + dependencies: + "glob" "^7.1.3" + +"rimraf@~2.2.6": + "integrity" "sha512-R5KMKHnPAQaZMqLOsyuyUmcIjSeDm+73eoqQpaXA7AZ22BL+6C+1mcUscgOsNd8WVlJuvlgAPsegcx7pjlV0Dg==" + "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz" + "version" "2.2.8" + +"rimraf@~2.6.2": + "integrity" "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==" + "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz" + "version" "2.6.3" + dependencies: + "glob" "^7.1.3" + +"rollup-plugin-terser@^7.0.0": + "integrity" "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==" + "resolved" "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz" + "version" "7.0.2" dependencies: "@babel/code-frame" "^7.10.4" - jest-worker "^26.2.1" - serialize-javascript "^4.0.0" - terser "^5.0.0" - -rollup@^2.43.1: - version "2.79.1" - resolved "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz" - integrity sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw== + "jest-worker" "^26.2.1" + "serialize-javascript" "^4.0.0" + "terser" "^5.0.0" + +"rollup@^1.20.0 || ^2.0.0", "rollup@^1.20.0||^2.0.0", "rollup@^2.0.0", "rollup@^2.43.1": + "integrity" "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==" + "resolved" "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz" + "version" "2.79.1" optionalDependencies: - fsevents "~2.3.2" + "fsevents" "~2.3.2" -run-parallel@^1.1.9: - version "1.2.0" - resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" - integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== +"run-parallel@^1.1.9": + "integrity" "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==" + "resolved" "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" + "version" "1.2.0" dependencies: - queue-microtask "^1.2.2" + "queue-microtask" "^1.2.2" + +"safe-buffer@^5.1.0", "safe-buffer@>=5.1.0", "safe-buffer@~5.2.0", "safe-buffer@5.2.1": + "integrity" "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" + "version" "5.2.1" -safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== +"safe-buffer@~5.1.0", "safe-buffer@~5.1.1": + "integrity" "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" + "version" "5.1.2" -safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.1.0, safe-buffer@~5.2.0: - version "5.2.1" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== +"safe-buffer@5.1.2": + "integrity" "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" + "version" "5.1.2" -safe-regex-test@^1.0.0: - 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== +"safe-regex-test@^1.0.0": + "integrity" "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==" + "resolved" "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz" + "version" "1.0.0" dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.3" - is-regex "^1.1.4" + "call-bind" "^1.0.2" + "get-intrinsic" "^1.1.3" + "is-regex" "^1.1.4" + +"safe-regex@^1.1.0": + "integrity" "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==" + "resolved" "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz" + "version" "1.1.0" + dependencies: + "ret" "~0.1.10" "safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0": - version "2.1.2" - resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + "integrity" "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + "resolved" "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" + "version" "2.1.2" -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== +"sanitize.css@*": + "integrity" "sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA==" + "resolved" "https://registry.npmjs.org/sanitize.css/-/sanitize.css-13.0.0.tgz" + "version" "13.0.0" -sass-loader@^12.3.0: - version "12.6.0" - resolved "https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz" - integrity sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA== +"sass-loader@^12.3.0": + "integrity" "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==" + "resolved" "https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz" + "version" "12.6.0" dependencies: - klona "^2.0.4" - neo-async "^2.6.2" + "klona" "^2.0.4" + "neo-async" "^2.6.2" -sax@~1.2.4: - version "1.2.4" - resolved "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz" - integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== +"sax@~1.2.4": + "integrity" "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + "resolved" "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz" + "version" "1.2.4" -saxes@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz" - integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== +"saxes@^5.0.1": + "integrity" "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==" + "resolved" "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz" + "version" "5.0.1" dependencies: - xmlchars "^2.2.0" + "xmlchars" "^2.2.0" -scheduler@^0.20.2: - version "0.20.2" - resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz" - integrity sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ== +"scheduler@^0.20.2": + "integrity" "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==" + "resolved" "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz" + "version" "0.20.2" dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" + "loose-envify" "^1.1.0" + "object-assign" "^4.1.1" -schema-utils@2.7.0: - version "2.7.0" - resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz" - integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A== +"scheduler@^0.23.0": + "integrity" "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==" + "resolved" "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz" + "version" "0.23.0" dependencies: - "@types/json-schema" "^7.0.4" - ajv "^6.12.2" - ajv-keywords "^3.4.1" + "loose-envify" "^1.1.0" -schema-utils@^2.6.5: - version "2.7.1" - resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz" - integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== +"schema-utils@^2.6.5": + "integrity" "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==" + "resolved" "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz" + "version" "2.7.1" dependencies: "@types/json-schema" "^7.0.5" - ajv "^6.12.4" - ajv-keywords "^3.5.2" + "ajv" "^6.12.4" + "ajv-keywords" "^3.5.2" + +"schema-utils@^3.0.0": + "version" "3.1.1" + dependencies: + "@types/json-schema" "^7.0.8" + "ajv" "^6.12.5" + "ajv-keywords" "^3.5.2" + +"schema-utils@^3.1.0": + "version" "3.1.1" + dependencies: + "@types/json-schema" "^7.0.8" + "ajv" "^6.12.5" + "ajv-keywords" "^3.5.2" -schema-utils@^3.0.0, schema-utils@^3.1.0, schema-utils@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz" - integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw== +"schema-utils@^3.1.1": + "version" "3.1.1" dependencies: "@types/json-schema" "^7.0.8" - ajv "^6.12.5" - ajv-keywords "^3.5.2" + "ajv" "^6.12.5" + "ajv-keywords" "^3.5.2" -schema-utils@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz" - integrity sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg== +"schema-utils@^4.0.0": + "version" "4.0.0" dependencies: "@types/json-schema" "^7.0.9" - ajv "^8.8.0" - ajv-formats "^2.1.1" - ajv-keywords "^5.0.0" - -select-hose@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz" - integrity sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg== - -selfsigned@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz" - integrity sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ== - dependencies: - node-forge "^1" - -semver@^5.5.0: - version "5.7.1" - resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - -semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0: - version "6.3.0" - resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== - -semver@^7.3.2, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8: - version "7.3.8" - resolved "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz" - integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== - dependencies: - lru-cache "^6.0.0" - -send@0.18.0: - version "0.18.0" - resolved "https://registry.npmjs.org/send/-/send-0.18.0.tgz" - integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== - dependencies: - 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" - -serialize-javascript@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz" - integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== - dependencies: - randombytes "^2.1.0" - -serialize-javascript@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz" - integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== - dependencies: - randombytes "^2.1.0" - -serve-index@^1.9.1: - version "1.9.1" - resolved "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz" - integrity sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw== - dependencies: - 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" - -serve-static@1.15.0: - version "1.15.0" - resolved "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz" - integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== - dependencies: - encodeurl "~1.0.2" - escape-html "~1.0.3" - parseurl "~1.3.3" - send "0.18.0" - -setprototypeof@1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz" - integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== - -setprototypeof@1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz" - integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== - -shallowequal@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz" - integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ== - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz" - integrity sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg== - dependencies: - shebang-regex "^1.0.0" - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz" - integrity sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ== - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -shell-quote@^1.7.3: - version "1.7.4" - resolved "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.4.tgz" - integrity sha512-8o/QEhSSRb1a5i7TFR0iM4G16Z0vYB2OQVs4G3aAFXjn3T6yEx8AZxy1PgDF7I00LZHYA3WxaSYIf5e5sAX8Rw== - -side-channel@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz" - integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== - dependencies: - call-bind "^1.0.0" - get-intrinsic "^1.0.2" - object-inspect "^1.9.0" - -signal-exit@^3.0.2, signal-exit@^3.0.3: - version "3.0.7" - resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" - integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== - -simplebar-react@^2.3.6: - version "2.3.6" - resolved "https://registry.npmjs.org/simplebar-react/-/simplebar-react-2.3.6.tgz" - integrity sha512-Igm/MRdt+LQ8edTTzjRoaATfXPPMByuUsVvHQHrkX7SH4jmvL85VshtOVcXFrOBspv9vqQtnIrOq/j9VmRSNDQ== - dependencies: - prop-types "^15.6.1" - simplebar "^5.3.6" - -simplebar@^5.3.6: - version "5.3.6" - resolved "https://registry.npmjs.org/simplebar/-/simplebar-5.3.6.tgz" - integrity sha512-FJUMbV+hNDd/m+1/fvD41TXKd5mSdlI5zgBygkaQIV3SffNbcLhSbJT6ufTs8ZNRLJ6i+qc/KCFMqWmvlGWMhA== + "ajv" "^8.8.0" + "ajv-formats" "^2.1.1" + "ajv-keywords" "^5.0.0" + +"schema-utils@2.7.0": + "integrity" "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==" + "resolved" "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz" + "version" "2.7.0" + dependencies: + "@types/json-schema" "^7.0.4" + "ajv" "^6.12.2" + "ajv-keywords" "^3.4.1" + +"select-hose@^2.0.0": + "integrity" "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==" + "resolved" "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz" + "version" "2.0.0" + +"selfsigned@^2.1.1": + "integrity" "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==" + "resolved" "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz" + "version" "2.1.1" + dependencies: + "node-forge" "^1" + +"semver@^5.5.0": + "integrity" "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "resolved" "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" + "version" "5.7.1" + +"semver@^5.6.0": + "integrity" "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "resolved" "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" + "version" "5.7.1" + +"semver@^6.0.0", "semver@^6.1.1", "semver@^6.1.2", "semver@^6.3.0": + "integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + "resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" + "version" "6.3.0" + +"semver@^7.3.2": + "version" "7.3.8" + dependencies: + "lru-cache" "^6.0.0" + +"semver@^7.3.5": + "version" "7.3.8" + dependencies: + "lru-cache" "^6.0.0" + +"semver@^7.3.7": + "version" "7.3.8" + dependencies: + "lru-cache" "^6.0.0" + +"semver@^7.3.8": + "version" "7.3.8" + dependencies: + "lru-cache" "^6.0.0" + +"send@0.18.0": + "integrity" "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==" + "resolved" "https://registry.npmjs.org/send/-/send-0.18.0.tgz" + "version" "0.18.0" + dependencies: + "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" + +"serialize-error@^2.1.0": + "integrity" "sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw==" + "resolved" "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz" + "version" "2.1.0" + +"serialize-javascript@^4.0.0": + "integrity" "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==" + "resolved" "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "randombytes" "^2.1.0" + +"serialize-javascript@^6.0.0": + "version" "6.0.0" + dependencies: + "randombytes" "^2.1.0" + +"serve-index@^1.9.1": + "integrity" "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==" + "resolved" "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz" + "version" "1.9.1" + dependencies: + "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" + +"serve-static@^1.13.1", "serve-static@1.15.0": + "integrity" "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==" + "resolved" "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz" + "version" "1.15.0" + dependencies: + "encodeurl" "~1.0.2" + "escape-html" "~1.0.3" + "parseurl" "~1.3.3" + "send" "0.18.0" + +"set-blocking@^2.0.0": + "integrity" "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" + "resolved" "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" + "version" "2.0.0" + +"set-value@^2.0.0", "set-value@^2.0.1": + "integrity" "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==" + "resolved" "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "extend-shallow" "^2.0.1" + "is-extendable" "^0.1.1" + "is-plain-object" "^2.0.3" + "split-string" "^3.0.1" + +"setprototypeof@1.1.0": + "integrity" "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + "resolved" "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz" + "version" "1.1.0" + +"setprototypeof@1.2.0": + "integrity" "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + "resolved" "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz" + "version" "1.2.0" + +"shallow-clone@^3.0.0": + "integrity" "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==" + "resolved" "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz" + "version" "3.0.1" + dependencies: + "kind-of" "^6.0.2" + +"shallowequal@^1.1.0": + "integrity" "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" + "resolved" "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz" + "version" "1.1.0" + +"shebang-command@^1.2.0": + "integrity" "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==" + "resolved" "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz" + "version" "1.2.0" + dependencies: + "shebang-regex" "^1.0.0" + +"shebang-command@^2.0.0": + "integrity" "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==" + "resolved" "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "shebang-regex" "^3.0.0" + +"shebang-regex@^1.0.0": + "integrity" "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==" + "resolved" "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz" + "version" "1.0.0" + +"shebang-regex@^3.0.0": + "integrity" "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + "resolved" "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" + "version" "3.0.0" + +"shell-quote@^1.6.1", "shell-quote@^1.7.3": + "version" "1.7.4" + +"side-channel@^1.0.4": + "integrity" "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==" + "resolved" "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz" + "version" "1.0.4" + dependencies: + "call-bind" "^1.0.0" + "get-intrinsic" "^1.0.2" + "object-inspect" "^1.9.0" + +"signal-exit@^3.0.0", "signal-exit@^3.0.2", "signal-exit@^3.0.3": + "integrity" "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + "resolved" "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" + "version" "3.0.7" + +"simplebar-react@^2.3.6": + "version" "2.3.6" + dependencies: + "prop-types" "^15.6.1" + "simplebar" "^5.3.6" + +"simplebar@^5.3.6": + "version" "5.3.6" dependencies: "@juggle/resize-observer" "^3.3.1" - can-use-dom "^0.1.0" - core-js "^3.0.1" - lodash.debounce "^4.0.8" - lodash.memoize "^4.1.2" - lodash.throttle "^4.1.1" - -sisteransi@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz" - integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -slash@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz" - integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== - -sockjs@^0.3.24: - version "0.3.24" - resolved "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz" - integrity sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ== - dependencies: - faye-websocket "^0.11.3" - uuid "^8.3.2" - websocket-driver "^0.7.4" - -source-list-map@^2.0.0, source-list-map@^2.0.1: - 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-js@^1.0.1, source-map-js@^1.0.2: - 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@^3.0.0: - 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== - dependencies: - abab "^2.0.5" - iconv-lite "^0.6.3" - source-map-js "^1.0.1" - -source-map-resolve@^0.6.0: - version "0.6.0" - resolved "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz" - integrity sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w== - dependencies: - atob "^2.1.2" - decode-uri-component "^0.2.0" - -source-map-support@^0.5.6, source-map-support@~0.5.20: - 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== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map@0.6.1, source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -source-map@^0.5.7: - version "0.5.7" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= - -source-map@^0.7.3: - version "0.7.4" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz" - integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== - -source-map@^0.8.0-beta.0: - version "0.8.0-beta.0" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz" - integrity sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA== - dependencies: - whatwg-url "^7.0.0" - -sourcemap-codec@^1.4.8: - version "1.4.8" - resolved "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz" - integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== - -spdy-transport@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz" - integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw== - dependencies: - 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" - -spdy@^4.0.2: - version "4.0.2" - resolved "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz" - integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA== - dependencies: - debug "^4.1.0" - handle-thing "^2.0.0" - http-deceiver "^1.2.7" - select-hose "^2.0.0" - spdy-transport "^3.0.0" - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" - integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== - -stable@^0.1.8: - version "0.1.8" - resolved "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz" - integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== - -stack-utils@^2.0.3: - version "2.0.6" - resolved "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz" - integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== - dependencies: - escape-string-regexp "^2.0.0" - -stackframe@^1.3.4: - version "1.3.4" - resolved "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz" - integrity sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw== - -state-local@^1.0.6: - version "1.0.7" - resolved "https://registry.npmjs.org/state-local/-/state-local-1.0.7.tgz" - integrity sha512-HTEHMNieakEnoe33shBYcZ7NX83ACUjCu8c40iOGEZsngj9zRnkqS9j1pqQPXwobB0ZcVTk27REb7COQ0UR59w== - -statuses@2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz" - integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== + "can-use-dom" "^0.1.0" + "core-js" "^3.0.1" + "lodash.debounce" "^4.0.8" + "lodash.memoize" "^4.1.2" + "lodash.throttle" "^4.1.1" + +"sisteransi@^1.0.5": + "integrity" "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + "resolved" "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz" + "version" "1.0.5" + +"size-sensor@^1.0.1": + "integrity" "sha512-QTy7MnuugCFXIedXRpUSk9gUnyNiaxIdxGfUjr8xxXOqIB3QvBUYP9+b51oCg2C4dnhaeNk/h57TxjbvoJrJUA==" + "resolved" "https://registry.npmjs.org/size-sensor/-/size-sensor-1.0.1.tgz" + "version" "1.0.1" + +"slash@^3.0.0": + "integrity" "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + "resolved" "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" + "version" "3.0.0" + +"slash@^4.0.0": + "integrity" "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==" + "resolved" "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz" + "version" "4.0.0" + +"slice-ansi@^2.0.0": + "integrity" "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==" + "resolved" "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "ansi-styles" "^3.2.0" + "astral-regex" "^1.0.0" + "is-fullwidth-code-point" "^2.0.0" + +"snapdragon-node@^2.0.1": + "integrity" "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==" + "resolved" "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz" + "version" "2.1.1" + dependencies: + "define-property" "^1.0.0" + "isobject" "^3.0.0" + "snapdragon-util" "^3.0.1" + +"snapdragon-util@^3.0.1": + "integrity" "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==" + "resolved" "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz" + "version" "3.0.1" + dependencies: + "kind-of" "^3.2.0" + +"snapdragon@^0.8.1": + "integrity" "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==" + "resolved" "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz" + "version" "0.8.2" + dependencies: + "base" "^0.11.1" + "debug" "^2.2.0" + "define-property" "^0.2.5" + "extend-shallow" "^2.0.1" + "map-cache" "^0.2.2" + "source-map" "^0.5.6" + "source-map-resolve" "^0.5.0" + "use" "^3.1.0" + +"sockjs@^0.3.24": + "integrity" "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==" + "resolved" "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz" + "version" "0.3.24" + dependencies: + "faye-websocket" "^0.11.3" + "uuid" "^8.3.2" + "websocket-driver" "^0.7.4" + +"source-list-map@^2.0.0", "source-list-map@^2.0.1": + "integrity" "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" + "resolved" "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz" + "version" "2.0.1" + +"source-map-js@^1.0.1", "source-map-js@^1.0.2": + "integrity" "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" + "resolved" "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz" + "version" "1.0.2" + +"source-map-loader@^3.0.0": + "integrity" "sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg==" + "resolved" "https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.2.tgz" + "version" "3.0.2" + dependencies: + "abab" "^2.0.5" + "iconv-lite" "^0.6.3" + "source-map-js" "^1.0.1" + +"source-map-resolve@^0.5.0": + "integrity" "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==" + "resolved" "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz" + "version" "0.5.3" + dependencies: + "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-resolve@^0.6.0": + "version" "0.6.0" + dependencies: + "atob" "^2.1.2" + "decode-uri-component" "^0.2.0" + +"source-map-support@^0.5.16", "source-map-support@^0.5.6", "source-map-support@~0.5.20": + "integrity" "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==" + "resolved" "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz" + "version" "0.5.21" + dependencies: + "buffer-from" "^1.0.0" + "source-map" "^0.6.0" + +"source-map-url@^0.4.0": + "integrity" "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==" + "resolved" "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz" + "version" "0.4.1" + +"source-map@^0.5.6": + "integrity" "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" + "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" + "version" "0.5.7" + +"source-map@^0.5.7": + "integrity" "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" + "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" + "version" "0.5.7" + +"source-map@^0.6.0", "source-map@^0.6.1", "source-map@~0.6.0", "source-map@~0.6.1", "source-map@0.6.1": + "integrity" "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" + "version" "0.6.1" + +"source-map@^0.7.3": + "integrity" "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==" + "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz" + "version" "0.7.4" + +"source-map@^0.8.0-beta.0": + "integrity" "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==" + "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz" + "version" "0.8.0-beta.0" + dependencies: + "whatwg-url" "^7.0.0" + +"sourcemap-codec@^1.4.8": + "integrity" "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" + "resolved" "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz" + "version" "1.4.8" + +"spdy-transport@^3.0.0": + "integrity" "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==" + "resolved" "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "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" + +"spdy@^4.0.2": + "integrity" "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==" + "resolved" "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz" + "version" "4.0.2" + dependencies: + "debug" "^4.1.0" + "handle-thing" "^2.0.0" + "http-deceiver" "^1.2.7" + "select-hose" "^2.0.0" + "spdy-transport" "^3.0.0" + +"split-string@^3.0.1", "split-string@^3.0.2": + "integrity" "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==" + "resolved" "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "extend-shallow" "^3.0.0" + +"sprintf-js@~1.0.2": + "integrity" "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + "resolved" "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" + "version" "1.0.3" + +"stable@^0.1.8": + "integrity" "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" + "resolved" "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz" + "version" "0.1.8" + +"stack-utils@^2.0.3": + "integrity" "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==" + "resolved" "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz" + "version" "2.0.6" + dependencies: + "escape-string-regexp" "^2.0.0" + +"stackframe@^1.3.4": + "integrity" "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==" + "resolved" "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz" + "version" "1.3.4" + +"stacktrace-parser@^0.1.3": + "integrity" "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==" + "resolved" "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz" + "version" "0.1.10" + dependencies: + "type-fest" "^0.7.1" + +"state-local@^1.0.6": + "integrity" "sha512-HTEHMNieakEnoe33shBYcZ7NX83ACUjCu8c40iOGEZsngj9zRnkqS9j1pqQPXwobB0ZcVTk27REb7COQ0UR59w==" + "resolved" "https://registry.npmjs.org/state-local/-/state-local-1.0.7.tgz" + "version" "1.0.7" + +"static-extend@^0.1.1": + "integrity" "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==" + "resolved" "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz" + "version" "0.1.2" + dependencies: + "define-property" "^0.2.5" + "object-copy" "^0.1.0" "statuses@>= 1.4.0 < 2": - version "1.5.0" - resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz" - integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== - -string-length@^4.0.1: - version "4.0.2" - resolved "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz" - integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== - dependencies: - char-regex "^1.0.2" - strip-ansi "^6.0.0" - -string-length@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/string-length/-/string-length-5.0.1.tgz" - integrity sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow== - dependencies: - char-regex "^2.0.0" - strip-ansi "^7.0.1" - -string-natural-compare@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz" - integrity sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw== - -string-width@^4.1.0, string-width@^4.2.0: - version "4.2.3" - resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string.prototype.matchall@^4.0.6, string.prototype.matchall@^4.0.8: - 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== - dependencies: - 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@^1.0.6: - 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== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - -string.prototype.trimstart@^1.0.6: - version "1.0.6" - resolved "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz" - integrity sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - -string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - -stringify-object@^3.3.0: - version "3.3.0" - resolved "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz" - integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== - dependencies: - get-own-enumerable-property-symbols "^3.0.0" - is-obj "^1.0.1" - is-regexp "^1.0.0" - -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-ansi@^7.0.1: - version "7.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz" - integrity sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw== - dependencies: - ansi-regex "^6.0.1" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz" - integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== - -strip-bom@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz" - integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== - -strip-comments@^2.0.1: - 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@^2.0.0: - 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@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz" - integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== - dependencies: - min-indent "^1.0.0" - -strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: - 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== - -strnum@^1.0.4: - version "1.0.5" - resolved "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz" - integrity sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA== - -style-loader@^3.3.1: - version "3.3.1" - resolved "https://registry.npmjs.org/style-loader/-/style-loader-3.3.1.tgz" - integrity sha512-GPcQ+LDJbrcxHORTRes6Jy2sfvK2kS6hpSfI/fXhPt+spVzxF6LJ1dHLN9zIGmVaaP044YKaIatFaufENRiDoQ== + "integrity" "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==" + "resolved" "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz" + "version" "1.5.0" + +"statuses@~1.5.0": + "integrity" "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==" + "resolved" "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz" + "version" "1.5.0" + +"statuses@2.0.1": + "integrity" "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" + "resolved" "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz" + "version" "2.0.1" + +"string_decoder@^1.1.1": + "integrity" "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==" + "resolved" "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" + "version" "1.3.0" + dependencies: + "safe-buffer" "~5.2.0" + +"string_decoder@~1.1.1": + "integrity" "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==" + "resolved" "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" + "version" "1.1.1" + dependencies: + "safe-buffer" "~5.1.0" + +"string-length@^4.0.1": + "integrity" "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==" + "resolved" "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz" + "version" "4.0.2" + dependencies: + "char-regex" "^1.0.2" + "strip-ansi" "^6.0.0" + +"string-length@^5.0.1": + "integrity" "sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==" + "resolved" "https://registry.npmjs.org/string-length/-/string-length-5.0.1.tgz" + "version" "5.0.1" + dependencies: + "char-regex" "^2.0.0" + "strip-ansi" "^7.0.1" + +"string-natural-compare@^3.0.1": + "integrity" "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==" + "resolved" "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz" + "version" "3.0.1" + +"string-width@^4.1.0", "string-width@^4.2.0", "string-width@^4.2.3": + "integrity" "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==" + "resolved" "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + "version" "4.2.3" + dependencies: + "emoji-regex" "^8.0.0" + "is-fullwidth-code-point" "^3.0.0" + "strip-ansi" "^6.0.1" + +"string.prototype.matchall@^4.0.6", "string.prototype.matchall@^4.0.8": + "integrity" "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==" + "resolved" "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz" + "version" "4.0.8" + dependencies: + "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@^1.0.6": + "integrity" "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==" + "resolved" "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz" + "version" "1.0.6" + dependencies: + "call-bind" "^1.0.2" + "define-properties" "^1.1.4" + "es-abstract" "^1.20.4" + +"string.prototype.trimstart@^1.0.6": + "integrity" "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==" + "resolved" "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz" + "version" "1.0.6" + dependencies: + "call-bind" "^1.0.2" + "define-properties" "^1.1.4" + "es-abstract" "^1.20.4" + +"stringify-object@^3.3.0": + "integrity" "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==" + "resolved" "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz" + "version" "3.3.0" + dependencies: + "get-own-enumerable-property-symbols" "^3.0.0" + "is-obj" "^1.0.1" + "is-regexp" "^1.0.0" + +"strip-ansi@^5.0.0": + "integrity" "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==" + "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz" + "version" "5.2.0" + dependencies: + "ansi-regex" "^4.1.0" + +"strip-ansi@^5.2.0": + "integrity" "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==" + "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz" + "version" "5.2.0" + dependencies: + "ansi-regex" "^4.1.0" + +"strip-ansi@^6.0.0", "strip-ansi@^6.0.1": + "integrity" "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==" + "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + "version" "6.0.1" + dependencies: + "ansi-regex" "^5.0.1" + +"strip-ansi@^7.0.1": + "version" "7.0.1" + dependencies: + "ansi-regex" "^6.0.1" + +"strip-bom@^3.0.0": + "integrity" "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==" + "resolved" "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz" + "version" "3.0.0" + +"strip-bom@^4.0.0": + "integrity" "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==" + "resolved" "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz" + "version" "4.0.0" + +"strip-comments@^2.0.1": + "integrity" "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==" + "resolved" "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz" + "version" "2.0.1" + +"strip-eof@^1.0.0": + "integrity" "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==" + "resolved" "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz" + "version" "1.0.0" + +"strip-final-newline@^2.0.0": + "integrity" "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" + "resolved" "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" + "version" "2.0.0" + +"strip-indent@^3.0.0": + "integrity" "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==" + "resolved" "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "min-indent" "^1.0.0" + +"strip-json-comments@^3.1.0", "strip-json-comments@^3.1.1": + "integrity" "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" + "resolved" "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" + "version" "3.1.1" + +"strnum@^1.0.5": + "integrity" "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" + "resolved" "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz" + "version" "1.0.5" + +"style-loader@^3.3.1": + "version" "3.3.1" -stylehacks@^5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz" - integrity sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw== +"stylehacks@^5.1.1": + "integrity" "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==" + "resolved" "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz" + "version" "5.1.1" dependencies: - browserslist "^4.21.4" - postcss-selector-parser "^6.0.4" + "browserslist" "^4.21.4" + "postcss-selector-parser" "^6.0.4" + +"stylis@4.2.0": + "integrity" "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==" + "resolved" "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz" + "version" "4.2.0" -stylis@4.0.13: - version "4.0.13" - resolved "https://registry.npmjs.org/stylis/-/stylis-4.0.13.tgz" - integrity sha512-xGPXiFVl4YED9Jh7Euv2V220mriG9u4B2TA6Ybjc1catrstKD2PpIdU3U0RKpkVBC2EhmL/F0sPCr9vrFTNRag== +"sudo-prompt@^9.0.0": + "integrity" "sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==" + "resolved" "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-9.2.1.tgz" + "version" "9.2.1" -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^7.0.0, supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -supports-color@^8.0.0: - version "8.1.1" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" - -supports-hyperlinks@^2.0.0: - version "2.3.0" - resolved "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz" - integrity sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA== - dependencies: - has-flag "^4.0.0" - supports-color "^7.0.0" - -supports-preserve-symlinks-flag@^1.0.0: - 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@^2.0.2: - version "2.0.4" - resolved "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz" - integrity sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ== - -svg.draggable.js@^2.2.2: - version "2.2.2" - resolved "https://registry.npmjs.org/svg.draggable.js/-/svg.draggable.js-2.2.2.tgz" - integrity sha512-JzNHBc2fLQMzYCZ90KZHN2ohXL0BQJGQimK1kGk6AvSeibuKcIdDX9Kr0dT9+UJ5O8nYA0RB839Lhvk4CY4MZw== - dependencies: - svg.js "^2.0.1" - -svg.easing.js@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/svg.easing.js/-/svg.easing.js-2.0.0.tgz" - integrity sha1-iqmUawqOJ4V6XEChDrpAkeVpHxI= - dependencies: - svg.js ">=2.3.x" - -svg.filter.js@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/svg.filter.js/-/svg.filter.js-2.0.2.tgz" - integrity sha1-kQCOFROJ3ZIwd5/L5uLJo2LRwgM= - dependencies: - svg.js "^2.2.5" - -svg.js@>=2.3.x, svg.js@^2.0.1, svg.js@^2.2.5, svg.js@^2.4.0, svg.js@^2.6.5: - version "2.7.1" - resolved "https://registry.npmjs.org/svg.js/-/svg.js-2.7.1.tgz" - integrity sha512-ycbxpizEQktk3FYvn/8BH+6/EuWXg7ZpQREJvgacqn46gIddG24tNNe4Son6omdXCnSOaApnpZw6MPCBA1dODA== - -svg.pathmorphing.js@^0.1.3: - version "0.1.3" - resolved "https://registry.npmjs.org/svg.pathmorphing.js/-/svg.pathmorphing.js-0.1.3.tgz" - integrity sha512-49HWI9X4XQR/JG1qXkSDV8xViuTLIWm/B/7YuQELV5KMOPtXjiwH4XPJvr/ghEDibmLQ9Oc22dpWpG0vUDDNww== - dependencies: - svg.js "^2.4.0" - -svg.resize.js@^1.4.3: - version "1.4.3" - resolved "https://registry.npmjs.org/svg.resize.js/-/svg.resize.js-1.4.3.tgz" - integrity sha512-9k5sXJuPKp+mVzXNvxz7U0uC9oVMQrrf7cFsETznzUDDm0x8+77dtZkWdMfRlmbkEEYvUn9btKuZ3n41oNA+uw== - dependencies: - svg.js "^2.6.5" - svg.select.js "^2.1.2" - -svg.select.js@^2.1.2: - version "2.1.2" - resolved "https://registry.npmjs.org/svg.select.js/-/svg.select.js-2.1.2.tgz" - integrity sha512-tH6ABEyJsAOVAhwcCjF8mw4crjXSI1aa7j2VQR8ZuJ37H2MBUbyeqYr5nEO7sSN3cy9AR9DUwNg0t/962HlDbQ== - dependencies: - svg.js "^2.2.5" - -svg.select.js@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/svg.select.js/-/svg.select.js-3.0.1.tgz" - integrity sha512-h5IS/hKkuVCbKSieR9uQCj9w+zLHoPh+ce19bBYyqF53g6mnPB8sAtIbe1s9dh2S2fCmYX2xel1Ln3PJBbK4kw== +"supports-color@^5.3.0": + "integrity" "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==" + "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" + "version" "5.5.0" dependencies: - svg.js "^2.6.5" - -svgo@^1.2.2: - version "1.3.2" - resolved "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz" - integrity sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw== - dependencies: - 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" - -svgo@^2.7.0: - version "2.8.0" - resolved "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz" - integrity sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg== + "has-flag" "^3.0.0" + +"supports-color@^7.0.0", "supports-color@^7.1.0": + "integrity" "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==" + "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" + "version" "7.2.0" + dependencies: + "has-flag" "^4.0.0" + +"supports-color@^8.0.0": + "integrity" "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==" + "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" + "version" "8.1.1" + dependencies: + "has-flag" "^4.0.0" + +"supports-hyperlinks@^2.0.0": + "integrity" "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==" + "resolved" "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz" + "version" "2.3.0" + dependencies: + "has-flag" "^4.0.0" + "supports-color" "^7.0.0" + +"supports-preserve-symlinks-flag@^1.0.0": + "integrity" "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" + "resolved" "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" + "version" "1.0.0" + +"svg-parser@^2.0.2": + "integrity" "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" + "resolved" "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz" + "version" "2.0.4" + +"svg.draggable.js@^2.2.2": + "integrity" "sha512-JzNHBc2fLQMzYCZ90KZHN2ohXL0BQJGQimK1kGk6AvSeibuKcIdDX9Kr0dT9+UJ5O8nYA0RB839Lhvk4CY4MZw==" + "resolved" "https://registry.npmjs.org/svg.draggable.js/-/svg.draggable.js-2.2.2.tgz" + "version" "2.2.2" + dependencies: + "svg.js" "^2.0.1" + +"svg.easing.js@^2.0.0": + "integrity" "sha512-//ctPdJMGy22YoYGV+3HEfHbm6/69LJUTAqI2/5qBvaNHZ9uUFVC82B0Pl299HzgH13rKrBgi4+XyXXyVWWthA==" + "resolved" "https://registry.npmjs.org/svg.easing.js/-/svg.easing.js-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "svg.js" ">=2.3.x" + +"svg.filter.js@^2.0.2": + "integrity" "sha512-xkGBwU+dKBzqg5PtilaTb0EYPqPfJ9Q6saVldX+5vCRy31P6TlRCP3U9NxH3HEufkKkpNgdTLBJnmhDHeTqAkw==" + "resolved" "https://registry.npmjs.org/svg.filter.js/-/svg.filter.js-2.0.2.tgz" + "version" "2.0.2" + dependencies: + "svg.js" "^2.2.5" + +"svg.js@^2.0.1", "svg.js@^2.2.5", "svg.js@^2.4.0", "svg.js@^2.6.5", "svg.js@>=2.3.x": + "integrity" "sha512-ycbxpizEQktk3FYvn/8BH+6/EuWXg7ZpQREJvgacqn46gIddG24tNNe4Son6omdXCnSOaApnpZw6MPCBA1dODA==" + "resolved" "https://registry.npmjs.org/svg.js/-/svg.js-2.7.1.tgz" + "version" "2.7.1" + +"svg.pathmorphing.js@^0.1.3": + "integrity" "sha512-49HWI9X4XQR/JG1qXkSDV8xViuTLIWm/B/7YuQELV5KMOPtXjiwH4XPJvr/ghEDibmLQ9Oc22dpWpG0vUDDNww==" + "resolved" "https://registry.npmjs.org/svg.pathmorphing.js/-/svg.pathmorphing.js-0.1.3.tgz" + "version" "0.1.3" + dependencies: + "svg.js" "^2.4.0" + +"svg.resize.js@^1.4.3": + "integrity" "sha512-9k5sXJuPKp+mVzXNvxz7U0uC9oVMQrrf7cFsETznzUDDm0x8+77dtZkWdMfRlmbkEEYvUn9btKuZ3n41oNA+uw==" + "resolved" "https://registry.npmjs.org/svg.resize.js/-/svg.resize.js-1.4.3.tgz" + "version" "1.4.3" + dependencies: + "svg.js" "^2.6.5" + "svg.select.js" "^2.1.2" + +"svg.select.js@^2.1.2": + "integrity" "sha512-tH6ABEyJsAOVAhwcCjF8mw4crjXSI1aa7j2VQR8ZuJ37H2MBUbyeqYr5nEO7sSN3cy9AR9DUwNg0t/962HlDbQ==" + "resolved" "https://registry.npmjs.org/svg.select.js/-/svg.select.js-2.1.2.tgz" + "version" "2.1.2" + dependencies: + "svg.js" "^2.2.5" + +"svg.select.js@^3.0.1": + "integrity" "sha512-h5IS/hKkuVCbKSieR9uQCj9w+zLHoPh+ce19bBYyqF53g6mnPB8sAtIbe1s9dh2S2fCmYX2xel1Ln3PJBbK4kw==" + "resolved" "https://registry.npmjs.org/svg.select.js/-/svg.select.js-3.0.1.tgz" + "version" "3.0.1" + dependencies: + "svg.js" "^2.6.5" + +"svgo@^1.2.2": + "integrity" "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==" + "resolved" "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz" + "version" "1.3.2" + dependencies: + "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" + +"svgo@^2.7.0": + "integrity" "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==" + "resolved" "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz" + "version" "2.8.0" dependencies: "@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" - -symbol-observable@^1.0.2: - version "1.2.0" - resolved "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz" - integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ== - -symbol-observable@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz" - integrity sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ== - -symbol-tree@^3.2.4: - 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@^3.0.2: - version "3.2.4" - resolved "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.2.4.tgz" - integrity sha512-AhwtHCKMtR71JgeYDaswmZXhPcW9iuI9Sp2LvZPo9upDZ7231ZJ7eA9RaURbhpXGVlrjX4cFNlB4ieTetEb7hQ== - dependencies: - arg "^5.0.2" - chokidar "^3.5.3" - color-name "^1.1.4" - detective "^5.2.1" - didyoumean "^1.2.2" - dlv "^1.1.3" - fast-glob "^3.2.12" - glob-parent "^6.0.2" - is-glob "^4.0.3" - lilconfig "^2.0.6" - micromatch "^4.0.5" - normalize-path "^3.0.0" - object-hash "^3.0.0" - picocolors "^1.0.0" - postcss "^8.4.18" - postcss-import "^14.1.0" - postcss-js "^4.0.0" - postcss-load-config "^3.1.4" - postcss-nested "6.0.0" - postcss-selector-parser "^6.0.10" - postcss-value-parser "^4.2.0" - quick-lru "^5.1.1" - resolve "^1.22.1" - -tapable@^1.0.0: - version "1.1.3" - resolved "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz" - integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== - -tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0: - version "2.2.1" - resolved "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz" - integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== - -temp-dir@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz" - integrity sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg== - -tempy@^0.6.0: - version "0.6.0" - resolved "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz" - integrity sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw== - dependencies: - is-stream "^2.0.0" - temp-dir "^2.0.0" - type-fest "^0.16.0" - unique-string "^2.0.0" - -terminal-link@^2.0.0: - version "2.1.1" - resolved "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz" - integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== - dependencies: - ansi-escapes "^4.2.1" - supports-hyperlinks "^2.0.0" - -terser-webpack-plugin@^5.1.3, terser-webpack-plugin@^5.2.5: - version "5.3.6" - resolved "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz" - integrity sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ== + "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" + +"symbol-observable@^1.0.2": + "integrity" "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==" + "resolved" "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz" + "version" "1.2.0" + +"symbol-observable@^4.0.0": + "integrity" "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==" + "resolved" "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz" + "version" "4.0.0" + +"symbol-tree@^3.2.4": + "integrity" "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" + "resolved" "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz" + "version" "3.2.4" + +"tailwindcss@^3.0.2": + "version" "3.2.4" + dependencies: + "arg" "^5.0.2" + "chokidar" "^3.5.3" + "color-name" "^1.1.4" + "detective" "^5.2.1" + "didyoumean" "^1.2.2" + "dlv" "^1.1.3" + "fast-glob" "^3.2.12" + "glob-parent" "^6.0.2" + "is-glob" "^4.0.3" + "lilconfig" "^2.0.6" + "micromatch" "^4.0.5" + "normalize-path" "^3.0.0" + "object-hash" "^3.0.0" + "picocolors" "^1.0.0" + "postcss" "^8.4.18" + "postcss-import" "^14.1.0" + "postcss-js" "^4.0.0" + "postcss-load-config" "^3.1.4" + "postcss-nested" "6.0.0" + "postcss-selector-parser" "^6.0.10" + "postcss-value-parser" "^4.2.0" + "quick-lru" "^5.1.1" + "resolve" "^1.22.1" + +"tapable@^1.0.0": + "integrity" "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==" + "resolved" "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz" + "version" "1.1.3" + +"tapable@^2.0.0", "tapable@^2.1.1", "tapable@^2.2.0": + "integrity" "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==" + "resolved" "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz" + "version" "2.2.1" + +"temp-dir@^2.0.0": + "integrity" "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==" + "resolved" "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz" + "version" "2.0.0" + +"temp@^0.8.4": + "integrity" "sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==" + "resolved" "https://registry.npmjs.org/temp/-/temp-0.8.4.tgz" + "version" "0.8.4" + dependencies: + "rimraf" "~2.6.2" + +"temp@0.8.3": + "integrity" "sha512-jtnWJs6B1cZlHs9wPG7BrowKxZw/rf6+UpGAkr8AaYmiTyTO7zQlLoST8zx/8TcUPnZmeBoB+H8ARuHZaSijVw==" + "resolved" "https://registry.npmjs.org/temp/-/temp-0.8.3.tgz" + "version" "0.8.3" + dependencies: + "os-tmpdir" "^1.0.0" + "rimraf" "~2.2.6" + +"tempy@^0.6.0": + "integrity" "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==" + "resolved" "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz" + "version" "0.6.0" + dependencies: + "is-stream" "^2.0.0" + "temp-dir" "^2.0.0" + "type-fest" "^0.16.0" + "unique-string" "^2.0.0" + +"terminal-link@^2.0.0": + "integrity" "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==" + "resolved" "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz" + "version" "2.1.1" + dependencies: + "ansi-escapes" "^4.2.1" + "supports-hyperlinks" "^2.0.0" + +"terser-webpack-plugin@^5.1.3", "terser-webpack-plugin@^5.2.5": + "version" "5.3.6" dependencies: "@jridgewell/trace-mapping" "^0.3.14" - jest-worker "^27.4.5" - schema-utils "^3.1.1" - serialize-javascript "^6.0.0" - terser "^5.14.1" + "jest-worker" "^27.4.5" + "schema-utils" "^3.1.1" + "serialize-javascript" "^6.0.0" + "terser" "^5.14.1" -terser@^5.0.0, terser@^5.10.0, terser@^5.14.1: - version "5.16.1" - resolved "https://registry.npmjs.org/terser/-/terser-5.16.1.tgz" - integrity sha512-xvQfyfA1ayT0qdK47zskQgRZeWLoOQ8JQ6mIgRGVNwZKdQMU+5FkCBjmv4QjcrTzyZquRw2FVtlJSRUmMKQslw== +"terser@^5.0.0", "terser@^5.10.0", "terser@^5.14.1", "terser@^5.15.0": + "version" "5.16.1" dependencies: "@jridgewell/source-map" "^0.3.2" - acorn "^8.5.0" - commander "^2.20.0" - source-map-support "~0.5.20" + "acorn" "^8.5.0" + "commander" "^2.20.0" + "source-map-support" "~0.5.20" -test-exclude@^6.0.0: - 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== +"test-exclude@^6.0.0": + "integrity" "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==" + "resolved" "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz" + "version" "6.0.0" dependencies: "@istanbuljs/schema" "^0.1.2" - glob "^7.1.4" - minimatch "^3.0.4" - -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" - integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== - -throat@^6.0.1: - version "6.0.2" - resolved "https://registry.npmjs.org/throat/-/throat-6.0.2.tgz" - integrity sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ== - -thunky@^1.0.2: - version "1.1.0" - resolved "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz" - integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== - -tiny-warning@^1.0.2: - version "1.0.3" - resolved "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz" - integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== - -tmpl@1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz" - integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== - -to-fast-properties@^2.0.0: - 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@^5.0.1: - 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== - dependencies: - is-number "^7.0.0" - -toggle-selection@^1.0.6: - version "1.0.6" - resolved "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz" - integrity sha1-bkWxJj8gF/oKzH2J14sVuL932jI= - -toidentifier@1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz" - integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== - -toposort@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/toposort/-/toposort-2.0.2.tgz" - integrity sha1-riF2gXXRVZ1IvvNUILL0li8JwzA= - -tough-cookie@^4.0.0: - version "4.1.2" - resolved "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.2.tgz" - integrity sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ== - dependencies: - psl "^1.1.33" - punycode "^2.1.1" - universalify "^0.2.0" - url-parse "^1.5.3" - -tr46@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz" - integrity sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA== - dependencies: - punycode "^2.1.0" - -tr46@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz" - integrity sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw== - dependencies: - punycode "^2.1.1" - -tr46@~0.0.3: - version "0.0.3" - resolved "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz" - integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= - -tryer@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz" - integrity sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA== - -ts-invariant@^0.4.0: - version "0.4.4" - resolved "https://registry.npmjs.org/ts-invariant/-/ts-invariant-0.4.4.tgz" - integrity sha512-uEtWkFM/sdZvRNNDL3Ehu4WVpwaulhwQszV8mrtcdeE8nN00BV9mAmQ88RkrBhFgl9gMgvjJLAQcZbnPXI9mlA== - dependencies: - tslib "^1.9.3" - -ts-invariant@^0.9.4: - version "0.9.4" - resolved "https://registry.npmjs.org/ts-invariant/-/ts-invariant-0.9.4.tgz" - integrity sha512-63jtX/ZSwnUNi/WhXjnK8kz4cHHpYS60AnmA6ixz17l7E12a5puCWFlNpkne5Rl0J8TBPVHpGjsj4fxs8ObVLQ== - dependencies: - tslib "^2.1.0" - -tsconfig-paths@^3.14.1: - version "3.14.1" - resolved "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz" - integrity sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ== + "glob" "^7.1.4" + "minimatch" "^3.0.4" + +"text-table@^0.2.0": + "integrity" "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" + "resolved" "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" + "version" "0.2.0" + +"throat@^5.0.0": + "integrity" "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==" + "resolved" "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz" + "version" "5.0.0" + +"throat@^6.0.1": + "integrity" "sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==" + "resolved" "https://registry.npmjs.org/throat/-/throat-6.0.2.tgz" + "version" "6.0.2" + +"through2@^2.0.1": + "integrity" "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==" + "resolved" "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz" + "version" "2.0.5" + dependencies: + "readable-stream" "~2.3.6" + "xtend" "~4.0.1" + +"thunky@^1.0.2": + "integrity" "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" + "resolved" "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz" + "version" "1.1.0" + +"tiny-warning@^1.0.2": + "integrity" "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" + "resolved" "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz" + "version" "1.0.3" + +"tmpl@1.0.5": + "integrity" "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" + "resolved" "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz" + "version" "1.0.5" + +"to-fast-properties@^2.0.0": + "integrity" "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" + "resolved" "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" + "version" "2.0.0" + +"to-object-path@^0.3.0": + "integrity" "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==" + "resolved" "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz" + "version" "0.3.0" + dependencies: + "kind-of" "^3.0.2" + +"to-regex-range@^2.1.0": + "integrity" "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==" + "resolved" "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz" + "version" "2.1.1" + dependencies: + "is-number" "^3.0.0" + "repeat-string" "^1.6.1" + +"to-regex-range@^5.0.1": + "integrity" "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==" + "resolved" "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" + "version" "5.0.1" + dependencies: + "is-number" "^7.0.0" + +"to-regex@^3.0.1", "to-regex@^3.0.2": + "integrity" "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==" + "resolved" "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz" + "version" "3.0.2" + dependencies: + "define-property" "^2.0.2" + "extend-shallow" "^3.0.2" + "regex-not" "^1.0.2" + "safe-regex" "^1.1.0" + +"toggle-selection@^1.0.6": + "integrity" "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==" + "resolved" "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz" + "version" "1.0.6" + +"toidentifier@1.0.1": + "integrity" "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" + "resolved" "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz" + "version" "1.0.1" + +"toposort@^2.0.2": + "integrity" "sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg==" + "resolved" "https://registry.npmjs.org/toposort/-/toposort-2.0.2.tgz" + "version" "2.0.2" + +"tough-cookie@^4.0.0": + "version" "4.1.2" + dependencies: + "psl" "^1.1.33" + "punycode" "^2.1.1" + "universalify" "^0.2.0" + "url-parse" "^1.5.3" + +"tr46@^1.0.1": + "integrity" "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==" + "resolved" "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "punycode" "^2.1.0" + +"tr46@^2.1.0": + "integrity" "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==" + "resolved" "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "punycode" "^2.1.1" + +"tr46@~0.0.3": + "integrity" "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + "resolved" "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz" + "version" "0.0.3" + +"tryer@^1.0.1": + "integrity" "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==" + "resolved" "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz" + "version" "1.0.1" + +"ts-invariant@^0.4.0": + "integrity" "sha512-uEtWkFM/sdZvRNNDL3Ehu4WVpwaulhwQszV8mrtcdeE8nN00BV9mAmQ88RkrBhFgl9gMgvjJLAQcZbnPXI9mlA==" + "resolved" "https://registry.npmjs.org/ts-invariant/-/ts-invariant-0.4.4.tgz" + "version" "0.4.4" + dependencies: + "tslib" "^1.9.3" + +"ts-invariant@^0.9.4": + "version" "0.9.4" + dependencies: + "tslib" "^2.1.0" + +"tsconfig-paths@^3.14.1": + "version" "3.14.1" dependencies: "@types/json5" "^0.0.29" - json5 "^1.0.1" - minimist "^1.2.6" - strip-bom "^3.0.0" - -tslib@^1.10.0, tslib@^1.11.1, tslib@^1.8.0, tslib@^1.8.1, tslib@^1.9.3: - version "1.14.1" - resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - -tslib@^2.0.0, tslib@^2.1.0, tslib@^2.3.0, tslib@^2.3.1: - version "2.3.1" - resolved "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz" - integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== - -tslib@^2.0.3: - version "2.4.1" - resolved "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz" - integrity sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA== - -tsutils@^3.21.0: - version "3.21.0" - resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz" - integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== - dependencies: - tslib "^1.8.1" - -type-check@^0.4.0, type-check@~0.4.0: - version "0.4.0" - resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" - integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== - dependencies: - prelude-ls "^1.2.1" - -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz" - integrity sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg== - dependencies: - prelude-ls "~1.1.2" - -type-detect@4.0.8: - 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@^0.16.0: - version "0.16.0" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz" - integrity sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg== - -type-fest@^0.20.2: - 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-fest@^0.21.3: - 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== - -type-is@~1.6.18: - version "1.6.18" - resolved "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz" - integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== - dependencies: - media-typer "0.3.0" - mime-types "~2.1.24" - -typed-array-length@^1.0.4: - 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== - dependencies: - call-bind "^1.0.2" - for-each "^0.3.3" - is-typed-array "^1.1.9" - -typedarray-to-buffer@^3.1.5: - 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== - dependencies: - is-typedarray "^1.0.0" - -ulid@2.3.0: - version "2.3.0" - resolved "https://registry.npmjs.org/ulid/-/ulid-2.3.0.tgz" - integrity sha512-keqHubrlpvT6G2wH0OEfSW4mquYRcbe/J8NMmveoQOjUqmo+hXtO+ORCpWhdbZ7k72UtY61BL7haGxW6enBnjw== - -unbox-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz" - integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== - dependencies: - call-bind "^1.0.2" - has-bigints "^1.0.2" - has-symbols "^1.0.3" - which-boxed-primitive "^1.0.2" - -unfetch@^4.2.0: - version "4.2.0" - resolved "https://registry.npmjs.org/unfetch/-/unfetch-4.2.0.tgz" - integrity sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA== - -unicode-canonical-property-names-ecmascript@^2.0.0: - 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@^2.0.0: - 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== - dependencies: - unicode-canonical-property-names-ecmascript "^2.0.0" - unicode-property-aliases-ecmascript "^2.0.0" - -unicode-match-property-value-ecmascript@^2.1.0: - 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@^2.0.0: - 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@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz" - integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg== - dependencies: - crypto-random-string "^2.0.0" - -universal-cookie@^4.0.4: - version "4.0.4" - resolved "https://registry.npmjs.org/universal-cookie/-/universal-cookie-4.0.4.tgz" - integrity sha512-lbRVHoOMtItjWbM7TwDLdl8wug7izB0tq3/YVKhT/ahB4VDvWMyvnADfnJI8y6fSvsjh51Ix7lTGC6Tn4rMPhw== + "json5" "^1.0.1" + "minimist" "^1.2.6" + "strip-bom" "^3.0.0" + +"tslib@^1.10.0", "tslib@^1.11.1", "tslib@^1.8.0", "tslib@^1.8.1", "tslib@^1.9.3": + "integrity" "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "resolved" "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" + "version" "1.14.1" + +"tslib@^2.0.0": + "integrity" "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==" + "resolved" "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz" + "version" "2.5.3" + +"tslib@^2.0.1": + "integrity" "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==" + "resolved" "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz" + "version" "2.5.3" + +"tslib@^2.0.3": + "version" "2.4.1" + +"tslib@^2.1.0", "tslib@^2.3.0": + "version" "2.3.1" + +"tslib@^2.3.1": + "integrity" "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==" + "resolved" "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz" + "version" "2.5.3" + +"tslib@^2.5.0": + "integrity" "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==" + "resolved" "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz" + "version" "2.5.3" + +"tslib@2.3.0": + "integrity" "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" + "resolved" "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz" + "version" "2.3.0" + +"tsutils@^3.21.0": + "integrity" "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==" + "resolved" "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz" + "version" "3.21.0" + dependencies: + "tslib" "^1.8.1" + +"type-check@^0.4.0": + "integrity" "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==" + "resolved" "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" + "version" "0.4.0" + dependencies: + "prelude-ls" "^1.2.1" + +"type-check@~0.3.2": + "integrity" "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==" + "resolved" "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz" + "version" "0.3.2" + dependencies: + "prelude-ls" "~1.1.2" + +"type-check@~0.4.0": + "integrity" "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==" + "resolved" "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" + "version" "0.4.0" + dependencies: + "prelude-ls" "^1.2.1" + +"type-detect@4.0.8": + "integrity" "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" + "resolved" "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz" + "version" "4.0.8" + +"type-fest@^0.16.0": + "integrity" "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==" + "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz" + "version" "0.16.0" + +"type-fest@^0.20.2", "type-fest@>=0.17.0 <4.0.0": + "integrity" "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" + "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" + "version" "0.20.2" + +"type-fest@^0.21.3": + "integrity" "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" + "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz" + "version" "0.21.3" + +"type-fest@^0.7.1": + "integrity" "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==" + "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz" + "version" "0.7.1" + +"type-is@~1.6.18": + "integrity" "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==" + "resolved" "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz" + "version" "1.6.18" + dependencies: + "media-typer" "0.3.0" + "mime-types" "~2.1.24" + +"typed-array-length@^1.0.4": + "integrity" "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==" + "resolved" "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz" + "version" "1.0.4" + dependencies: + "call-bind" "^1.0.2" + "for-each" "^0.3.3" + "is-typed-array" "^1.1.9" + +"typedarray-to-buffer@^3.1.5": + "integrity" "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==" + "resolved" "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz" + "version" "3.1.5" + dependencies: + "is-typedarray" "^1.0.0" + +"typescript@^3.2.1 || ^4", "typescript@>= 2.7", "typescript@>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta": + "integrity" "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==" + "resolved" "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz" + "version" "4.9.5" + +"uglify-es@^3.1.9": + "integrity" "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==" + "resolved" "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz" + "version" "3.3.9" + dependencies: + "commander" "~2.13.0" + "source-map" "~0.6.1" + +"ulid@2.3.0": + "integrity" "sha512-keqHubrlpvT6G2wH0OEfSW4mquYRcbe/J8NMmveoQOjUqmo+hXtO+ORCpWhdbZ7k72UtY61BL7haGxW6enBnjw==" + "resolved" "https://registry.npmjs.org/ulid/-/ulid-2.3.0.tgz" + "version" "2.3.0" + +"unbox-primitive@^1.0.2": + "integrity" "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==" + "resolved" "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "call-bind" "^1.0.2" + "has-bigints" "^1.0.2" + "has-symbols" "^1.0.3" + "which-boxed-primitive" "^1.0.2" + +"unfetch@^4.2.0": + "integrity" "sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA==" + "resolved" "https://registry.npmjs.org/unfetch/-/unfetch-4.2.0.tgz" + "version" "4.2.0" + +"unicode-canonical-property-names-ecmascript@^2.0.0": + "integrity" "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==" + "resolved" "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz" + "version" "2.0.0" + +"unicode-match-property-ecmascript@^2.0.0": + "integrity" "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==" + "resolved" "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "unicode-canonical-property-names-ecmascript" "^2.0.0" + "unicode-property-aliases-ecmascript" "^2.0.0" + +"unicode-match-property-value-ecmascript@^2.1.0": + "integrity" "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==" + "resolved" "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz" + "version" "2.1.0" + +"unicode-property-aliases-ecmascript@^2.0.0": + "integrity" "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==" + "resolved" "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz" + "version" "2.1.0" + +"union-value@^1.0.0": + "integrity" "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==" + "resolved" "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "arr-union" "^3.1.0" + "get-value" "^2.0.6" + "is-extendable" "^0.1.1" + "set-value" "^2.0.1" + +"unique-string@^2.0.0": + "integrity" "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==" + "resolved" "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "crypto-random-string" "^2.0.0" + +"universal-cookie@^4.0.4": + "integrity" "sha512-lbRVHoOMtItjWbM7TwDLdl8wug7izB0tq3/YVKhT/ahB4VDvWMyvnADfnJI8y6fSvsjh51Ix7lTGC6Tn4rMPhw==" + "resolved" "https://registry.npmjs.org/universal-cookie/-/universal-cookie-4.0.4.tgz" + "version" "4.0.4" dependencies: "@types/cookie" "^0.3.3" - cookie "^0.4.0" - -universalify@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz" - integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg== - -universalify@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz" - integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== - -unpipe@1.0.0, unpipe@~1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" - integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== - -unquote@~1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz" - integrity sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg== - -upath@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz" - integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== - -update-browserslist-db@^1.0.9: - version "1.0.10" - resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz" - integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ== - dependencies: - escalade "^3.1.1" - picocolors "^1.0.0" - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -url-parse@^1.5.3: - version "1.5.10" - resolved "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz" - integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ== - dependencies: - querystringify "^2.1.1" - requires-port "^1.0.0" - -url-parser-lite@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/url-parser-lite/-/url-parser-lite-0.1.0.tgz" - integrity sha512-k8eUA7I5qfH6c1ZI9CvdHEk+YH1KroX2ry+FF9k6yJBl7AmDWen2WI+xNzbCBAek6JEvgPBoHub4v8aZIM7Jqw== - -url-search-params-polyfill@^7.0.0: - version "7.0.1" - resolved "https://registry.npmjs.org/url-search-params-polyfill/-/url-search-params-polyfill-7.0.1.tgz" - integrity sha512-bAw7L2E+jn9XHG5P9zrPnHdO0yJub4U+yXJOdpcpkr7OBd9T8oll4lUos0iSGRcDvfZoLUKfx9a6aNmIhJ4+mQ== - -url@^0.11.0: - version "0.11.0" - resolved "https://registry.npmjs.org/url/-/url-0.11.0.tgz" - integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= - dependencies: - punycode "1.3.2" - querystring "0.2.0" - -util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" - integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== - -util.promisify@~1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz" - integrity sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.2" - has-symbols "^1.0.1" - object.getownpropertydescriptors "^2.1.0" - -utila@~0.4: - 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@1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz" - integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== - -uuid@3.3.2: - version "3.3.2" - resolved "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz" - integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== - -uuid@^3.0.0, uuid@^3.2.1: - version "3.4.0" - resolved "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz" - integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== - -uuid@^8.3.2: - 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@^8.1.0: - version "8.1.1" - resolved "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz" - integrity sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w== + "cookie" "^0.4.0" + +"universalify@^0.1.0": + "integrity" "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + "resolved" "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz" + "version" "0.1.2" + +"universalify@^0.2.0": + "integrity" "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==" + "resolved" "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz" + "version" "0.2.0" + +"universalify@^2.0.0": + "integrity" "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" + "resolved" "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz" + "version" "2.0.0" + +"unpipe@~1.0.0", "unpipe@1.0.0": + "integrity" "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" + "resolved" "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" + "version" "1.0.0" + +"unquote@~1.1.1": + "integrity" "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==" + "resolved" "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz" + "version" "1.1.1" + +"unset-value@^1.0.0": + "integrity" "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==" + "resolved" "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "has-value" "^0.3.1" + "isobject" "^3.0.0" + +"upath@^1.2.0": + "integrity" "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==" + "resolved" "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz" + "version" "1.2.0" + +"update-browserslist-db@^1.0.9": + "version" "1.0.10" + dependencies: + "escalade" "^3.1.1" + "picocolors" "^1.0.0" + +"uri-js@^4.2.2": + "integrity" "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==" + "resolved" "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" + "version" "4.4.1" + dependencies: + "punycode" "^2.1.0" + +"urix@^0.1.0": + "integrity" "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==" + "resolved" "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz" + "version" "0.1.0" + +"url-parse@^1.5.3": + "integrity" "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==" + "resolved" "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz" + "version" "1.5.10" + dependencies: + "querystringify" "^2.1.1" + "requires-port" "^1.0.0" + +"url-parser-lite@^0.1.0": + "integrity" "sha512-k8eUA7I5qfH6c1ZI9CvdHEk+YH1KroX2ry+FF9k6yJBl7AmDWen2WI+xNzbCBAek6JEvgPBoHub4v8aZIM7Jqw==" + "resolved" "https://registry.npmjs.org/url-parser-lite/-/url-parser-lite-0.1.0.tgz" + "version" "0.1.0" + +"url-search-params-polyfill@^7.0.0": + "integrity" "sha512-bAw7L2E+jn9XHG5P9zrPnHdO0yJub4U+yXJOdpcpkr7OBd9T8oll4lUos0iSGRcDvfZoLUKfx9a6aNmIhJ4+mQ==" + "resolved" "https://registry.npmjs.org/url-search-params-polyfill/-/url-search-params-polyfill-7.0.1.tgz" + "version" "7.0.1" + +"url@^0.11.0", "url@0.11.0": + "integrity" "sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==" + "resolved" "https://registry.npmjs.org/url/-/url-0.11.0.tgz" + "version" "0.11.0" + dependencies: + "punycode" "1.3.2" + "querystring" "0.2.0" + +"use-sync-external-store@^1.0.0": + "integrity" "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==" + "resolved" "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz" + "version" "1.2.0" + +"use@^3.1.0": + "integrity" "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" + "resolved" "https://registry.npmjs.org/use/-/use-3.1.1.tgz" + "version" "3.1.1" + +"util-deprecate@^1.0.1", "util-deprecate@^1.0.2", "util-deprecate@~1.0.1": + "integrity" "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + "resolved" "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + "version" "1.0.2" + +"util.promisify@~1.0.0": + "integrity" "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==" + "resolved" "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "define-properties" "^1.1.3" + "es-abstract" "^1.17.2" + "has-symbols" "^1.0.1" + "object.getownpropertydescriptors" "^2.1.0" + +"utila@~0.4": + "integrity" "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==" + "resolved" "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz" + "version" "0.4.0" + +"utils-merge@1.0.1": + "integrity" "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==" + "resolved" "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz" + "version" "1.0.1" + +"uuid@^3.0.0", "uuid@^3.2.1", "uuid@3.4.0": + "integrity" "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + "resolved" "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz" + "version" "3.4.0" + +"uuid@^8.3.2": + "integrity" "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + "resolved" "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" + "version" "8.3.2" + +"v8-to-istanbul@^8.1.0": + "integrity" "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==" + "resolved" "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz" + "version" "8.1.1" dependencies: "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^1.6.0" - source-map "^0.7.3" - -vary@~1.1.2: - 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@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz" - integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== - dependencies: - browser-process-hrtime "^1.0.0" - -w3c-xmlserializer@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz" - integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== - dependencies: - xml-name-validator "^3.0.0" - -walker@^1.0.7: - version "1.0.8" - resolved "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz" - integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== - dependencies: - makeerror "1.0.12" - -watchpack@^2.4.0: - version "2.4.0" - resolved "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz" - integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== - dependencies: - glob-to-regexp "^0.4.1" - graceful-fs "^4.1.2" - -wbuf@^1.1.0, wbuf@^1.7.3: - version "1.7.3" - resolved "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz" - integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA== - dependencies: - minimalistic-assert "^1.0.0" - -web-vitals@^2.1.4: - version "2.1.4" - resolved "https://registry.npmjs.org/web-vitals/-/web-vitals-2.1.4.tgz" - integrity sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg== - -webidl-conversions@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz" - integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE= - -webidl-conversions@^4.0.2: - 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== - -webidl-conversions@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz" - integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== - -webidl-conversions@^6.1.0: - version "6.1.0" - resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz" - integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== - -webpack-dev-middleware@^5.3.1: - 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== - dependencies: - colorette "^2.0.10" - memfs "^3.4.3" - mime-types "^2.1.31" - range-parser "^1.2.1" - schema-utils "^4.0.0" - -webpack-dev-server@^4.6.0: - version "4.11.1" - resolved "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.11.1.tgz" - integrity sha512-lILVz9tAUy1zGFwieuaQtYiadImb5M3d+H+L1zDYalYoDl0cksAB1UNyuE5MMWJrG6zR1tXkCP2fitl7yoUJiw== + "convert-source-map" "^1.6.0" + "source-map" "^0.7.3" + +"vary@~1.1.2": + "integrity" "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" + "resolved" "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz" + "version" "1.1.2" + +"vlq@^1.0.0": + "integrity" "sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==" + "resolved" "https://registry.npmjs.org/vlq/-/vlq-1.0.1.tgz" + "version" "1.0.1" + +"w3c-hr-time@^1.0.2": + "integrity" "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==" + "resolved" "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "browser-process-hrtime" "^1.0.0" + +"w3c-xmlserializer@^2.0.0": + "integrity" "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==" + "resolved" "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "xml-name-validator" "^3.0.0" + +"walker@^1.0.7": + "integrity" "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==" + "resolved" "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz" + "version" "1.0.8" + dependencies: + "makeerror" "1.0.12" + +"watchpack@^2.4.0": + "integrity" "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==" + "resolved" "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz" + "version" "2.4.0" + dependencies: + "glob-to-regexp" "^0.4.1" + "graceful-fs" "^4.1.2" + +"wbuf@^1.1.0", "wbuf@^1.7.3": + "integrity" "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==" + "resolved" "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz" + "version" "1.7.3" + dependencies: + "minimalistic-assert" "^1.0.0" + +"wcwidth@^1.0.1": + "integrity" "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==" + "resolved" "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "defaults" "^1.0.3" + +"web-vitals@^2.1.4": + "integrity" "sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg==" + "resolved" "https://registry.npmjs.org/web-vitals/-/web-vitals-2.1.4.tgz" + "version" "2.1.4" + +"webidl-conversions@^3.0.0": + "integrity" "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + "resolved" "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz" + "version" "3.0.1" + +"webidl-conversions@^4.0.2": + "integrity" "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" + "resolved" "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz" + "version" "4.0.2" + +"webidl-conversions@^5.0.0": + "integrity" "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==" + "resolved" "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz" + "version" "5.0.0" + +"webidl-conversions@^6.1.0": + "integrity" "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==" + "resolved" "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz" + "version" "6.1.0" + +"webpack-dev-middleware@^5.3.1": + "integrity" "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==" + "resolved" "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz" + "version" "5.3.3" + dependencies: + "colorette" "^2.0.10" + "memfs" "^3.4.3" + "mime-types" "^2.1.31" + "range-parser" "^1.2.1" + "schema-utils" "^4.0.0" + +"webpack-dev-server@^4.6.0", "webpack-dev-server@3.x || 4.x": + "version" "4.11.1" dependencies: "@types/bonjour" "^3.5.9" "@types/connect-history-api-fallback" "^1.3.5" @@ -12166,206 +14044,212 @@ webpack-dev-server@^4.6.0: "@types/serve-static" "^1.13.10" "@types/sockjs" "^0.3.33" "@types/ws" "^8.5.1" - 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" - 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.4.2" - -webpack-manifest-plugin@^4.0.2: - version "4.1.1" - resolved "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-4.1.1.tgz" - integrity sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow== - dependencies: - tapable "^2.0.0" - webpack-sources "^2.2.0" - -webpack-sources@^1.4.3: - version "1.4.3" - resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz" - integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== - dependencies: - source-list-map "^2.0.0" - source-map "~0.6.1" - -webpack-sources@^2.2.0: - version "2.3.1" - resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.1.tgz" - integrity sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA== - dependencies: - source-list-map "^2.0.1" - source-map "^0.6.1" - -webpack-sources@^3.2.3: - 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== - -webpack@^5.64.4: - version "5.76.1" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.76.1.tgz#7773de017e988bccb0f13c7d75ec245f377d295c" - integrity sha512-4+YIK4Abzv8172/SGqObnUjaIHjLEuUasz9EwQj/9xmPPkYJy2Mh03Q/lJfSD3YLzbxy5FeTq5Uw0323Oh6SJQ== + "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" + "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.4.2" + +"webpack-manifest-plugin@^4.0.2": + "integrity" "sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow==" + "resolved" "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-4.1.1.tgz" + "version" "4.1.1" + dependencies: + "tapable" "^2.0.0" + "webpack-sources" "^2.2.0" + +"webpack-sources@^1.4.3": + "integrity" "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==" + "resolved" "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz" + "version" "1.4.3" + dependencies: + "source-list-map" "^2.0.0" + "source-map" "~0.6.1" + +"webpack-sources@^2.2.0": + "integrity" "sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==" + "resolved" "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.1.tgz" + "version" "2.3.1" + dependencies: + "source-list-map" "^2.0.1" + "source-map" "^0.6.1" + +"webpack-sources@^3.2.3": + "integrity" "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==" + "resolved" "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz" + "version" "3.2.3" + +"webpack@^4.0.0 || ^5.0.0", "webpack@^4.37.0 || ^5.0.0", "webpack@^4.4.0 || ^5.9.0", "webpack@^4.44.2 || ^5.47.0", "webpack@^5.0.0", "webpack@^5.1.0", "webpack@^5.20.0", "webpack@^5.64.4", "webpack@>= 4", "webpack@>=2", "webpack@>=4.43.0 <6.0.0": + "version" "5.76.1" dependencies: "@types/eslint-scope" "^3.7.3" "@types/estree" "^0.0.51" "@webassemblyjs/ast" "1.11.1" "@webassemblyjs/wasm-edit" "1.11.1" "@webassemblyjs/wasm-parser" "1.11.1" - acorn "^8.7.1" - acorn-import-assertions "^1.7.6" - browserslist "^4.14.5" - chrome-trace-event "^1.0.2" - enhanced-resolve "^5.10.0" - es-module-lexer "^0.9.0" - 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.1.0" - tapable "^2.1.1" - terser-webpack-plugin "^5.1.3" - watchpack "^2.4.0" - webpack-sources "^3.2.3" - -websocket-driver@>=0.5.1, websocket-driver@^0.7.4: - version "0.7.4" - resolved "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz" - integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== - dependencies: - http-parser-js ">=0.5.1" - safe-buffer ">=5.1.0" - websocket-extensions ">=0.1.1" - -websocket-extensions@>=0.1.1: - 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@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz" - integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== - dependencies: - iconv-lite "0.4.24" - -whatwg-fetch@^3.6.2: - version "3.6.2" - resolved "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz" - integrity sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA== - -whatwg-mimetype@^2.3.0: - 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@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz" - integrity sha1-lmRU6HZUYuN2RNNib2dCzotwll0= - dependencies: - tr46 "~0.0.3" - webidl-conversions "^3.0.0" - -whatwg-url@^7.0.0: - version "7.1.0" - resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz" - integrity sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg== - dependencies: - lodash.sortby "^4.7.0" - tr46 "^1.0.1" - webidl-conversions "^4.0.2" - -whatwg-url@^8.0.0, whatwg-url@^8.5.0: - version "8.7.0" - resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz" - integrity sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg== - dependencies: - lodash "^4.7.0" - tr46 "^2.1.0" - webidl-conversions "^6.1.0" - -which-boxed-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz" - integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== - dependencies: - 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@^1.1.9: - version "1.1.9" - resolved "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz" - integrity sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA== - dependencies: - 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" - is-typed-array "^1.1.10" - -which@^1.2.9, which@^1.3.1: - version "1.3.1" - resolved "https://registry.npmjs.org/which/-/which-1.3.1.tgz" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== - dependencies: - isexe "^2.0.0" - -which@^2.0.1: - version "2.0.2" - resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -word-wrap@^1.2.3, word-wrap@~1.2.3: - version "1.2.3" - resolved "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz" - integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== - -workbox-background-sync@6.5.4: - version "6.5.4" - resolved "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-6.5.4.tgz" - integrity sha512-0r4INQZMyPky/lj4Ou98qxcThrETucOde+7mRGJl13MPJugQNKeZQOdIJe/1AchOP23cTqHcN/YVpD6r8E6I8g== - dependencies: - idb "^7.0.1" - workbox-core "6.5.4" - -workbox-broadcast-update@6.5.4: - version "6.5.4" - resolved "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-6.5.4.tgz" - integrity sha512-I/lBERoH1u3zyBosnpPEtcAVe5lwykx9Yg1k6f8/BGEPGaMMgZrwVrqL1uA9QZ1NGGFoyE6t9i7lBjOlDhFEEw== - dependencies: - workbox-core "6.5.4" - -workbox-build@6.5.4: - version "6.5.4" - resolved "https://registry.npmjs.org/workbox-build/-/workbox-build-6.5.4.tgz" - integrity sha512-kgRevLXEYvUW9WS4XoziYqZ8Q9j/2ziJYEtTrjdz5/L/cTUa2XfyMP2i7c3p34lgqJ03+mTiz13SdFef2POwbA== + "acorn" "^8.7.1" + "acorn-import-assertions" "^1.7.6" + "browserslist" "^4.14.5" + "chrome-trace-event" "^1.0.2" + "enhanced-resolve" "^5.10.0" + "es-module-lexer" "^0.9.0" + "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.1.0" + "tapable" "^2.1.1" + "terser-webpack-plugin" "^5.1.3" + "watchpack" "^2.4.0" + "webpack-sources" "^3.2.3" + +"websocket-driver@^0.7.4", "websocket-driver@>=0.5.1": + "integrity" "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==" + "resolved" "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz" + "version" "0.7.4" + dependencies: + "http-parser-js" ">=0.5.1" + "safe-buffer" ">=5.1.0" + "websocket-extensions" ">=0.1.1" + +"websocket-extensions@>=0.1.1": + "integrity" "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==" + "resolved" "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz" + "version" "0.1.4" + +"whatwg-encoding@^1.0.5": + "integrity" "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==" + "resolved" "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz" + "version" "1.0.5" + dependencies: + "iconv-lite" "0.4.24" + +"whatwg-fetch@^3.0.0", "whatwg-fetch@^3.6.2": + "integrity" "sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==" + "resolved" "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz" + "version" "3.6.2" + +"whatwg-mimetype@^2.3.0": + "integrity" "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" + "resolved" "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz" + "version" "2.3.0" + +"whatwg-url-without-unicode@8.0.0-3": + "integrity" "sha512-HoKuzZrUlgpz35YO27XgD28uh/WJH4B0+3ttFqRo//lmq+9T/mIOJ6kqmINI9HpUpz1imRC/nR/lxKpJiv0uig==" + "resolved" "https://registry.npmjs.org/whatwg-url-without-unicode/-/whatwg-url-without-unicode-8.0.0-3.tgz" + "version" "8.0.0-3" + dependencies: + "buffer" "^5.4.3" + "punycode" "^2.1.1" + "webidl-conversions" "^5.0.0" + +"whatwg-url@^5.0.0": + "integrity" "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==" + "resolved" "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz" + "version" "5.0.0" + dependencies: + "tr46" "~0.0.3" + "webidl-conversions" "^3.0.0" + +"whatwg-url@^7.0.0": + "integrity" "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==" + "resolved" "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz" + "version" "7.1.0" + dependencies: + "lodash.sortby" "^4.7.0" + "tr46" "^1.0.1" + "webidl-conversions" "^4.0.2" + +"whatwg-url@^8.0.0", "whatwg-url@^8.5.0": + "integrity" "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==" + "resolved" "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz" + "version" "8.7.0" + dependencies: + "lodash" "^4.7.0" + "tr46" "^2.1.0" + "webidl-conversions" "^6.1.0" + +"which-boxed-primitive@^1.0.2": + "integrity" "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==" + "resolved" "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "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-module@^2.0.0": + "integrity" "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==" + "resolved" "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz" + "version" "2.0.1" + +"which-typed-array@^1.1.9": + "integrity" "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==" + "resolved" "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz" + "version" "1.1.9" + dependencies: + "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" + "is-typed-array" "^1.1.10" + +"which@^1.2.9", "which@^1.3.1": + "integrity" "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==" + "resolved" "https://registry.npmjs.org/which/-/which-1.3.1.tgz" + "version" "1.3.1" + dependencies: + "isexe" "^2.0.0" + +"which@^2.0.1": + "integrity" "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==" + "resolved" "https://registry.npmjs.org/which/-/which-2.0.2.tgz" + "version" "2.0.2" + dependencies: + "isexe" "^2.0.0" + +"word-wrap@^1.2.3", "word-wrap@~1.2.3": + "integrity" "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" + "resolved" "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz" + "version" "1.2.3" + +"workbox-background-sync@6.5.4": + "version" "6.5.4" + dependencies: + "idb" "^7.0.1" + "workbox-core" "6.5.4" + +"workbox-broadcast-update@6.5.4": + "version" "6.5.4" + dependencies: + "workbox-core" "6.5.4" + +"workbox-build@6.5.4": + "version" "6.5.4" dependencies: "@apideck/better-ajv-errors" "^0.3.1" "@babel/core" "^7.11.1" @@ -12375,293 +14259,354 @@ workbox-build@6.5.4: "@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.5.4" - workbox-broadcast-update "6.5.4" - workbox-cacheable-response "6.5.4" - workbox-core "6.5.4" - workbox-expiration "6.5.4" - workbox-google-analytics "6.5.4" - workbox-navigation-preload "6.5.4" - workbox-precaching "6.5.4" - workbox-range-requests "6.5.4" - workbox-recipes "6.5.4" - workbox-routing "6.5.4" - workbox-strategies "6.5.4" - workbox-streams "6.5.4" - workbox-sw "6.5.4" - workbox-window "6.5.4" - -workbox-cacheable-response@6.5.4: - version "6.5.4" - resolved "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.5.4.tgz" - integrity sha512-DCR9uD0Fqj8oB2TSWQEm1hbFs/85hXXoayVwFKLVuIuxwJaihBsLsp4y7J9bvZbqtPJ1KlCkmYVGQKrBU4KAug== - dependencies: - workbox-core "6.5.4" - -workbox-core@6.5.4: - version "6.5.4" - resolved "https://registry.npmjs.org/workbox-core/-/workbox-core-6.5.4.tgz" - integrity sha512-OXYb+m9wZm8GrORlV2vBbE5EC1FKu71GGp0H4rjmxmF4/HLbMCoTFws87M3dFwgpmg0v00K++PImpNQ6J5NQ6Q== - -workbox-expiration@6.5.4: - version "6.5.4" - resolved "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.5.4.tgz" - integrity sha512-jUP5qPOpH1nXtjGGh1fRBa1wJL2QlIb5mGpct3NzepjGG2uFFBn4iiEBiI9GUmfAFR2ApuRhDydjcRmYXddiEQ== - dependencies: - idb "^7.0.1" - workbox-core "6.5.4" - -workbox-google-analytics@6.5.4: - version "6.5.4" - resolved "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-6.5.4.tgz" - integrity sha512-8AU1WuaXsD49249Wq0B2zn4a/vvFfHkpcFfqAFHNHwln3jK9QUYmzdkKXGIZl9wyKNP+RRX30vcgcyWMcZ9VAg== - dependencies: - workbox-background-sync "6.5.4" - workbox-core "6.5.4" - workbox-routing "6.5.4" - workbox-strategies "6.5.4" - -workbox-navigation-preload@6.5.4: - version "6.5.4" - resolved "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-6.5.4.tgz" - integrity sha512-IIwf80eO3cr8h6XSQJF+Hxj26rg2RPFVUmJLUlM0+A2GzB4HFbQyKkrgD5y2d84g2IbJzP4B4j5dPBRzamHrng== - dependencies: - workbox-core "6.5.4" - -workbox-precaching@6.5.4: - version "6.5.4" - resolved "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-6.5.4.tgz" - integrity sha512-hSMezMsW6btKnxHB4bFy2Qfwey/8SYdGWvVIKFaUm8vJ4E53JAY+U2JwLTRD8wbLWoP6OVUdFlXsTdKu9yoLTg== - dependencies: - workbox-core "6.5.4" - workbox-routing "6.5.4" - workbox-strategies "6.5.4" - -workbox-range-requests@6.5.4: - version "6.5.4" - resolved "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-6.5.4.tgz" - integrity sha512-Je2qR1NXCFC8xVJ/Lux6saH6IrQGhMpDrPXWZWWS8n/RD+WZfKa6dSZwU+/QksfEadJEr/NfY+aP/CXFFK5JFg== - dependencies: - workbox-core "6.5.4" - -workbox-recipes@6.5.4: - version "6.5.4" - resolved "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-6.5.4.tgz" - integrity sha512-QZNO8Ez708NNwzLNEXTG4QYSKQ1ochzEtRLGaq+mr2PyoEIC1xFW7MrWxrONUxBFOByksds9Z4//lKAX8tHyUA== - dependencies: - workbox-cacheable-response "6.5.4" - workbox-core "6.5.4" - workbox-expiration "6.5.4" - workbox-precaching "6.5.4" - workbox-routing "6.5.4" - workbox-strategies "6.5.4" - -workbox-routing@6.5.4: - version "6.5.4" - resolved "https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.5.4.tgz" - integrity sha512-apQswLsbrrOsBUWtr9Lf80F+P1sHnQdYodRo32SjiByYi36IDyL2r7BH1lJtFX8fwNHDa1QOVY74WKLLS6o5Pg== - dependencies: - workbox-core "6.5.4" - -workbox-strategies@6.5.4: - version "6.5.4" - resolved "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.5.4.tgz" - integrity sha512-DEtsxhx0LIYWkJBTQolRxG4EI0setTJkqR4m7r4YpBdxtWJH1Mbg01Cj8ZjNOO8etqfA3IZaOPHUxCs8cBsKLw== - dependencies: - workbox-core "6.5.4" - -workbox-streams@6.5.4: - version "6.5.4" - resolved "https://registry.npmjs.org/workbox-streams/-/workbox-streams-6.5.4.tgz" - integrity sha512-FXKVh87d2RFXkliAIheBojBELIPnWbQdyDvsH3t74Cwhg0fDheL1T8BqSM86hZvC0ZESLsznSYWw+Va+KVbUzg== - dependencies: - workbox-core "6.5.4" - workbox-routing "6.5.4" - -workbox-sw@6.5.4: - version "6.5.4" - resolved "https://registry.npmjs.org/workbox-sw/-/workbox-sw-6.5.4.tgz" - integrity sha512-vo2RQo7DILVRoH5LjGqw3nphavEjK4Qk+FenXeUsknKn14eCNedHOXWbmnvP4ipKhlE35pvJ4yl4YYf6YsJArA== - -workbox-webpack-plugin@^6.4.1: - version "6.5.4" - resolved "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-6.5.4.tgz" - integrity sha512-LmWm/zoaahe0EGmMTrSLUi+BjyR3cdGEfU3fS6PN1zKFYbqAKuQ+Oy/27e4VSXsyIwAw8+QDfk1XHNGtZu9nQg== - dependencies: - fast-json-stable-stringify "^2.1.0" - pretty-bytes "^5.4.1" - upath "^1.2.0" - webpack-sources "^1.4.3" - workbox-build "6.5.4" - -workbox-window@6.5.4: - version "6.5.4" - resolved "https://registry.npmjs.org/workbox-window/-/workbox-window-6.5.4.tgz" - integrity sha512-HnLZJDwYBE+hpG25AQBO8RUWBJRaCsI9ksQJEp3aCOFCaG5kqaToAYXFRAHxzRluM2cQbGzdQF5rjKPWPA1fug== + "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.5.4" + "workbox-broadcast-update" "6.5.4" + "workbox-cacheable-response" "6.5.4" + "workbox-core" "6.5.4" + "workbox-expiration" "6.5.4" + "workbox-google-analytics" "6.5.4" + "workbox-navigation-preload" "6.5.4" + "workbox-precaching" "6.5.4" + "workbox-range-requests" "6.5.4" + "workbox-recipes" "6.5.4" + "workbox-routing" "6.5.4" + "workbox-strategies" "6.5.4" + "workbox-streams" "6.5.4" + "workbox-sw" "6.5.4" + "workbox-window" "6.5.4" + +"workbox-cacheable-response@6.5.4": + "version" "6.5.4" + dependencies: + "workbox-core" "6.5.4" + +"workbox-core@6.5.4": + "version" "6.5.4" + +"workbox-expiration@6.5.4": + "version" "6.5.4" + dependencies: + "idb" "^7.0.1" + "workbox-core" "6.5.4" + +"workbox-google-analytics@6.5.4": + "version" "6.5.4" + dependencies: + "workbox-background-sync" "6.5.4" + "workbox-core" "6.5.4" + "workbox-routing" "6.5.4" + "workbox-strategies" "6.5.4" + +"workbox-navigation-preload@6.5.4": + "version" "6.5.4" + dependencies: + "workbox-core" "6.5.4" + +"workbox-precaching@6.5.4": + "version" "6.5.4" + dependencies: + "workbox-core" "6.5.4" + "workbox-routing" "6.5.4" + "workbox-strategies" "6.5.4" + +"workbox-range-requests@6.5.4": + "version" "6.5.4" + dependencies: + "workbox-core" "6.5.4" + +"workbox-recipes@6.5.4": + "version" "6.5.4" + dependencies: + "workbox-cacheable-response" "6.5.4" + "workbox-core" "6.5.4" + "workbox-expiration" "6.5.4" + "workbox-precaching" "6.5.4" + "workbox-routing" "6.5.4" + "workbox-strategies" "6.5.4" + +"workbox-routing@6.5.4": + "version" "6.5.4" + dependencies: + "workbox-core" "6.5.4" + +"workbox-strategies@6.5.4": + "version" "6.5.4" + dependencies: + "workbox-core" "6.5.4" + +"workbox-streams@6.5.4": + "version" "6.5.4" + dependencies: + "workbox-core" "6.5.4" + "workbox-routing" "6.5.4" + +"workbox-sw@6.5.4": + "version" "6.5.4" + +"workbox-webpack-plugin@^6.4.1": + "version" "6.5.4" + dependencies: + "fast-json-stable-stringify" "^2.1.0" + "pretty-bytes" "^5.4.1" + "upath" "^1.2.0" + "webpack-sources" "^1.4.3" + "workbox-build" "6.5.4" + +"workbox-window@6.5.4": + "version" "6.5.4" dependencies: "@types/trusted-types" "^2.0.2" - workbox-core "6.5.4" - -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" - integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== - -write-file-atomic@^3.0.0: - 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== - dependencies: - imurmurhash "^0.1.4" - is-typedarray "^1.0.0" - signal-exit "^3.0.2" - typedarray-to-buffer "^3.1.5" - -ws@^7.4.6: - version "7.5.9" - resolved "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz" - integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== - -ws@^8.4.2: - version "8.12.0" - resolved "https://registry.npmjs.org/ws/-/ws-8.12.0.tgz" - integrity sha512-kU62emKIdKVeEIOIKVegvqpXMSTAMLJozpHZaJNDYqBjzlSYXQGviYwN1osDLJ9av68qHd4a2oSjd7yD4pacig== - -xdate@^0.8.2: - version "0.8.2" - resolved "https://registry.npmjs.org/xdate/-/xdate-0.8.2.tgz" - integrity sha1-17AzwASF0CaVuvAET06s2j/JYaM= - -xml-name-validator@^3.0.0: - 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@^2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz" - integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== - -xtend@^4.0.2: - version "4.0.2" - resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== - -y18n@^5.0.5: - version "5.0.8" - resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" - integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== - -yallist@^3.0.2: - version "3.1.1" - resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yaml@^1.10.0, yaml@^1.10.2, yaml@^1.7.2: - version "1.10.2" - resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" - integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== - -yargs-parser@^20.2.2: - version "20.2.9" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz" - integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== - -yargs@^16.2.0: - version "16.2.0" - resolved "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz" - integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== - dependencies: - 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" - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== - -yup@^0.32.11: - version "0.32.11" - resolved "https://registry.npmjs.org/yup/-/yup-0.32.11.tgz" - integrity sha512-Z2Fe1bn+eLstG8DRR6FTavGD+MeAwyfmouhHsIUgaADz8jvFKbO/fXc2trJKZg+5EBjh4gGm3iU/t3onKlXHIg== + "workbox-core" "6.5.4" + +"wrap-ansi@^6.2.0": + "integrity" "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==" + "resolved" "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz" + "version" "6.2.0" + dependencies: + "ansi-styles" "^4.0.0" + "string-width" "^4.1.0" + "strip-ansi" "^6.0.0" + +"wrap-ansi@^7.0.0": + "integrity" "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==" + "resolved" "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" + "version" "7.0.0" + dependencies: + "ansi-styles" "^4.0.0" + "string-width" "^4.1.0" + "strip-ansi" "^6.0.0" + +"wrappy@1": + "integrity" "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + "resolved" "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + "version" "1.0.2" + +"write-file-atomic@^2.3.0": + "integrity" "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==" + "resolved" "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz" + "version" "2.4.3" + dependencies: + "graceful-fs" "^4.1.11" + "imurmurhash" "^0.1.4" + "signal-exit" "^3.0.2" + +"write-file-atomic@^3.0.0": + "integrity" "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==" + "resolved" "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz" + "version" "3.0.3" + dependencies: + "imurmurhash" "^0.1.4" + "is-typedarray" "^1.0.0" + "signal-exit" "^3.0.2" + "typedarray-to-buffer" "^3.1.5" + +"ws@^6.2.2": + "integrity" "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==" + "resolved" "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz" + "version" "6.2.2" + dependencies: + "async-limiter" "~1.0.0" + +"ws@^7.4.6": + "integrity" "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==" + "resolved" "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz" + "version" "7.5.9" + +"ws@^7.5.1": + "integrity" "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==" + "resolved" "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz" + "version" "7.5.9" + +"ws@^7": + "integrity" "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==" + "resolved" "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz" + "version" "7.5.9" + +"ws@^8.4.2": + "version" "8.12.0" + +"xml-name-validator@^3.0.0": + "integrity" "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" + "resolved" "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz" + "version" "3.0.0" + +"xmlchars@^2.2.0": + "integrity" "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" + "resolved" "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz" + "version" "2.2.0" + +"xss@^1.0.11": + "integrity" "sha512-og7TEJhXvn1a7kzZGQ7ETjdQVS2UfZyTlsEdDOqvQF7GoxNfY+0YLCzBy1kPdsDDx4QuNAonQPddpsn6Xl/7sw==" + "resolved" "https://registry.npmjs.org/xss/-/xss-1.0.14.tgz" + "version" "1.0.14" + dependencies: + "commander" "^2.20.3" + "cssfilter" "0.0.10" + +"xtend@^4.0.2", "xtend@~4.0.1": + "integrity" "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + "resolved" "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" + "version" "4.0.2" + +"y18n@^4.0.0": + "integrity" "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" + "resolved" "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz" + "version" "4.0.3" + +"y18n@^5.0.5": + "integrity" "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" + "resolved" "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" + "version" "5.0.8" + +"yallist@^3.0.2": + "integrity" "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + "resolved" "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" + "version" "3.1.1" + +"yallist@^4.0.0": + "integrity" "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + "resolved" "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" + "version" "4.0.0" + +"yaml@^1.10.0", "yaml@^1.10.2", "yaml@^1.7.2": + "integrity" "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" + "resolved" "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" + "version" "1.10.2" + +"yargs-parser@^18.1.2": + "integrity" "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==" + "resolved" "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz" + "version" "18.1.3" + dependencies: + "camelcase" "^5.0.0" + "decamelize" "^1.2.0" + +"yargs-parser@^20.2.2": + "integrity" "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" + "resolved" "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz" + "version" "20.2.9" + +"yargs-parser@^21.1.1": + "integrity" "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==" + "resolved" "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz" + "version" "21.1.1" + +"yargs@^15.1.0": + "integrity" "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==" + "resolved" "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz" + "version" "15.4.1" + dependencies: + "cliui" "^6.0.0" + "decamelize" "^1.2.0" + "find-up" "^4.1.0" + "get-caller-file" "^2.0.1" + "require-directory" "^2.1.1" + "require-main-filename" "^2.0.0" + "set-blocking" "^2.0.0" + "string-width" "^4.2.0" + "which-module" "^2.0.0" + "y18n" "^4.0.0" + "yargs-parser" "^18.1.2" + +"yargs@^16.2.0": + "integrity" "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==" + "resolved" "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz" + "version" "16.2.0" + dependencies: + "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@^17.5.1": + "integrity" "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==" + "resolved" "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz" + "version" "17.7.2" + dependencies: + "cliui" "^8.0.1" + "escalade" "^3.1.1" + "get-caller-file" "^2.0.5" + "require-directory" "^2.1.1" + "string-width" "^4.2.3" + "y18n" "^5.0.5" + "yargs-parser" "^21.1.1" + +"yocto-queue@^0.1.0": + "integrity" "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" + "resolved" "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" + "version" "0.1.0" + +"yup@^0.32.11": + "integrity" "sha512-Z2Fe1bn+eLstG8DRR6FTavGD+MeAwyfmouhHsIUgaADz8jvFKbO/fXc2trJKZg+5EBjh4gGm3iU/t3onKlXHIg==" + "resolved" "https://registry.npmjs.org/yup/-/yup-0.32.11.tgz" + "version" "0.32.11" dependencies: "@babel/runtime" "^7.15.4" "@types/lodash" "^4.14.175" - lodash "^4.17.21" - lodash-es "^4.17.21" - nanoclone "^0.2.1" - property-expr "^2.0.4" - toposort "^2.0.2" - -zen-observable-ts@0.8.19: - version "0.8.19" - resolved "https://registry.npmjs.org/zen-observable-ts/-/zen-observable-ts-0.8.19.tgz" - integrity sha512-u1a2rpE13G+jSzrg3aiCqXU5tN2kw41b+cBZGmnc+30YimdkKiDj9bTowcB41eL77/17RF/h+393AuVgShyheQ== - dependencies: - tslib "^1.9.3" - zen-observable "^0.8.0" - -zen-observable-ts@^0.8.21: - version "0.8.21" - resolved "https://registry.npmjs.org/zen-observable-ts/-/zen-observable-ts-0.8.21.tgz" - integrity sha512-Yj3yXweRc8LdRMrCC8nIc4kkjWecPAUVh0TI0OUrWXx6aX790vLcDlWca6I4vsyCGH3LpWxq0dJRcMOFoVqmeg== - dependencies: - tslib "^1.9.3" - zen-observable "^0.8.0" - -zen-observable-ts@^1.2.0: - version "1.2.3" - resolved "https://registry.npmjs.org/zen-observable-ts/-/zen-observable-ts-1.2.3.tgz" - integrity sha512-hc/TGiPkAWpByykMwDcem3SdUgA4We+0Qb36bItSuJC9xD0XVBZoFHYoadAomDSNf64CG8Ydj0Qb8Od8BUWz5g== - dependencies: - zen-observable "0.8.15" - -zen-observable@0.8.15, zen-observable@^0.8.0: - version "0.8.15" - resolved "https://registry.npmjs.org/zen-observable/-/zen-observable-0.8.15.tgz" - integrity sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ== - -zen-observable@^0.7.0: - version "0.7.1" - resolved "https://registry.npmjs.org/zen-observable/-/zen-observable-0.7.1.tgz" - integrity sha512-OI6VMSe0yeqaouIXtedC+F55Sr6r9ppS7+wTbSexkYdHbdt4ctTuPNXP/rwm7GTVI63YBc+EBT0b0tl7YnJLRg== - -zen-push@0.2.1: - version "0.2.1" - resolved "https://registry.npmjs.org/zen-push/-/zen-push-0.2.1.tgz" - integrity sha512-Qv4qvc8ZIue51B/0zmeIMxpIGDVhz4GhJALBvnKs/FRa2T7jy4Ori9wFwaHVt0zWV7MIFglKAHbgnVxVTw7U1w== - dependencies: - zen-observable "^0.7.0" + "lodash" "^4.17.21" + "lodash-es" "^4.17.21" + "nanoclone" "^0.2.1" + "property-expr" "^2.0.4" + "toposort" "^2.0.2" + +"zen-observable-ts@^0.8.21": + "integrity" "sha512-Yj3yXweRc8LdRMrCC8nIc4kkjWecPAUVh0TI0OUrWXx6aX790vLcDlWca6I4vsyCGH3LpWxq0dJRcMOFoVqmeg==" + "resolved" "https://registry.npmjs.org/zen-observable-ts/-/zen-observable-ts-0.8.21.tgz" + "version" "0.8.21" + dependencies: + "tslib" "^1.9.3" + "zen-observable" "^0.8.0" + +"zen-observable-ts@^1.2.0": + "version" "1.2.3" + dependencies: + "zen-observable" "0.8.15" + +"zen-observable-ts@0.8.19": + "integrity" "sha512-u1a2rpE13G+jSzrg3aiCqXU5tN2kw41b+cBZGmnc+30YimdkKiDj9bTowcB41eL77/17RF/h+393AuVgShyheQ==" + "resolved" "https://registry.npmjs.org/zen-observable-ts/-/zen-observable-ts-0.8.19.tgz" + "version" "0.8.19" + dependencies: + "tslib" "^1.9.3" + "zen-observable" "^0.8.0" + +"zen-observable@^0.7.0": + "integrity" "sha512-OI6VMSe0yeqaouIXtedC+F55Sr6r9ppS7+wTbSexkYdHbdt4ctTuPNXP/rwm7GTVI63YBc+EBT0b0tl7YnJLRg==" + "resolved" "https://registry.npmjs.org/zen-observable/-/zen-observable-0.7.1.tgz" + "version" "0.7.1" + +"zen-observable@^0.8.0", "zen-observable@0.8.15": + "integrity" "sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==" + "resolved" "https://registry.npmjs.org/zen-observable/-/zen-observable-0.8.15.tgz" + "version" "0.8.15" + +"zen-push@0.2.1": + "integrity" "sha512-Qv4qvc8ZIue51B/0zmeIMxpIGDVhz4GhJALBvnKs/FRa2T7jy4Ori9wFwaHVt0zWV7MIFglKAHbgnVxVTw7U1w==" + "resolved" "https://registry.npmjs.org/zen-push/-/zen-push-0.2.1.tgz" + "version" "0.2.1" + dependencies: + "zen-observable" "^0.7.0" + +"zrender@5.4.3": + "integrity" "sha512-DRUM4ZLnoaT0PBVvGBDO9oWIDBKFdAVieNWxWwK0niYzJCMwGchRk21/hsE+RKkIveH3XHCyvXcJDkgLVvfizQ==" + "resolved" "https://registry.npmjs.org/zrender/-/zrender-5.4.3.tgz" + "version" "5.4.3" + dependencies: + "tslib" "2.3.0" From aa9d3dff974d19c4844da6bdebdce596b5291241 Mon Sep 17 00:00:00 2001 From: dlpzx <71252798+dlpzx@users.noreply.github.com> Date: Mon, 19 Jun 2023 13:19:04 +0200 Subject: [PATCH 32/53] dependabot: resolve nth-check in sub-dependencies (#525) ### Feature or Bugfix - Bugfix ### Detail - Resolve nth-check in sub-dependencies to version 2.0.1 ### Relates By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. --- frontend/yarn.lock | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/frontend/yarn.lock b/frontend/yarn.lock index 1ba2a82ec..9903bf073 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -10617,14 +10617,7 @@ "resolved" "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz" "version" "0.2.0" -"nth-check@^1.0.2": - "integrity" "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==" - "resolved" "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "boolbase" "~1.0.0" - -"nth-check@^2.0.1": +"nth-check@^2.0.1","nth-check@^1.0.2": "integrity" "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==" "resolved" "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz" "version" "2.1.1" From dfbee8170aa1873cba1be84d0e503c428e1cd443 Mon Sep 17 00:00:00 2001 From: Dhruba <117375130+marjet26@users.noreply.github.com> Date: Mon, 3 Jul 2023 15:22:54 +0200 Subject: [PATCH 33/53] Update import dataset documentation (#546) ### Feature or Bugfix - Feature ### Detail Update import dataset documenation ### Relates - By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. --- documentation/userguide/docs/datasets.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/userguide/docs/datasets.md b/documentation/userguide/docs/datasets.md index 9f304ed70..45e15a052 100644 --- a/documentation/userguide/docs/datasets.md +++ b/documentation/userguide/docs/datasets.md @@ -76,7 +76,7 @@ On left pane choose **Datasets**, then click on the **Create** button. Fill the ## :material-import: **Import a dataset** -If you already have data stored on Amazon S3 buckets, data.all got you covered with the import feature. In addition to +If you already have data stored on Amazon S3 buckets in your data.all environment, data.all got you covered with the import feature. In addition to the fields of a newly created dataset you have to specify the S3 bucket and optionally a Glue database: | Field | Description | Required | Editable |Example From a3a6bdeb16dca6c815494a3604afefc5dc760a6c Mon Sep 17 00:00:00 2001 From: dbalintx <132444646+dbalintx@users.noreply.github.com> Date: Tue, 4 Jul 2023 19:23:04 +0200 Subject: [PATCH 34/53] feat: Limiting read-only access to root file systems in ECS (#523) Limiting read-only access for ECS tasks deployed by data.all, reasoning detailed in: https://github.com/awslabs/aws-dataall/issues/426 Out of the 7 ECS tasks that gets deployed, only CDKProxy performs multiple write operations to the root filesystem. The workaround is to mount [bind volumes](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/bind-mounts.html) to the proper paths in the filesystem: - **/dataall:** required for cdk deploy write operations (cdk.out, cdk.context.json) and further file write operations invoked through dataa.all business logic like archiving objects for the Glue profiling job - **/tmp:** required since by upon importing aws_cdk libraries a write operation happens to the /tmp folder Since the [currently used CDK class](https://docs.aws.amazon.com/cdk/api/v1/python/aws_cdk.aws_ecs/FargateTaskDefinition.html) for the Fargate task definition doesn't allow the definition of mount points, I had to replace the it with the [CFN-style class.](https://docs.aws.amazon.com/cdk/api/v2/python/aws_cdk.aws_ecs/CfnTaskDefinition.html) **[Testing]** I've created 2 environments and a dataset, and performed the sharing of the dataset between the 2 environments. I've verified, that: - the newly created CDKProxy task definition has the same attributes as the old one (with the further addition of the ReadOnlyRootFileSystem=True flag and the 2 new bind volumes) - the other 6 task definitions have ReadOnlyRootFileSystem=True enabled - all 7 tasks were executed without failure with the new setting - the security alert in security hub got archived By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. --- backend/docker/prod/ecs/Dockerfile | 3 +- deploy/stacks/backend_stack.py | 2 +- deploy/stacks/container.py | 108 ++++++++++++++++++++--------- deploy/stacks/monitoring.py | 17 +++-- 4 files changed, 86 insertions(+), 44 deletions(-) diff --git a/backend/docker/prod/ecs/Dockerfile b/backend/docker/prod/ecs/Dockerfile index b272902af..1ab2be91d 100644 --- a/backend/docker/prod/ecs/Dockerfile +++ b/backend/docker/prod/ecs/Dockerfile @@ -49,12 +49,13 @@ RUN /bin/bash -c "pip3.8 install -r /dh.requirements.txt" RUN /bin/bash -c "pip3.8 install -r /cdk.requirements.txt" ADD backend/dataall /dataall +VOLUME ["/dataall"] ADD backend/blueprints /blueprints ADD backend/cdkproxymain.py /cdkproxymain.py RUN mkdir -p dataall/cdkproxy/assets/glueprofilingjob/jars RUN mkdir -p blueprints/ml_data_pipeline/engine/glue/jars -RUN curl https://repo1.maven.org/maven2/com/amazon/deequ/deequ/$DEEQU_VERSION/deequ-$DEEQU_VERSION.jar --output dataall/cdkproxy/assets/glueprofilingjob/jars/deequ-$DEEQU_VERSION.jar +ADD https://repo1.maven.org/maven2/com/amazon/deequ/deequ/$DEEQU_VERSION/deequ-$DEEQU_VERSION.jar /dataall/cdkproxy/assets/glueprofilingjob/jars/ RUN cp -f dataall/cdkproxy/assets/glueprofilingjob/jars/deequ-$DEEQU_VERSION.jar blueprints/ml_data_pipeline/engine/glue/jars/deequ-$DEEQU_VERSION.jar WORKDIR / diff --git a/deploy/stacks/backend_stack.py b/deploy/stacks/backend_stack.py index 78b920482..ee88405d4 100644 --- a/deploy/stacks/backend_stack.py +++ b/deploy/stacks/backend_stack.py @@ -277,7 +277,7 @@ def __init__( ], database=aurora_stack.cluster.cluster_identifier, ecs_cluster=self.ecs_stack.ecs_cluster, - ecs_task_definitions=self.ecs_stack.ecs_task_definitions, + ecs_task_definitions_families=self.ecs_stack.ecs_task_definitions_families, backend_api=self.lambda_api_stack.backend_api_name, queue_name=sqs_stack.queue.queue_name, **kwargs, diff --git a/deploy/stacks/container.py b/deploy/stacks/container.py index 997ad5d76..544a72e18 100644 --- a/deploy/stacks/container.py +++ b/deploy/stacks/container.py @@ -49,48 +49,88 @@ def __init__( self.task_role = self.create_task_role(envname, resource_prefix, pivot_role_name) self.cicd_stacks_updater_role = self.create_cicd_stacks_updater_role(envname, resource_prefix, tooling_account_id) - cdkproxy_task_definition = ecs.FargateTaskDefinition( + cdkproxy_container_name = f'container' + cdkproxy_log_group = self.create_log_group( + envname, resource_prefix, log_group_name='cdkproxy' + ) + cdkproxy_image = ecs.ContainerImage.from_ecr_repository( + repository=ecr_repository, + tag=cdkproxy_image_tag + ) + + cdkproxy_task_definition = ecs.CfnTaskDefinition( self, f'{resource_prefix}-{envname}-cdkproxy', - cpu=1024, - memory_limit_mib=2048, - task_role=self.task_role, - execution_role=self.task_role, + container_definitions=[ecs.CfnTaskDefinition.ContainerDefinitionProperty( + image=cdkproxy_image.image_name, + name=cdkproxy_container_name, + command=['python3.8', '-m', 'dataall.tasks.cdkproxy'], + environment=[ + ecs.CfnTaskDefinition.KeyValuePairProperty( + name="AWS_REGION", + value=self.region + ), + ecs.CfnTaskDefinition.KeyValuePairProperty( + name="envname", + value=envname + ), + ecs.CfnTaskDefinition.KeyValuePairProperty( + name="LOGLEVEL", + value="DEBUG" + ), + ], + essential=True, + log_configuration=ecs.CfnTaskDefinition.LogConfigurationProperty( + log_driver="awslogs", + options={ + "awslogs-group": cdkproxy_log_group.log_group_name, + "awslogs-region": self.region, + "awslogs-stream-prefix": "task" + }, + ), + mount_points=[ + ecs.CfnTaskDefinition.MountPointProperty( + container_path="/dataall", + read_only=False, + source_volume="dataall_scratch" + ), + ecs.CfnTaskDefinition.MountPointProperty( + container_path="/tmp", + read_only=False, + source_volume="dataall_tmp_scratch" + ) + ], + readonly_root_filesystem=True, + )], + cpu="1024", + memory="2048", + execution_role_arn=self.task_role.role_arn, family=f'{resource_prefix}-{envname}-cdkproxy', - ) - - cdkproxy_container = cdkproxy_task_definition.add_container( - f'ShareManagementTaskContainer{envname}', - container_name=f'container', - image=ecs.ContainerImage.from_ecr_repository( - repository=ecr_repository, tag=cdkproxy_image_tag - ), - environment={ - 'AWS_REGION': self.region, - 'envname': envname, - 'LOGLEVEL': 'DEBUG', - }, - command=['python3.8', '-m', 'dataall.tasks.cdkproxy'], - logging=ecs.LogDriver.aws_logs( - stream_prefix='task', - log_group=self.create_log_group( - envname, resource_prefix, log_group_name='cdkproxy' + requires_compatibilities=[ecs.Compatibility.FARGATE.name], + task_role_arn=self.task_role.role_arn, + network_mode="awsvpc", + volumes=[ + ecs.CfnTaskDefinition.VolumeProperty( + name="dataall_scratch" ), - ), + ecs.CfnTaskDefinition.VolumeProperty( + name="dataall_tmp_scratch" + ) + ] ) ssm.StringParameter( self, f'CDKProxyTaskDefParam{envname}', parameter_name=f'/dataall/{envname}/ecs/task_def_arn/cdkproxy', - string_value=cdkproxy_task_definition.task_definition_arn, + string_value=cdkproxy_task_definition.attr_task_definition_arn, ) ssm.StringParameter( self, f'CDKProxyContainerParam{envname}', parameter_name=f'/dataall/{envname}/ecs/container/cdkproxy', - string_value=cdkproxy_container.container_name, + string_value=cdkproxy_container_name, ) scheduled_tasks_sg = self.create_task_sg( @@ -258,6 +298,7 @@ def __init__( envname, resource_prefix, log_group_name='share-manager' ), ), + readonly_root_filesystem=True, ) ssm.StringParameter( @@ -300,13 +341,13 @@ def __init__( ) self.ecs_cluster = cluster - self.ecs_task_definitions = [ - cdkproxy_task_definition, - sync_tables_task.task_definition, - update_bucket_policies_task.task_definition, - catalog_indexer_task.task_definition, - share_management_task_definition, - subscriptions_task.task_definition, + self.ecs_task_definitions_families = [ + cdkproxy_task_definition.family, + sync_tables_task.task_definition.family, + update_bucket_policies_task.task_definition.family, + catalog_indexer_task.task_definition.family, + share_management_task_definition.family, + subscriptions_task.task_definition.family, ] def create_cicd_stacks_updater_role(self, envname, resource_prefix, tooling_account_id): @@ -544,6 +585,7 @@ def set_scheduled_task( environment=environment, command=command, logging=ecs.LogDriver.aws_logs(stream_prefix='task', log_group=log_group), + readonly_root_filesystem=True, ) scheduled_task = ecs_patterns.ScheduledFargateTask( self, diff --git a/deploy/stacks/monitoring.py b/deploy/stacks/monitoring.py index f6cd4f9f7..001e4b361 100644 --- a/deploy/stacks/monitoring.py +++ b/deploy/stacks/monitoring.py @@ -27,7 +27,7 @@ def __init__( lambdas: [_lambda.Function] = None, database='dataalldevdb', ecs_cluster: ecs.Cluster = None, - ecs_task_definitions: [ecs.FargateTaskDefinition] = None, + ecs_task_definitions_families = None, backend_api=None, queue_name: str = None, **kwargs, @@ -51,7 +51,7 @@ def __init__( backend_api, database, ecs_cluster, - ecs_task_definitions, + ecs_task_definitions_families, envname, lambdas, resource_prefix, @@ -136,7 +136,7 @@ def create_cw_dashboard( backend_api, database, ecs_cluster, - ecs_task_definitions, + ecs_task_definitions_families, envname, lambdas, resource_prefix, @@ -173,19 +173,18 @@ def create_cw_dashboard( cf_ecs.build_ecs_cluster_task_count_widget(cluster_name), ) - if ecs_task_definitions: + if ecs_task_definitions_families: dashboard.add_widgets(cw.TextWidget(width=24, markdown='# ECS Tasks')) - task: ecs.FargateTaskDefinition - for task in ecs_task_definitions: + for task_family in ecs_task_definitions_families: dashboard.add_widgets( cf_ecs.build_ecs_task_container_insight_cpu_widget( - cluster_name, task.family + cluster_name, task_family ), cf_ecs.build_ecs_task_container_insight_memory_widget( - cluster_name, task.family + cluster_name, task_family ), cf_ecs.build_ecs_task_container_insight_storage_widget( - cluster_name, task.family + cluster_name, task_family ), ) if database: From 261f086f74cf363a695ec16c14966a8fad9d13f7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Jul 2023 13:34:03 +0200 Subject: [PATCH 35/53] Bump tough-cookie from 4.1.2 to 4.1.3 in /frontend (#558) Bumps [tough-cookie](https://github.com/salesforce/tough-cookie) from 4.1.2 to 4.1.3.
Release notes

Sourced from tough-cookie's releases.

4.1.3

Security fix for Prototype Pollution discovery in #282. This is a minor release, although output from the inspect utility is affected by this change, we felt this change was important enough to be pushed into the next patch.

Commits
  • 4ff4d29 4.1.3 release preparation, update the package and lib/version to 4.1.3. (#284)
  • 12d4747 Prevent prototype pollution in cookie memstore (#283)
  • f06b72d Fix documentation for store.findCookies, missing allowSpecialUseDomain proper...
  • See full diff in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tough-cookie&package-manager=npm_and_yarn&previous-version=4.1.2&new-version=4.1.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/awslabs/aws-dataall/network/alerts).
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- frontend/yarn.lock | 20453 ++++++++++++++++++------------------------- 1 file changed, 8732 insertions(+), 11721 deletions(-) diff --git a/frontend/yarn.lock b/frontend/yarn.lock index 9903bf073..1d888c3f7 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -2,93 +2,102 @@ # yarn lockfile v1 -"@ampproject/remapping@^2.1.0": - "version" "2.2.0" +"@aashutoshrathi/word-wrap@^1.2.3": + version "1.2.6" + resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf" + +"@adobe/css-tools@^4.0.1": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@adobe/css-tools/-/css-tools-4.2.0.tgz#e1a84fca468f4b337816fcb7f0964beb620ba855" + +"@alloc/quick-lru@^5.2.0": + version "5.2.0" + resolved "https://registry.yarnpkg.com/@alloc/quick-lru/-/quick-lru-5.2.0.tgz#7bf68b20c0a350f936915fcae06f58e32007ce30" + +"@ampproject/remapping@^2.2.0": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.1.tgz#99e8e11851128b8702cd57c33684f1d0f260b630" dependencies: - "@jridgewell/gen-mapping" "^0.1.0" + "@jridgewell/gen-mapping" "^0.3.0" "@jridgewell/trace-mapping" "^0.3.9" "@apideck/better-ajv-errors@^0.3.1": - "integrity" "sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==" - "resolved" "https://registry.npmjs.org/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz" - "version" "0.3.6" + version "0.3.6" + resolved "https://registry.npmjs.org/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz" dependencies: - "json-schema" "^0.4.0" - "jsonpointer" "^5.0.0" - "leven" "^3.1.0" + json-schema "^0.4.0" + jsonpointer "^5.0.0" + leven "^3.1.0" "@apollo/client@^3.3.19": - "version" "3.5.10" + version "3.7.17" + resolved "https://registry.yarnpkg.com/@apollo/client/-/client-3.7.17.tgz#1d2538729fd8ef138aa301a7cf62704474e57b72" dependencies: - "@graphql-typed-document-node/core" "^3.0.0" - "@wry/context" "^0.6.0" + "@graphql-typed-document-node/core" "^3.1.1" + "@wry/context" "^0.7.0" "@wry/equality" "^0.5.0" - "@wry/trie" "^0.3.0" - "graphql-tag" "^2.12.3" - "hoist-non-react-statics" "^3.3.2" - "optimism" "^0.16.1" - "prop-types" "^15.7.2" - "symbol-observable" "^4.0.0" - "ts-invariant" "^0.9.4" - "tslib" "^2.3.0" - "zen-observable-ts" "^1.2.0" + "@wry/trie" "^0.4.0" + graphql-tag "^2.12.6" + hoist-non-react-statics "^3.3.2" + optimism "^0.16.2" + prop-types "^15.7.2" + response-iterator "^0.2.6" + symbol-observable "^4.0.0" + ts-invariant "^0.10.3" + tslib "^2.3.0" + zen-observable-ts "^1.2.5" "@appbaseio/analytics@^1.1.1": - "integrity" "sha512-uW5sfj8KjrlFtKKkkIMZJgqjNNOgfPUXgdl3lqEDWrdg7J/tMgkYNM3/s2c4LHsD96aHbrfA+DRHk5M45wgqpA==" - "resolved" "https://registry.npmjs.org/@appbaseio/analytics/-/analytics-1.2.0.tgz" - "version" "1.2.0" + version "1.2.0" + resolved "https://registry.npmjs.org/@appbaseio/analytics/-/analytics-1.2.0.tgz" dependencies: - "cross-fetch" "^3.0.4" + cross-fetch "^3.0.4" "@appbaseio/reactivecore@9.14.40": - "integrity" "sha512-PIq31VBQRV45nNMVxmOBgYu05h2TxXw+GOQhBmPdAyDiX8Y/nNNua5SPNqZ/OHomIOIT1fGSygkKR6E/iZYdlA==" - "resolved" "https://registry.npmjs.org/@appbaseio/reactivecore/-/reactivecore-9.14.40.tgz" - "version" "9.14.40" + version "9.14.40" + resolved "https://registry.npmjs.org/@appbaseio/reactivecore/-/reactivecore-9.14.40.tgz" dependencies: - "cross-fetch" "^3.0.4" - "dayjs" "^1.11.7" - "prop-types" "^15.6.0" - "redux" "^4.0.0" - "redux-thunk" "^2.3.0" + cross-fetch "^3.0.4" + dayjs "^1.11.7" + prop-types "^15.6.0" + redux "^4.0.0" + redux-thunk "^2.3.0" "@appbaseio/reactivesearch@^3.43.10": - "integrity" "sha512-QV2NcoxNY72a1ntZitSIdnMa7x3MNvLSYtbgVHHSF2Dx/Yw2plq4H3kRBaWd6VSuDhvjXuk1kZPAkMQV1GynTg==" - "resolved" "https://registry.npmjs.org/@appbaseio/reactivesearch/-/reactivesearch-3.43.10.tgz" - "version" "3.43.10" + version "3.43.10" + resolved "https://registry.npmjs.org/@appbaseio/reactivesearch/-/reactivesearch-3.43.10.tgz" dependencies: "@appbaseio/analytics" "^1.1.1" "@appbaseio/reactivecore" "9.14.40" "@appbaseio/rheostat" "^1.0.0-alpha.15" "@emotion/core" "^10.0.28" "@emotion/styled" "^10.0.27" - "appbase-js" "^5.2.0" - "cross-env" "^5.2.0" - "dayjs" "^1.11.7" - "downshift" "^1.31.2" - "echarts" "^5.3.3" - "echarts-for-react" "^3.0.2" - "emotion-theming" "^10.0.27" - "hoist-non-react-statics" "^3.2.1" - "hotkeys-js" "^3.8.7" - "polished" "^1.9.3" - "prop-types" "^15.6.0" - "react-day-picker" "^7.0.5" - "react-redux" "^6.0.1" - "url-search-params-polyfill" "^7.0.0" - "xss" "^1.0.11" + appbase-js "^5.2.0" + cross-env "^5.2.0" + dayjs "^1.11.7" + downshift "^1.31.2" + echarts "^5.3.3" + echarts-for-react "^3.0.2" + emotion-theming "^10.0.27" + hoist-non-react-statics "^3.2.1" + hotkeys-js "^3.8.7" + polished "^1.9.3" + prop-types "^15.6.0" + react-day-picker "^7.0.5" + react-redux "^6.0.1" + url-search-params-polyfill "^7.0.0" + xss "^1.0.11" "@appbaseio/rheostat@^1.0.0-alpha.15": - "integrity" "sha512-dFDWv8SGGLRv5yGcQ5/3zYhVRDq2iIYmmU5v6s4/R0XRj2zCwld5O9DWi8WBZiDQJWQ7/7YUWTzqEgtxbYMOJA==" - "resolved" "https://registry.npmjs.org/@appbaseio/rheostat/-/rheostat-1.0.0-alpha.15.tgz" - "version" "1.0.0-alpha.15" + version "1.0.0-alpha.15" + resolved "https://registry.npmjs.org/@appbaseio/rheostat/-/rheostat-1.0.0-alpha.15.tgz" dependencies: - "object.assign" "^4.0.4" - "prop-types" "^15.5.10" + object.assign "^4.0.4" + prop-types "^15.5.10" "@aws-amplify/analytics@6.2.0": - "integrity" "sha512-4dLo3uTl2QxeS396n3ct89pKje6u8/4DENhW9TUUnGN0+h5DRxOZZ999Fom46mChW3dpBhjvgBRxYakNtNzaEQ==" - "resolved" "https://registry.npmjs.org/@aws-amplify/analytics/-/analytics-6.2.0.tgz" - "version" "6.2.0" + version "6.2.0" + resolved "https://registry.npmjs.org/@aws-amplify/analytics/-/analytics-6.2.0.tgz" dependencies: "@aws-amplify/cache" "5.1.0" "@aws-amplify/core" "5.4.0" @@ -96,133 +105,122 @@ "@aws-sdk/client-kinesis" "3.6.1" "@aws-sdk/client-personalize-events" "3.6.1" "@aws-sdk/util-utf8-browser" "3.6.1" - "lodash" "^4.17.20" - "tslib" "^1.8.0" - "uuid" "^3.2.1" + lodash "^4.17.20" + tslib "^1.8.0" + uuid "^3.2.1" "@aws-amplify/api-graphql@3.3.1": - "integrity" "sha512-faVJUc/vwBySmnhch6CThCOoQ4Hw6dVFUM5H6qNtvk1NVLdMWUQq2BV2B7CNKe9l8wL04RIGJaD/7hOdLqHJHA==" - "resolved" "https://registry.npmjs.org/@aws-amplify/api-graphql/-/api-graphql-3.3.1.tgz" - "version" "3.3.1" + version "3.3.1" + resolved "https://registry.npmjs.org/@aws-amplify/api-graphql/-/api-graphql-3.3.1.tgz" dependencies: "@aws-amplify/api-rest" "3.2.1" "@aws-amplify/auth" "5.4.1" "@aws-amplify/cache" "5.1.0" "@aws-amplify/core" "5.4.0" "@aws-amplify/pubsub" "5.2.1" - "graphql" "15.8.0" - "tslib" "^1.8.0" - "uuid" "^3.2.1" - "zen-observable-ts" "0.8.19" + graphql "15.8.0" + tslib "^1.8.0" + uuid "^3.2.1" + zen-observable-ts "0.8.19" "@aws-amplify/api-rest@3.2.1": - "integrity" "sha512-GEcxNwCM8r6jg46f1wPR2l8n8tRSKqO5NkD2pJdi8wWDJxY6ieuG2PHTC1zpsHCRKon0p0wiAgayb9ISkEs9Xw==" - "resolved" "https://registry.npmjs.org/@aws-amplify/api-rest/-/api-rest-3.2.1.tgz" - "version" "3.2.1" + version "3.2.1" + resolved "https://registry.npmjs.org/@aws-amplify/api-rest/-/api-rest-3.2.1.tgz" dependencies: "@aws-amplify/core" "5.4.0" - "axios" "0.26.0" - "tslib" "^1.8.0" - "url" "0.11.0" + axios "0.26.0" + tslib "^1.8.0" + url "0.11.0" "@aws-amplify/api@5.2.1": - "integrity" "sha512-lxH8Aj5PFpf7CYGeHoqWomExwmho5D9ZLnGZD6BH6C8FnxPma55leentStNXm/MMwG288hVQBY1QjIJDxNO2Ag==" - "resolved" "https://registry.npmjs.org/@aws-amplify/api/-/api-5.2.1.tgz" - "version" "5.2.1" + version "5.2.1" + resolved "https://registry.npmjs.org/@aws-amplify/api/-/api-5.2.1.tgz" dependencies: "@aws-amplify/api-graphql" "3.3.1" "@aws-amplify/api-rest" "3.2.1" - "tslib" "^1.8.0" + tslib "^1.8.0" "@aws-amplify/auth@5.4.1": - "integrity" "sha512-+ZbijqBkAMtcIzwZ8zIiR3yFgaJeKbNRqzPI7RIXh7w+5rzJKlXHNXwWJ7m3vIk0XhmQnBw30t0ZrQRQiMs8Vw==" - "resolved" "https://registry.npmjs.org/@aws-amplify/auth/-/auth-5.4.1.tgz" - "version" "5.4.1" + version "5.4.1" + resolved "https://registry.npmjs.org/@aws-amplify/auth/-/auth-5.4.1.tgz" dependencies: "@aws-amplify/core" "5.4.0" - "amazon-cognito-identity-js" "6.2.0" - "tslib" "^1.8.0" - "url" "0.11.0" + amazon-cognito-identity-js "6.2.0" + tslib "^1.8.0" + url "0.11.0" "@aws-amplify/cache@5.1.0": - "integrity" "sha512-YZnMeQTzLwN2JxUaPXHmQLF7gvwWDp55vlIdOcXtWrQRcsDzstoK2xH41hYIi2Q2P/y79pVzQFXLR4XcV4KKyA==" - "resolved" "https://registry.npmjs.org/@aws-amplify/cache/-/cache-5.1.0.tgz" - "version" "5.1.0" + version "5.1.0" + resolved "https://registry.npmjs.org/@aws-amplify/cache/-/cache-5.1.0.tgz" dependencies: "@aws-amplify/core" "5.4.0" - "tslib" "^1.8.0" + tslib "^1.8.0" "@aws-amplify/core@5.4.0": - "integrity" "sha512-J794EH7x/fvKmgCm7hedhNjYPcGpJ7qFz33q33FVVUJ151NMrotsQdkK6pSqJHDgtYJZB1On9c6p3W4z33gD3w==" - "resolved" "https://registry.npmjs.org/@aws-amplify/core/-/core-5.4.0.tgz" - "version" "5.4.0" + version "5.4.0" + resolved "https://registry.npmjs.org/@aws-amplify/core/-/core-5.4.0.tgz" dependencies: "@aws-crypto/sha256-js" "1.2.2" "@aws-sdk/client-cloudwatch-logs" "3.6.1" "@aws-sdk/types" "3.6.1" "@aws-sdk/util-hex-encoding" "3.6.1" - "isomorphic-unfetch" "^3.0.0" - "react-native-url-polyfill" "^1.3.0" - "tslib" "^1.8.0" - "universal-cookie" "^4.0.4" - "zen-observable-ts" "0.8.19" + isomorphic-unfetch "^3.0.0" + react-native-url-polyfill "^1.3.0" + tslib "^1.8.0" + universal-cookie "^4.0.4" + zen-observable-ts "0.8.19" "@aws-amplify/datastore@4.5.1": - "integrity" "sha512-gdeWUzuREhCQ6dd6vpGU7ll2J//z8Ou0Wa+3FKTVwsVCiAg6HCRTgBSiozjZSNLDR8oAfHaBNEhoO6fJByqjXg==" - "resolved" "https://registry.npmjs.org/@aws-amplify/datastore/-/datastore-4.5.1.tgz" - "version" "4.5.1" + version "4.5.1" + resolved "https://registry.npmjs.org/@aws-amplify/datastore/-/datastore-4.5.1.tgz" dependencies: "@aws-amplify/api" "5.2.1" "@aws-amplify/auth" "5.4.1" "@aws-amplify/core" "5.4.0" "@aws-amplify/pubsub" "5.2.1" - "amazon-cognito-identity-js" "6.2.0" - "idb" "5.0.6" - "immer" "9.0.6" - "ulid" "2.3.0" - "uuid" "3.4.0" - "zen-observable-ts" "0.8.19" - "zen-push" "0.2.1" + amazon-cognito-identity-js "6.2.0" + idb "5.0.6" + immer "9.0.6" + ulid "2.3.0" + uuid "3.4.0" + zen-observable-ts "0.8.19" + zen-push "0.2.1" "@aws-amplify/geo@2.0.35": - "integrity" "sha512-gV5CHubvXBkchjSnCuEY7SnsmCe/CNoJIILqA3m1qOmq+VmI+S4xM7CGuQxKEwAvQImlzjkZa4+9zavQfqkJrQ==" - "resolved" "https://registry.npmjs.org/@aws-amplify/geo/-/geo-2.0.35.tgz" - "version" "2.0.35" + version "2.0.35" + resolved "https://registry.npmjs.org/@aws-amplify/geo/-/geo-2.0.35.tgz" dependencies: "@aws-amplify/core" "5.4.0" "@aws-sdk/client-location" "3.186.2" "@turf/boolean-clockwise" "6.5.0" - "camelcase-keys" "6.2.2" - "tslib" "^1.8.0" + camelcase-keys "6.2.2" + tslib "^1.8.0" "@aws-amplify/interactions@5.1.1": - "integrity" "sha512-hGcu8bQEo1XGbouxjbpTBMg+6F8yaSY1q7OPCYGzhFZjXU0mdE0XRWlTzxSeIOxpRg8X9IoGHGiamNF6ZA156A==" - "resolved" "https://registry.npmjs.org/@aws-amplify/interactions/-/interactions-5.1.1.tgz" - "version" "5.1.1" + version "5.1.1" + resolved "https://registry.npmjs.org/@aws-amplify/interactions/-/interactions-5.1.1.tgz" dependencies: "@aws-amplify/core" "5.4.0" "@aws-sdk/client-lex-runtime-service" "3.186.2" "@aws-sdk/client-lex-runtime-v2" "3.186.2" - "base-64" "1.0.0" - "fflate" "0.7.3" - "pako" "2.0.4" - "tslib" "^1.8.0" + base-64 "1.0.0" + fflate "0.7.3" + pako "2.0.4" + tslib "^1.8.0" "@aws-amplify/notifications@1.2.0": - "integrity" "sha512-BUtdSSjop8ieQ+lzwNgBZ1YaULE137zLHO4MAibcex2cOX0E/ZJZdBD/z2uoS2c7EzXfylawJ8n7w5BHWZzy0w==" - "resolved" "https://registry.npmjs.org/@aws-amplify/notifications/-/notifications-1.2.0.tgz" - "version" "1.2.0" + version "1.2.0" + resolved "https://registry.npmjs.org/@aws-amplify/notifications/-/notifications-1.2.0.tgz" dependencies: "@aws-amplify/cache" "5.1.0" "@aws-amplify/core" "5.4.0" "@aws-amplify/rtn-push-notification" "1.1.1" - "lodash" "^4.17.21" - "uuid" "^3.2.1" + lodash "^4.17.21" + uuid "^3.2.1" "@aws-amplify/predictions@5.2.3": - "integrity" "sha512-nbPHIxrA1LKXY9EJf1P+Nn3a8SLk+ooyZBnWtnI8h0o5Pw4F89xZNZ3P6Z1NJKWZ6xynJS6W078RwlxDHKDwrw==" - "resolved" "https://registry.npmjs.org/@aws-amplify/predictions/-/predictions-5.2.3.tgz" - "version" "5.2.3" + version "5.2.3" + resolved "https://registry.npmjs.org/@aws-amplify/predictions/-/predictions-5.2.3.tgz" dependencies: "@aws-amplify/core" "5.4.0" "@aws-amplify/storage" "5.4.1" @@ -233,92 +231,71 @@ "@aws-sdk/client-translate" "3.6.1" "@aws-sdk/eventstream-marshaller" "3.6.1" "@aws-sdk/util-utf8-node" "3.6.1" - "buffer" "4.9.2" - "tslib" "^1.8.0" - "uuid" "^3.2.1" + buffer "4.9.2" + tslib "^1.8.0" + uuid "^3.2.1" "@aws-amplify/pubsub@5.2.1": - "integrity" "sha512-6bHjXBT6SqWs5A8mh4qSNtuG1OxysmEm8lQLyp94n6rUepkZ9b7yM9tBNcQs1fJQoOHe09h4zAQeFuontK7+5g==" - "resolved" "https://registry.npmjs.org/@aws-amplify/pubsub/-/pubsub-5.2.1.tgz" - "version" "5.2.1" + version "5.2.1" + resolved "https://registry.npmjs.org/@aws-amplify/pubsub/-/pubsub-5.2.1.tgz" dependencies: "@aws-amplify/auth" "5.4.1" "@aws-amplify/cache" "5.1.0" "@aws-amplify/core" "5.4.0" - "graphql" "15.8.0" - "tslib" "^1.8.0" - "url" "0.11.0" - "uuid" "^3.2.1" - "zen-observable-ts" "0.8.19" + graphql "15.8.0" + tslib "^1.8.0" + url "0.11.0" + uuid "^3.2.1" + zen-observable-ts "0.8.19" "@aws-amplify/rtn-push-notification@1.1.1": - "integrity" "sha512-uYPyiNeK2r2g82U6ayluNrKA2z5280mlW9razEul94i/2XPt9LAXhIb1XnCtxGzxANMHd+FH9V7D7RAGK99pTQ==" - "resolved" "https://registry.npmjs.org/@aws-amplify/rtn-push-notification/-/rtn-push-notification-1.1.1.tgz" - "version" "1.1.1" + version "1.1.1" + resolved "https://registry.npmjs.org/@aws-amplify/rtn-push-notification/-/rtn-push-notification-1.1.1.tgz" "@aws-amplify/storage@5.4.1": - "integrity" "sha512-b116Hp+nUmbev19ojN34mBQyJ50xW6hnUlnKjBrAFVAooaXzZzYbKoCHthF87YS2CblBlLWcGAzcZiD//KoL1Q==" - "resolved" "https://registry.npmjs.org/@aws-amplify/storage/-/storage-5.4.1.tgz" - "version" "5.4.1" + version "5.4.1" + resolved "https://registry.npmjs.org/@aws-amplify/storage/-/storage-5.4.1.tgz" dependencies: "@aws-amplify/core" "5.4.0" "@aws-sdk/client-s3" "3.6.3" "@aws-sdk/s3-request-presigner" "3.6.1" "@aws-sdk/util-create-request" "3.6.1" "@aws-sdk/util-format-url" "3.6.1" - "axios" "0.26.0" - "events" "^3.1.0" - "tslib" "^1.8.0" + axios "0.26.0" + events "^3.1.0" + tslib "^1.8.0" -"@aws-crypto/crc32@^1.0.0": - "integrity" "sha512-8K0b1672qbv05chSoKpwGZ3fhvVp28Fg3AVHVkEHFl2lTLChO7wD/hTyyo8ING7uc31uZRt7bNra/hA74Td7Tw==" - "resolved" "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-1.2.2.tgz" - "version" "1.2.2" +"@aws-crypto/crc32@2.0.0": + version "2.0.0" + resolved "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-2.0.0.tgz" dependencies: - "@aws-crypto/util" "^1.2.2" + "@aws-crypto/util" "^2.0.0" "@aws-sdk/types" "^3.1.0" - "tslib" "^1.11.1" + tslib "^1.11.1" -"@aws-crypto/crc32@2.0.0": - "integrity" "sha512-TvE1r2CUueyXOuHdEigYjIZVesInd9KN+K/TFFNfkkxRThiNxO6i4ZqqAVMoEjAamZZ1AA8WXJkjCz7YShHPQA==" - "resolved" "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-2.0.0.tgz" - "version" "2.0.0" +"@aws-crypto/crc32@^1.0.0": + version "1.2.2" + resolved "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-1.2.2.tgz" dependencies: - "@aws-crypto/util" "^2.0.0" + "@aws-crypto/util" "^1.2.2" "@aws-sdk/types" "^3.1.0" - "tslib" "^1.11.1" + tslib "^1.11.1" "@aws-crypto/ie11-detection@^1.0.0": - "integrity" "sha512-kCKVhCF1oDxFYgQrxXmIrS5oaWulkvRcPz+QBDMsUr2crbF4VGgGT6+uQhSwJFdUAQ2A//Vq+uT83eJrkzFgXA==" - "resolved" "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-1.0.0.tgz" - "version" "1.0.0" + version "1.0.0" + resolved "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-1.0.0.tgz" dependencies: - "tslib" "^1.11.1" + tslib "^1.11.1" "@aws-crypto/ie11-detection@^2.0.0": - "integrity" "sha512-5XDMQY98gMAf/WRTic5G++jfmS/VLM0rwpiOpaainKi4L0nqWMSB1SzsrEG5rjFZGYN6ZAefO+/Yta2dFM0kMw==" - "resolved" "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-2.0.2.tgz" - "version" "2.0.2" - dependencies: - "tslib" "^1.11.1" - -"@aws-crypto/sha256-browser@^1.0.0": - "integrity" "sha512-0tNR4kBtJp+9S0kis4+JLab3eg6QWuIeuPhzaYoYwNUXGBgsWIkktA2mnilet+EGWzf3n1zknJXC4X4DVyyXbg==" - "resolved" "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-1.2.2.tgz" - "version" "1.2.2" + version "2.0.2" + resolved "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-2.0.2.tgz" dependencies: - "@aws-crypto/ie11-detection" "^1.0.0" - "@aws-crypto/sha256-js" "^1.2.2" - "@aws-crypto/supports-web-crypto" "^1.0.0" - "@aws-crypto/util" "^1.2.2" - "@aws-sdk/types" "^3.1.0" - "@aws-sdk/util-locate-window" "^3.0.0" - "tslib" "^1.11.1" + tslib "^1.11.1" "@aws-crypto/sha256-browser@2.0.0": - "integrity" "sha512-rYXOQ8BFOaqMEHJrLHul/25ckWH6GTJtdLSajhlqGMx0PmSueAuvboCuZCTqEKlxR8CQOwRarxYMZZSYlhRA1A==" - "resolved" "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-2.0.0.tgz" - "version" "2.0.0" + version "2.0.0" + resolved "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-2.0.0.tgz" dependencies: "@aws-crypto/ie11-detection" "^2.0.0" "@aws-crypto/sha256-js" "^2.0.0" @@ -327,93 +304,94 @@ "@aws-sdk/types" "^3.1.0" "@aws-sdk/util-locate-window" "^3.0.0" "@aws-sdk/util-utf8-browser" "^3.0.0" - "tslib" "^1.11.1" + tslib "^1.11.1" + +"@aws-crypto/sha256-browser@^1.0.0": + version "1.2.2" + resolved "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-1.2.2.tgz" + dependencies: + "@aws-crypto/ie11-detection" "^1.0.0" + "@aws-crypto/sha256-js" "^1.2.2" + "@aws-crypto/supports-web-crypto" "^1.0.0" + "@aws-crypto/util" "^1.2.2" + "@aws-sdk/types" "^3.1.0" + "@aws-sdk/util-locate-window" "^3.0.0" + tslib "^1.11.1" -"@aws-crypto/sha256-js@^1.0.0", "@aws-crypto/sha256-js@^1.2.2", "@aws-crypto/sha256-js@1.2.2": - "integrity" "sha512-Nr1QJIbW/afYYGzYvrF70LtaHrIRtd4TNAglX8BvlfxJLZ45SAmueIKYl5tWoNBPzp65ymXGFK0Bb1vZUpuc9g==" - "resolved" "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-1.2.2.tgz" - "version" "1.2.2" +"@aws-crypto/sha256-js@1.2.2", "@aws-crypto/sha256-js@^1.0.0", "@aws-crypto/sha256-js@^1.2.2": + version "1.2.2" + resolved "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-1.2.2.tgz" dependencies: "@aws-crypto/util" "^1.2.2" "@aws-sdk/types" "^3.1.0" - "tslib" "^1.11.1" + tslib "^1.11.1" -"@aws-crypto/sha256-js@^2.0.0", "@aws-crypto/sha256-js@2.0.0": - "integrity" "sha512-VZY+mCY4Nmrs5WGfitmNqXzaE873fcIZDu54cbaDaaamsaTOP1DBImV9F4pICc3EHjQXujyE8jig+PFCaew9ig==" - "resolved" "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-2.0.0.tgz" - "version" "2.0.0" +"@aws-crypto/sha256-js@2.0.0", "@aws-crypto/sha256-js@^2.0.0": + version "2.0.0" + resolved "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-2.0.0.tgz" dependencies: "@aws-crypto/util" "^2.0.0" "@aws-sdk/types" "^3.1.0" - "tslib" "^1.11.1" + tslib "^1.11.1" "@aws-crypto/supports-web-crypto@^1.0.0": - "integrity" "sha512-IHLfv+WmVH89EW4n6a5eE8/hUlz6qkWGMn/v4r5ZgzcXdTC5nolii2z3k46y01hWRiC2PPhOdeSLzMUCUMco7g==" - "resolved" "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-1.0.0.tgz" - "version" "1.0.0" + version "1.0.0" + resolved "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-1.0.0.tgz" dependencies: - "tslib" "^1.11.1" + tslib "^1.11.1" "@aws-crypto/supports-web-crypto@^2.0.0": - "integrity" "sha512-6mbSsLHwZ99CTOOswvCRP3C+VCWnzBf+1SnbWxzzJ9lR0mA0JnY2JEAhp8rqmTE0GPFy88rrM27ffgp62oErMQ==" - "resolved" "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-2.0.2.tgz" - "version" "2.0.2" + version "2.0.2" + resolved "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-2.0.2.tgz" dependencies: - "tslib" "^1.11.1" + tslib "^1.11.1" "@aws-crypto/util@^1.2.2": - "integrity" "sha512-H8PjG5WJ4wz0UXAFXeJjWCW1vkvIJ3qUUD+rGRwJ2/hj+xT58Qle2MTql/2MGzkU+1JLAFuR6aJpLAjHwhmwwg==" - "resolved" "https://registry.npmjs.org/@aws-crypto/util/-/util-1.2.2.tgz" - "version" "1.2.2" + version "1.2.2" + resolved "https://registry.npmjs.org/@aws-crypto/util/-/util-1.2.2.tgz" dependencies: "@aws-sdk/types" "^3.1.0" "@aws-sdk/util-utf8-browser" "^3.0.0" - "tslib" "^1.11.1" + tslib "^1.11.1" "@aws-crypto/util@^2.0.0": - "integrity" "sha512-Lgu5v/0e/BcrZ5m/IWqzPUf3UYFTy/PpeED+uc9SWUR1iZQL8XXbGQg10UfllwwBryO3hFF5dizK+78aoXC1eA==" - "resolved" "https://registry.npmjs.org/@aws-crypto/util/-/util-2.0.2.tgz" - "version" "2.0.2" + version "2.0.2" + resolved "https://registry.npmjs.org/@aws-crypto/util/-/util-2.0.2.tgz" dependencies: "@aws-sdk/types" "^3.110.0" "@aws-sdk/util-utf8-browser" "^3.0.0" - "tslib" "^1.11.1" + tslib "^1.11.1" "@aws-sdk/abort-controller@3.186.0": - "integrity" "sha512-JFvvvtEcbYOvVRRXasi64Dd1VcOz5kJmPvtzsJ+HzMHvPbGGs/aopOJAZQJMJttzJmJwVTay0QL6yag9Kk8nYA==" - "resolved" "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.186.0.tgz" - "version" "3.186.0" + version "3.186.0" + resolved "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.186.0.tgz" dependencies: "@aws-sdk/types" "3.186.0" - "tslib" "^2.3.1" + tslib "^2.3.1" "@aws-sdk/abort-controller@3.6.1": - "integrity" "sha512-X81XkxX/2Tvv9YNcEto/rcQzPIdKJHFSnl9hBl/qkSdCFV/GaQ2XNWfKm5qFXMLlZNFS0Fn5CnBJ83qnBm47vg==" - "resolved" "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.6.1.tgz" dependencies: "@aws-sdk/types" "3.6.1" - "tslib" "^1.8.0" + tslib "^1.8.0" "@aws-sdk/chunked-blob-reader-native@3.6.1": - "integrity" "sha512-vP6bc2v9h442Srmo7t2QcIbPjk5IqLSf4jGnKDAes8z+7eyjCtKugRP3lOM1fJCfGlPIsJGYnexxYdEGw008vA==" - "resolved" "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader-native/-/chunked-blob-reader-native-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader-native/-/chunked-blob-reader-native-3.6.1.tgz" dependencies: "@aws-sdk/util-base64-browser" "3.6.1" - "tslib" "^1.8.0" + tslib "^1.8.0" "@aws-sdk/chunked-blob-reader@3.6.1": - "integrity" "sha512-QBGUBoD8D5nsM/EKoc0rjpApa5NE5pQVzw1caE8sG00QMMPkCXWSB/gTVKVY0GOAhJFoA/VpVPQchIlZcOrBFg==" - "resolved" "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader/-/chunked-blob-reader-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader/-/chunked-blob-reader-3.6.1.tgz" dependencies: - "tslib" "^1.8.0" + tslib "^1.8.0" "@aws-sdk/client-cloudwatch-logs@3.6.1": - "integrity" "sha512-QOxIDnlVTpnwJ26Gap6RGz61cDLH6TKrIp30VqwdMeT1pCGy8mn9rWln6XA+ymkofHy/08RfpGp+VN4axwd4Lw==" - "resolved" "https://registry.npmjs.org/@aws-sdk/client-cloudwatch-logs/-/client-cloudwatch-logs-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/client-cloudwatch-logs/-/client-cloudwatch-logs-3.6.1.tgz" dependencies: "@aws-crypto/sha256-browser" "^1.0.0" "@aws-crypto/sha256-js" "^1.0.0" @@ -445,12 +423,11 @@ "@aws-sdk/util-user-agent-node" "3.6.1" "@aws-sdk/util-utf8-browser" "3.6.1" "@aws-sdk/util-utf8-node" "3.6.1" - "tslib" "^2.0.0" + tslib "^2.0.0" "@aws-sdk/client-comprehend@3.6.1": - "integrity" "sha512-Y2ixlSTjjAp2HJhkUArtYqC/X+zG5Qqu3Bl+Ez22u4u4YnG8HsNFD6FE1axuWSdSa5AFtWTEt+Cz2Ghj/tDySA==" - "resolved" "https://registry.npmjs.org/@aws-sdk/client-comprehend/-/client-comprehend-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/client-comprehend/-/client-comprehend-3.6.1.tgz" dependencies: "@aws-crypto/sha256-browser" "^1.0.0" "@aws-crypto/sha256-js" "^1.0.0" @@ -482,13 +459,12 @@ "@aws-sdk/util-user-agent-node" "3.6.1" "@aws-sdk/util-utf8-browser" "3.6.1" "@aws-sdk/util-utf8-node" "3.6.1" - "tslib" "^2.0.0" - "uuid" "^3.0.0" + tslib "^2.0.0" + uuid "^3.0.0" "@aws-sdk/client-firehose@3.6.1": - "integrity" "sha512-KhiKCm+cJmnRFuAEyO3DBpFVDNix1XcVikdxk2lvYbFWkM1oUZoBpudxaJ+fPf2W3stF3CXIAOP+TnGqSZCy9g==" - "resolved" "https://registry.npmjs.org/@aws-sdk/client-firehose/-/client-firehose-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/client-firehose/-/client-firehose-3.6.1.tgz" dependencies: "@aws-crypto/sha256-browser" "^1.0.0" "@aws-crypto/sha256-js" "^1.0.0" @@ -520,12 +496,11 @@ "@aws-sdk/util-user-agent-node" "3.6.1" "@aws-sdk/util-utf8-browser" "3.6.1" "@aws-sdk/util-utf8-node" "3.6.1" - "tslib" "^2.0.0" + tslib "^2.0.0" "@aws-sdk/client-kinesis@3.6.1": - "integrity" "sha512-Ygo+92LxHeUZmiyhiHT+k7hIOhJd6S7ckCEVUsQs2rfwe9bAygUY/3cCoZSqgWy7exFRRKsjhzStcyV6i6jrVQ==" - "resolved" "https://registry.npmjs.org/@aws-sdk/client-kinesis/-/client-kinesis-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/client-kinesis/-/client-kinesis-3.6.1.tgz" dependencies: "@aws-crypto/sha256-browser" "^1.0.0" "@aws-crypto/sha256-js" "^1.0.0" @@ -561,12 +536,11 @@ "@aws-sdk/util-utf8-browser" "3.6.1" "@aws-sdk/util-utf8-node" "3.6.1" "@aws-sdk/util-waiter" "3.6.1" - "tslib" "^2.0.0" + tslib "^2.0.0" "@aws-sdk/client-lex-runtime-service@3.186.2": - "integrity" "sha512-UzIDdbz04SxjQbUZJCSoDkKMfzfmi4QsoCBL52vdqB6wOW26yQvwxqJcXsSfGgD7YbEKJhlLb1dncFuSGUMuEQ==" - "resolved" "https://registry.npmjs.org/@aws-sdk/client-lex-runtime-service/-/client-lex-runtime-service-3.186.2.tgz" - "version" "3.186.2" + version "3.186.2" + resolved "https://registry.npmjs.org/@aws-sdk/client-lex-runtime-service/-/client-lex-runtime-service-3.186.2.tgz" dependencies: "@aws-crypto/sha256-browser" "2.0.0" "@aws-crypto/sha256-js" "2.0.0" @@ -601,12 +575,11 @@ "@aws-sdk/util-user-agent-node" "3.186.0" "@aws-sdk/util-utf8-browser" "3.186.0" "@aws-sdk/util-utf8-node" "3.186.0" - "tslib" "^2.3.1" + tslib "^2.3.1" "@aws-sdk/client-lex-runtime-v2@3.186.2": - "integrity" "sha512-OUO3wclrJIHNoczrCaTYnOhDayPNiz270I4jrOKORddepOeawbqmUZBIVeQh1JaL6/qlKz1ZId/zazBf2Mgcsw==" - "resolved" "https://registry.npmjs.org/@aws-sdk/client-lex-runtime-v2/-/client-lex-runtime-v2-3.186.2.tgz" - "version" "3.186.2" + version "3.186.2" + resolved "https://registry.npmjs.org/@aws-sdk/client-lex-runtime-v2/-/client-lex-runtime-v2-3.186.2.tgz" dependencies: "@aws-crypto/sha256-browser" "2.0.0" "@aws-crypto/sha256-js" "2.0.0" @@ -646,12 +619,11 @@ "@aws-sdk/util-user-agent-node" "3.186.0" "@aws-sdk/util-utf8-browser" "3.186.0" "@aws-sdk/util-utf8-node" "3.186.0" - "tslib" "^2.3.1" + tslib "^2.3.1" "@aws-sdk/client-location@3.186.2": - "integrity" "sha512-pjuwqfibyfkVOXbTaHzO4zNb/3NamlA/R+R8UvMex3NtxsDAWgqM3B9cYa2/Auqhzk+Wc/bhrz8FBskSEgdfWg==" - "resolved" "https://registry.npmjs.org/@aws-sdk/client-location/-/client-location-3.186.2.tgz" - "version" "3.186.2" + version "3.186.2" + resolved "https://registry.npmjs.org/@aws-sdk/client-location/-/client-location-3.186.2.tgz" dependencies: "@aws-crypto/sha256-browser" "2.0.0" "@aws-crypto/sha256-js" "2.0.0" @@ -686,12 +658,11 @@ "@aws-sdk/util-user-agent-node" "3.186.0" "@aws-sdk/util-utf8-browser" "3.186.0" "@aws-sdk/util-utf8-node" "3.186.0" - "tslib" "^2.3.1" + tslib "^2.3.1" "@aws-sdk/client-personalize-events@3.6.1": - "integrity" "sha512-x9Jl/7emSQsB6GwBvjyw5BiSO26CnH4uvjNit6n54yNMtJ26q0+oIxkplnUDyjLTfLRe373c/z5/4dQQtDffkw==" - "resolved" "https://registry.npmjs.org/@aws-sdk/client-personalize-events/-/client-personalize-events-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/client-personalize-events/-/client-personalize-events-3.6.1.tgz" dependencies: "@aws-crypto/sha256-browser" "^1.0.0" "@aws-crypto/sha256-js" "^1.0.0" @@ -723,12 +694,11 @@ "@aws-sdk/util-user-agent-node" "3.6.1" "@aws-sdk/util-utf8-browser" "3.6.1" "@aws-sdk/util-utf8-node" "3.6.1" - "tslib" "^2.0.0" + tslib "^2.0.0" "@aws-sdk/client-polly@3.6.1": - "integrity" "sha512-y6fxVYndGS7z2KqHViPCqagBEOsZlxBUYUJZuD6WWTiQrI0Pwe5qG02oKJVaa5OmxE20QLf6bRBWj2rQpeF4IQ==" - "resolved" "https://registry.npmjs.org/@aws-sdk/client-polly/-/client-polly-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/client-polly/-/client-polly-3.6.1.tgz" dependencies: "@aws-crypto/sha256-browser" "^1.0.0" "@aws-crypto/sha256-js" "^1.0.0" @@ -760,12 +730,11 @@ "@aws-sdk/util-user-agent-node" "3.6.1" "@aws-sdk/util-utf8-browser" "3.6.1" "@aws-sdk/util-utf8-node" "3.6.1" - "tslib" "^2.0.0" + tslib "^2.0.0" "@aws-sdk/client-rekognition@3.6.1": - "integrity" "sha512-Ia4FEog9RrI0IoDRbOJO6djwhVAAaEZutxEKrWbjrVz4bgib28L+V+yAio2SUneeirj8pNYXwBKPfoYOUqGHhA==" - "resolved" "https://registry.npmjs.org/@aws-sdk/client-rekognition/-/client-rekognition-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/client-rekognition/-/client-rekognition-3.6.1.tgz" dependencies: "@aws-crypto/sha256-browser" "^1.0.0" "@aws-crypto/sha256-js" "^1.0.0" @@ -798,12 +767,11 @@ "@aws-sdk/util-utf8-browser" "3.6.1" "@aws-sdk/util-utf8-node" "3.6.1" "@aws-sdk/util-waiter" "3.6.1" - "tslib" "^2.0.0" + tslib "^2.0.0" "@aws-sdk/client-s3@3.6.3": - "integrity" "sha512-nDcz/vyQ+otYjt9AetCWw9X4Ii4sdKOxmBJA06bLufzaWeGyYzVT3oY9o+9GywUXMEkz6vFVeKDZuSptt3aycA==" - "resolved" "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.6.3.tgz" - "version" "3.6.3" + version "3.6.3" + resolved "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.6.3.tgz" dependencies: "@aws-crypto/sha256-browser" "^1.0.0" "@aws-crypto/sha256-js" "^1.0.0" @@ -849,13 +817,12 @@ "@aws-sdk/util-utf8-node" "3.6.1" "@aws-sdk/util-waiter" "3.6.1" "@aws-sdk/xml-builder" "3.6.1" - "fast-xml-parser" "4.2.4" - "tslib" "^2.0.0" + fast-xml-parser "4.2.4" + tslib "^2.0.0" "@aws-sdk/client-sso@3.186.0": - "integrity" "sha512-qwLPomqq+fjvp42izzEpBEtGL2+dIlWH5pUCteV55hTEwHgo+m9LJPIrMWkPeoMBzqbNiu5n6+zihnwYlCIlEA==" - "resolved" "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.186.0.tgz" - "version" "3.186.0" + version "3.186.0" + resolved "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.186.0.tgz" dependencies: "@aws-crypto/sha256-browser" "2.0.0" "@aws-crypto/sha256-js" "2.0.0" @@ -887,12 +854,11 @@ "@aws-sdk/util-user-agent-node" "3.186.0" "@aws-sdk/util-utf8-browser" "3.186.0" "@aws-sdk/util-utf8-node" "3.186.0" - "tslib" "^2.3.1" + tslib "^2.3.1" "@aws-sdk/client-sts@3.186.2": - "integrity" "sha512-v58K2uVt7Yy980cCMCWKnNiTL3WAP0a82rI4p/eisc0i6WmXNguUtR+F4FyFlhJtHogjV7Uj4MSoI/qPwT2unA==" - "resolved" "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.186.2.tgz" - "version" "3.186.2" + version "3.186.2" + resolved "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.186.2.tgz" dependencies: "@aws-crypto/sha256-browser" "2.0.0" "@aws-crypto/sha256-js" "2.0.0" @@ -927,14 +893,13 @@ "@aws-sdk/util-user-agent-node" "3.186.0" "@aws-sdk/util-utf8-browser" "3.186.0" "@aws-sdk/util-utf8-node" "3.186.0" - "entities" "2.2.0" - "fast-xml-parser" "4.2.4" - "tslib" "^2.3.1" + entities "2.2.0" + fast-xml-parser "4.2.4" + tslib "^2.3.1" "@aws-sdk/client-textract@3.6.1": - "integrity" "sha512-nLrBzWDt3ToiGVFF4lW7a/eZpI2zjdvu7lwmOWyXX8iiPzhBVVEfd5oOorRyJYBsGMslp4sqV8TBkU5Ld/a97Q==" - "resolved" "https://registry.npmjs.org/@aws-sdk/client-textract/-/client-textract-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/client-textract/-/client-textract-3.6.1.tgz" dependencies: "@aws-crypto/sha256-browser" "^1.0.0" "@aws-crypto/sha256-js" "^1.0.0" @@ -966,12 +931,11 @@ "@aws-sdk/util-user-agent-node" "3.6.1" "@aws-sdk/util-utf8-browser" "3.6.1" "@aws-sdk/util-utf8-node" "3.6.1" - "tslib" "^2.0.0" + tslib "^2.0.0" "@aws-sdk/client-translate@3.6.1": - "integrity" "sha512-RIHY+Og1i43B5aWlfUUk0ZFnNfM7j2vzlYUwOqhndawV49GFf96M3pmskR5sKEZI+5TXY77qR9TgZ/r3UxVCRQ==" - "resolved" "https://registry.npmjs.org/@aws-sdk/client-translate/-/client-translate-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/client-translate/-/client-translate-3.6.1.tgz" dependencies: "@aws-crypto/sha256-browser" "^1.0.0" "@aws-crypto/sha256-js" "^1.0.0" @@ -1003,71 +967,64 @@ "@aws-sdk/util-user-agent-node" "3.6.1" "@aws-sdk/util-utf8-browser" "3.6.1" "@aws-sdk/util-utf8-node" "3.6.1" - "tslib" "^2.0.0" - "uuid" "^3.0.0" + tslib "^2.0.0" + uuid "^3.0.0" "@aws-sdk/config-resolver@3.186.0": - "integrity" "sha512-l8DR7Q4grEn1fgo2/KvtIfIHJS33HGKPQnht8OPxkl0dMzOJ0jxjOw/tMbrIcPnr2T3Fi7LLcj3dY1Fo1poruQ==" - "resolved" "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.186.0.tgz" - "version" "3.186.0" + version "3.186.0" + resolved "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.186.0.tgz" dependencies: "@aws-sdk/signature-v4" "3.186.0" "@aws-sdk/types" "3.186.0" "@aws-sdk/util-config-provider" "3.186.0" "@aws-sdk/util-middleware" "3.186.0" - "tslib" "^2.3.1" + tslib "^2.3.1" "@aws-sdk/config-resolver@3.6.1": - "integrity" "sha512-qjP1g3jLIm+XvOIJ4J7VmZRi87vsDmTRzIFePVeG+EFWwYQLxQjTGMdIj3yKTh1WuZ0HByf47mGcpiS4HZLm1Q==" - "resolved" "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.6.1.tgz" dependencies: "@aws-sdk/signature-v4" "3.6.1" "@aws-sdk/types" "3.6.1" - "tslib" "^1.8.0" + tslib "^1.8.0" "@aws-sdk/credential-provider-env@3.186.0": - "integrity" "sha512-N9LPAqi1lsQWgxzmU4NPvLPnCN5+IQ3Ai1IFf3wM6FFPNoSUd1kIA2c6xaf0BE7j5Kelm0raZOb4LnV3TBAv+g==" - "resolved" "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.186.0.tgz" - "version" "3.186.0" + version "3.186.0" + resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.186.0.tgz" dependencies: "@aws-sdk/property-provider" "3.186.0" "@aws-sdk/types" "3.186.0" - "tslib" "^2.3.1" + tslib "^2.3.1" "@aws-sdk/credential-provider-env@3.6.1": - "integrity" "sha512-coeFf/HnhpGidcAN1i1NuFgyFB2M6DeN1zNVy4f6s4mAh96ftr9DgWM1CcE3C+cLHEdpNqleVgC/2VQpyzOBLQ==" - "resolved" "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.6.1.tgz" dependencies: "@aws-sdk/property-provider" "3.6.1" "@aws-sdk/types" "3.6.1" - "tslib" "^1.8.0" + tslib "^1.8.0" "@aws-sdk/credential-provider-imds@3.186.0": - "integrity" "sha512-iJeC7KrEgPPAuXjCZ3ExYZrRQvzpSdTZopYgUm5TnNZ8S1NU/4nvv5xVy61JvMj3JQAeG8UDYYgC421Foc8wQw==" - "resolved" "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.186.0.tgz" - "version" "3.186.0" + version "3.186.0" + resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.186.0.tgz" dependencies: "@aws-sdk/node-config-provider" "3.186.0" "@aws-sdk/property-provider" "3.186.0" "@aws-sdk/types" "3.186.0" "@aws-sdk/url-parser" "3.186.0" - "tslib" "^2.3.1" + tslib "^2.3.1" "@aws-sdk/credential-provider-imds@3.6.1": - "integrity" "sha512-bf4LMI418OYcQbyLZRAW8Q5AYM2IKrNqOnIcfrFn2f17ulG7TzoWW3WN/kMOw4TC9+y+vIlCWOv87GxU1yP0Bg==" - "resolved" "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.6.1.tgz" dependencies: "@aws-sdk/property-provider" "3.6.1" "@aws-sdk/types" "3.6.1" - "tslib" "^1.8.0" + tslib "^1.8.0" "@aws-sdk/credential-provider-ini@3.186.0": - "integrity" "sha512-ecrFh3MoZhAj5P2k/HXo/hMJQ3sfmvlommzXuZ/D1Bj2yMcyWuBhF1A83Fwd2gtYrWRrllsK3IOMM5Jr8UIVZA==" - "resolved" "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.186.0.tgz" - "version" "3.186.0" + version "3.186.0" + resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.186.0.tgz" dependencies: "@aws-sdk/credential-provider-env" "3.186.0" "@aws-sdk/credential-provider-imds" "3.186.0" @@ -1076,22 +1033,20 @@ "@aws-sdk/property-provider" "3.186.0" "@aws-sdk/shared-ini-file-loader" "3.186.0" "@aws-sdk/types" "3.186.0" - "tslib" "^2.3.1" + tslib "^2.3.1" "@aws-sdk/credential-provider-ini@3.6.1": - "integrity" "sha512-3jguW6+ttRNddRZvbrs1yb3F1jrUbqyv0UfRoHuOGthjTt+L9sDpJaJGugYnT3bS9WBu1NydLVE2kDV++mJGVw==" - "resolved" "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.6.1.tgz" dependencies: "@aws-sdk/property-provider" "3.6.1" "@aws-sdk/shared-ini-file-loader" "3.6.1" "@aws-sdk/types" "3.6.1" - "tslib" "^1.8.0" + tslib "^1.8.0" "@aws-sdk/credential-provider-node@3.186.0": - "integrity" "sha512-HIt2XhSRhEvVgRxTveLCzIkd/SzEBQfkQ6xMJhkBtfJw1o3+jeCk+VysXM0idqmXytctL0O3g9cvvTHOsUgxOA==" - "resolved" "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.186.0.tgz" - "version" "3.186.0" + version "3.186.0" + resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.186.0.tgz" dependencies: "@aws-sdk/credential-provider-env" "3.186.0" "@aws-sdk/credential-provider-imds" "3.186.0" @@ -1102,12 +1057,11 @@ "@aws-sdk/property-provider" "3.186.0" "@aws-sdk/shared-ini-file-loader" "3.186.0" "@aws-sdk/types" "3.186.0" - "tslib" "^2.3.1" + tslib "^2.3.1" "@aws-sdk/credential-provider-node@3.6.1": - "integrity" "sha512-VAHOcsqkPrF1k/fA62pv9c75lUWe5bHpcbFX83C3EUPd2FXV10Lfkv6bdWhyZPQy0k8T+9/yikHH3c7ZQeFE5A==" - "resolved" "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.6.1.tgz" dependencies: "@aws-sdk/credential-provider-env" "3.6.1" "@aws-sdk/credential-provider-imds" "3.6.1" @@ -1116,600 +1070,535 @@ "@aws-sdk/property-provider" "3.6.1" "@aws-sdk/shared-ini-file-loader" "3.6.1" "@aws-sdk/types" "3.6.1" - "tslib" "^1.8.0" + tslib "^1.8.0" "@aws-sdk/credential-provider-process@3.186.0": - "integrity" "sha512-ATRU6gbXvWC1TLnjOEZugC/PBXHBoZgBADid4fDcEQY1vF5e5Ux1kmqkJxyHtV5Wl8sE2uJfwWn+FlpUHRX67g==" - "resolved" "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.186.0.tgz" - "version" "3.186.0" + version "3.186.0" + resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.186.0.tgz" dependencies: "@aws-sdk/property-provider" "3.186.0" "@aws-sdk/shared-ini-file-loader" "3.186.0" "@aws-sdk/types" "3.186.0" - "tslib" "^2.3.1" + tslib "^2.3.1" "@aws-sdk/credential-provider-process@3.6.1": - "integrity" "sha512-d0/TpMoEV4qMYkdpyyjU2Otse9X2jC1DuxWajHOWZYEw8oejMvXYTZ10hNaXZvAcNM9q214rp+k4mkt6gIcI6g==" - "resolved" "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.6.1.tgz" dependencies: "@aws-sdk/credential-provider-ini" "3.6.1" "@aws-sdk/property-provider" "3.6.1" "@aws-sdk/shared-ini-file-loader" "3.6.1" "@aws-sdk/types" "3.6.1" - "tslib" "^1.8.0" + tslib "^1.8.0" "@aws-sdk/credential-provider-sso@3.186.0": - "integrity" "sha512-mJ+IZljgXPx99HCmuLgBVDPLepHrwqnEEC/0wigrLCx6uz3SrAWmGZsNbxSEtb2CFSAaczlTHcU/kIl7XZIyeQ==" - "resolved" "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.186.0.tgz" - "version" "3.186.0" + version "3.186.0" + resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.186.0.tgz" dependencies: "@aws-sdk/client-sso" "3.186.0" "@aws-sdk/property-provider" "3.186.0" "@aws-sdk/shared-ini-file-loader" "3.186.0" "@aws-sdk/types" "3.186.0" - "tslib" "^2.3.1" + tslib "^2.3.1" "@aws-sdk/credential-provider-web-identity@3.186.0": - "integrity" "sha512-KqzI5eBV72FE+8SuOQAu+r53RXGVHg4AuDJmdXyo7Gc4wS/B9FNElA8jVUjjYgVnf0FSiri+l41VzQ44dCopSA==" - "resolved" "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.186.0.tgz" - "version" "3.186.0" + version "3.186.0" + resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.186.0.tgz" dependencies: "@aws-sdk/property-provider" "3.186.0" "@aws-sdk/types" "3.186.0" - "tslib" "^2.3.1" + tslib "^2.3.1" "@aws-sdk/eventstream-codec@3.186.0": - "integrity" "sha512-3kLcJ0/H+zxFlhTlE1SGoFpzd/SitwXOsTSlYVwrwdISKRjooGg0BJpm1CSTkvmWnQIUlYijJvS96TAJ+fCPIA==" - "resolved" "https://registry.npmjs.org/@aws-sdk/eventstream-codec/-/eventstream-codec-3.186.0.tgz" - "version" "3.186.0" + version "3.186.0" + resolved "https://registry.npmjs.org/@aws-sdk/eventstream-codec/-/eventstream-codec-3.186.0.tgz" dependencies: "@aws-crypto/crc32" "2.0.0" "@aws-sdk/types" "3.186.0" "@aws-sdk/util-hex-encoding" "3.186.0" - "tslib" "^2.3.1" + tslib "^2.3.1" "@aws-sdk/eventstream-handler-node@3.186.0": - "integrity" "sha512-S8eAxCHyFAGSH7F6GHKU2ckpiwFPwJUQwMzewISLg3wzLQeu6lmduxBxVaV3/SoEbEMsbNmrgw9EXtw3Vt/odQ==" - "resolved" "https://registry.npmjs.org/@aws-sdk/eventstream-handler-node/-/eventstream-handler-node-3.186.0.tgz" - "version" "3.186.0" + version "3.186.0" + resolved "https://registry.npmjs.org/@aws-sdk/eventstream-handler-node/-/eventstream-handler-node-3.186.0.tgz" dependencies: "@aws-sdk/eventstream-codec" "3.186.0" "@aws-sdk/types" "3.186.0" - "tslib" "^2.3.1" + tslib "^2.3.1" "@aws-sdk/eventstream-marshaller@3.6.1": - "integrity" "sha512-ZvN3Nvxn2Gul08L9MOSN123LwSO0E1gF/CqmOGZtEWzPnoSX/PWM9mhPPeXubyw2KdlXylOodYYw3EAATk3OmA==" - "resolved" "https://registry.npmjs.org/@aws-sdk/eventstream-marshaller/-/eventstream-marshaller-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/eventstream-marshaller/-/eventstream-marshaller-3.6.1.tgz" dependencies: "@aws-crypto/crc32" "^1.0.0" "@aws-sdk/types" "3.6.1" "@aws-sdk/util-hex-encoding" "3.6.1" - "tslib" "^1.8.0" + tslib "^1.8.0" "@aws-sdk/eventstream-serde-browser@3.186.0": - "integrity" "sha512-0r2c+yugBdkP5bglGhGOgztjeHdHTKqu2u6bvTByM0nJShNO9YyqWygqPqDUOE5axcYQE1D0aFDGzDtP3mGJhw==" - "resolved" "https://registry.npmjs.org/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.186.0.tgz" - "version" "3.186.0" + version "3.186.0" + resolved "https://registry.npmjs.org/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.186.0.tgz" dependencies: "@aws-sdk/eventstream-serde-universal" "3.186.0" "@aws-sdk/types" "3.186.0" - "tslib" "^2.3.1" + tslib "^2.3.1" "@aws-sdk/eventstream-serde-browser@3.6.1": - "integrity" "sha512-J8B30d+YUfkBtgWRr7+9AfYiPnbG28zjMlFGsJf8Wxr/hDCfff+Z8NzlBYFEbS7McXXhRiIN8DHUvCtolJtWJQ==" - "resolved" "https://registry.npmjs.org/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.6.1.tgz" dependencies: "@aws-sdk/eventstream-marshaller" "3.6.1" "@aws-sdk/eventstream-serde-universal" "3.6.1" "@aws-sdk/types" "3.6.1" - "tslib" "^1.8.0" + tslib "^1.8.0" "@aws-sdk/eventstream-serde-config-resolver@3.186.0": - "integrity" "sha512-xhwCqYrAX5c7fg9COXVw6r7Sa3BO5cCfQMSR5S1QisE7do8K1GDKEHvUCheOx+RLon+P3glLjuNBMdD0HfCVNA==" - "resolved" "https://registry.npmjs.org/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.186.0.tgz" - "version" "3.186.0" + version "3.186.0" + resolved "https://registry.npmjs.org/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.186.0.tgz" dependencies: "@aws-sdk/types" "3.186.0" - "tslib" "^2.3.1" + tslib "^2.3.1" "@aws-sdk/eventstream-serde-config-resolver@3.6.1": - "integrity" "sha512-72pCzcT/KeD4gPgRVBSQzEzz4JBim8bNwPwZCGaIYdYAsAI8YMlvp0JNdis3Ov9DFURc87YilWKQlAfw7CDJxA==" - "resolved" "https://registry.npmjs.org/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.6.1.tgz" dependencies: "@aws-sdk/types" "3.6.1" - "tslib" "^1.8.0" + tslib "^1.8.0" "@aws-sdk/eventstream-serde-node@3.186.0": - "integrity" "sha512-9p/gdukJYfmA+OEYd6MfIuufxrrfdt15lBDM3FODuc9j09LSYSRHSxthkIhiM5XYYaaUM+4R0ZlSMdaC3vFDFQ==" - "resolved" "https://registry.npmjs.org/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.186.0.tgz" - "version" "3.186.0" + version "3.186.0" + resolved "https://registry.npmjs.org/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.186.0.tgz" dependencies: "@aws-sdk/eventstream-serde-universal" "3.186.0" "@aws-sdk/types" "3.186.0" - "tslib" "^2.3.1" + tslib "^2.3.1" "@aws-sdk/eventstream-serde-node@3.6.1": - "integrity" "sha512-rjBbJFjCrEcm2NxZctp+eJmyPxKYayG3tQZo8PEAQSViIlK5QexQI3fgqNAeCtK7l/SFAAvnOMRZF6Z3NdUY6A==" - "resolved" "https://registry.npmjs.org/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.6.1.tgz" dependencies: "@aws-sdk/eventstream-marshaller" "3.6.1" "@aws-sdk/eventstream-serde-universal" "3.6.1" "@aws-sdk/types" "3.6.1" - "tslib" "^1.8.0" + tslib "^1.8.0" "@aws-sdk/eventstream-serde-universal@3.186.0": - "integrity" "sha512-rIgPmwUxn2tzainBoh+cxAF+b7o01CcW+17yloXmawsi0kiR7QK7v9m/JTGQPWKtHSsPOrtRzuiWQNX57SlcsQ==" - "resolved" "https://registry.npmjs.org/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.186.0.tgz" - "version" "3.186.0" + version "3.186.0" + resolved "https://registry.npmjs.org/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.186.0.tgz" dependencies: "@aws-sdk/eventstream-codec" "3.186.0" "@aws-sdk/types" "3.186.0" - "tslib" "^2.3.1" + tslib "^2.3.1" "@aws-sdk/eventstream-serde-universal@3.6.1": - "integrity" "sha512-rpRu97yAGHr9GQLWMzcGICR2PxNu1dHU/MYc9Kb6UgGeZd4fod4o1zjhAJuj98cXn2xwHNFM4wMKua6B4zKrZg==" - "resolved" "https://registry.npmjs.org/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.6.1.tgz" dependencies: "@aws-sdk/eventstream-marshaller" "3.6.1" "@aws-sdk/types" "3.6.1" - "tslib" "^1.8.0" + tslib "^1.8.0" "@aws-sdk/fetch-http-handler@3.186.0": - "integrity" "sha512-k2v4AAHRD76WnLg7arH94EvIclClo/YfuqO7NoQ6/KwOxjRhs4G6TgIsAZ9E0xmqoJoV81Xqy8H8ldfy9F8LEw==" - "resolved" "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.186.0.tgz" - "version" "3.186.0" + version "3.186.0" + resolved "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.186.0.tgz" dependencies: "@aws-sdk/protocol-http" "3.186.0" "@aws-sdk/querystring-builder" "3.186.0" "@aws-sdk/types" "3.186.0" "@aws-sdk/util-base64-browser" "3.186.0" - "tslib" "^2.3.1" + tslib "^2.3.1" "@aws-sdk/fetch-http-handler@3.6.1": - "integrity" "sha512-N8l6ZbwhINuWG5hsl625lmIQmVjzsqRPmlgh061jm5D90IhsM5/3A3wUxpB/k0av1dmuMRw/m0YtBU5w4LOwvw==" - "resolved" "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.6.1.tgz" dependencies: "@aws-sdk/protocol-http" "3.6.1" "@aws-sdk/querystring-builder" "3.6.1" "@aws-sdk/types" "3.6.1" "@aws-sdk/util-base64-browser" "3.6.1" - "tslib" "^1.8.0" + tslib "^1.8.0" "@aws-sdk/hash-blob-browser@3.6.1": - "integrity" "sha512-9jPaZ/e3F8gf9JZd44DD6MvbYV6bKnn99rkG3GFIINOy9etoxPrLehp2bH2DK/j0ow60RNuwgUjj5qHV/zF67g==" - "resolved" "https://registry.npmjs.org/@aws-sdk/hash-blob-browser/-/hash-blob-browser-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/hash-blob-browser/-/hash-blob-browser-3.6.1.tgz" dependencies: "@aws-sdk/chunked-blob-reader" "3.6.1" "@aws-sdk/chunked-blob-reader-native" "3.6.1" "@aws-sdk/types" "3.6.1" - "tslib" "^1.8.0" + tslib "^1.8.0" "@aws-sdk/hash-node@3.186.0": - "integrity" "sha512-G3zuK8/3KExDTxqrGqko+opOMLRF0BwcwekV/wm3GKIM/NnLhHblBs2zd/yi7VsEoWmuzibfp6uzxgFpEoJ87w==" - "resolved" "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.186.0.tgz" - "version" "3.186.0" + version "3.186.0" + resolved "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.186.0.tgz" dependencies: "@aws-sdk/types" "3.186.0" "@aws-sdk/util-buffer-from" "3.186.0" - "tslib" "^2.3.1" + tslib "^2.3.1" "@aws-sdk/hash-node@3.6.1": - "integrity" "sha512-iKEpzpyaG9PYCnaOGwTIf0lffsF/TpsXrzAfnBlfeOU/3FbgniW2z/yq5xBbtMDtLobtOYC09kUFwDnDvuveSA==" - "resolved" "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.6.1.tgz" dependencies: "@aws-sdk/types" "3.6.1" "@aws-sdk/util-buffer-from" "3.6.1" - "tslib" "^1.8.0" + tslib "^1.8.0" "@aws-sdk/hash-stream-node@3.6.1": - "integrity" "sha512-ePaWjCItIWxuSxA/UnUM/keQ3IAOsQz3FYSxu0KK8K0e1bKTEUgDIG9oMLBq7jIl9TzJG0HBXuPfMe73QHUNug==" - "resolved" "https://registry.npmjs.org/@aws-sdk/hash-stream-node/-/hash-stream-node-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/hash-stream-node/-/hash-stream-node-3.6.1.tgz" dependencies: "@aws-sdk/types" "3.6.1" - "tslib" "^1.8.0" + tslib "^1.8.0" "@aws-sdk/invalid-dependency@3.186.0": - "integrity" "sha512-hjeZKqORhG2DPWYZ776lQ9YO3gjw166vZHZCZU/43kEYaCZHsF4mexHwHzreAY6RfS25cH60Um7dUh1aeVIpkw==" - "resolved" "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.186.0.tgz" - "version" "3.186.0" + version "3.186.0" + resolved "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.186.0.tgz" dependencies: "@aws-sdk/types" "3.186.0" - "tslib" "^2.3.1" + tslib "^2.3.1" "@aws-sdk/invalid-dependency@3.6.1": - "integrity" "sha512-d0RLqK7yeDCZJKopnGmGXo2rYkQNE7sGKVmBHQD1j1kKZ9lWwRoJeWqo834JNPZzY5XRvZG5SuIjJ1kFy8LpyQ==" - "resolved" "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.6.1.tgz" dependencies: "@aws-sdk/types" "3.6.1" - "tslib" "^1.8.0" + tslib "^1.8.0" "@aws-sdk/is-array-buffer@3.186.0": - "integrity" "sha512-fObm+P6mjWYzxoFY4y2STHBmSdgKbIAXez0xope563mox62I8I4hhVPUCaDVydXvDpJv8tbedJMk0meJl22+xA==" - "resolved" "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.186.0.tgz" - "version" "3.186.0" + version "3.186.0" + resolved "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.186.0.tgz" dependencies: - "tslib" "^2.3.1" + tslib "^2.3.1" "@aws-sdk/is-array-buffer@3.6.1": - "integrity" "sha512-qm2iDJmCrxlQE2dsFG+TujPe7jw4DF+4RTrsFMhk/e3lOl3MAzQ6Fc2kXtgeUcVrZVFTL8fQvXE1ByYyI6WbCw==" - "resolved" "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.6.1.tgz" dependencies: - "tslib" "^1.8.0" + tslib "^1.8.0" "@aws-sdk/md5-js@3.6.1": - "integrity" "sha512-lzCqkZF1sbzGFDyq1dI+lR3AmlE33rbC/JhZ5fzw3hJZvfZ6Beq3Su7YwDo65IWEu0zOKYaNywTeOloXP/CkxQ==" - "resolved" "https://registry.npmjs.org/@aws-sdk/md5-js/-/md5-js-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/md5-js/-/md5-js-3.6.1.tgz" dependencies: "@aws-sdk/types" "3.6.1" "@aws-sdk/util-utf8-browser" "3.6.1" - "tslib" "^1.8.0" + tslib "^1.8.0" "@aws-sdk/middleware-apply-body-checksum@3.6.1": - "integrity" "sha512-IncmXR1MPk6aYvmD37It8dP6wVMzaxxzgrkIU2ACkN5UVwA+/0Sr3ZNd9dNwjpyoH1AwpL9BetnlJaWtT6K5ew==" - "resolved" "https://registry.npmjs.org/@aws-sdk/middleware-apply-body-checksum/-/middleware-apply-body-checksum-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-apply-body-checksum/-/middleware-apply-body-checksum-3.6.1.tgz" dependencies: "@aws-sdk/is-array-buffer" "3.6.1" "@aws-sdk/protocol-http" "3.6.1" "@aws-sdk/types" "3.6.1" - "tslib" "^1.8.0" + tslib "^1.8.0" "@aws-sdk/middleware-bucket-endpoint@3.6.1": - "integrity" "sha512-Frcqn2RQDNHy+e2Q9hv3ejT3mQWtGlfZESbXEF6toR4M0R8MmEVqIB/ohI6VKBj11lRmGwvpPsR6zz+PJ8HS7A==" - "resolved" "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.6.1.tgz" dependencies: "@aws-sdk/protocol-http" "3.6.1" "@aws-sdk/types" "3.6.1" "@aws-sdk/util-arn-parser" "3.6.1" - "tslib" "^1.8.0" + tslib "^1.8.0" "@aws-sdk/middleware-content-length@3.186.0": - "integrity" "sha512-Ol3c1ks3IK1s+Okc/rHIX7w2WpXofuQdoAEme37gHeml+8FtUlWH/881h62xfMdf+0YZpRuYv/eM7lBmJBPNJw==" - "resolved" "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.186.0.tgz" - "version" "3.186.0" + version "3.186.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.186.0.tgz" dependencies: "@aws-sdk/protocol-http" "3.186.0" "@aws-sdk/types" "3.186.0" - "tslib" "^2.3.1" + tslib "^2.3.1" "@aws-sdk/middleware-content-length@3.6.1": - "integrity" "sha512-QRcocG9f5YjYzbjs2HjKla6ZIjvx8Y8tm1ZSFOPey81m18CLif1O7M3AtJXvxn+0zeSck9StFdhz5gfjVNYtDg==" - "resolved" "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.6.1.tgz" dependencies: "@aws-sdk/protocol-http" "3.6.1" "@aws-sdk/types" "3.6.1" - "tslib" "^1.8.0" + tslib "^1.8.0" "@aws-sdk/middleware-eventstream@3.186.0": - "integrity" "sha512-7yjFiitTGgfKL6cHK3u3HYFnld26IW5aUAFuEd6ocR/FjliysfBd8g0g1bw3bRfIMgCDD8OIOkXK8iCk2iYGWQ==" - "resolved" "https://registry.npmjs.org/@aws-sdk/middleware-eventstream/-/middleware-eventstream-3.186.0.tgz" - "version" "3.186.0" + version "3.186.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-eventstream/-/middleware-eventstream-3.186.0.tgz" dependencies: "@aws-sdk/protocol-http" "3.186.0" "@aws-sdk/types" "3.186.0" - "tslib" "^2.3.1" + tslib "^2.3.1" "@aws-sdk/middleware-expect-continue@3.6.1": - "integrity" "sha512-vvMOqVYU3uvdJzg/X6NHewZUEBZhSqND1IEcdahLb6RmvDhsS39iS97VZmEFsjj/UFGoePtYjrrdEgRG9Rm1kQ==" - "resolved" "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.6.1.tgz" dependencies: "@aws-sdk/middleware-header-default" "3.6.1" "@aws-sdk/protocol-http" "3.6.1" "@aws-sdk/types" "3.6.1" - "tslib" "^1.8.0" + tslib "^1.8.0" "@aws-sdk/middleware-header-default@3.6.1": - "integrity" "sha512-YD137iIctXVH8Eut0WOBalvvA+uL0jM0UXZ9N2oKrC8kPQPpqjK9lYGFKZQFsl/XlQHAjJi+gCAFrYsBntRWJQ==" - "resolved" "https://registry.npmjs.org/@aws-sdk/middleware-header-default/-/middleware-header-default-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-header-default/-/middleware-header-default-3.6.1.tgz" dependencies: "@aws-sdk/protocol-http" "3.6.1" "@aws-sdk/types" "3.6.1" - "tslib" "^1.8.0" + tslib "^1.8.0" "@aws-sdk/middleware-host-header@3.186.0": - "integrity" "sha512-5bTzrRzP2IGwyF3QCyMGtSXpOOud537x32htZf344IvVjrqZF/P8CDfGTkHkeBCIH+wnJxjK+l/QBb3ypAMIqQ==" - "resolved" "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.186.0.tgz" - "version" "3.186.0" + version "3.186.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.186.0.tgz" dependencies: "@aws-sdk/protocol-http" "3.186.0" "@aws-sdk/types" "3.186.0" - "tslib" "^2.3.1" + tslib "^2.3.1" "@aws-sdk/middleware-host-header@3.6.1": - "integrity" "sha512-nwq8R2fGBRZQE0Fr/jiOgqfppfiTQCUoD8hyX3qSS7Qc2uqpsDOt2TnnoZl56mpQYkF/344IvMAkp+ew6wR73w==" - "resolved" "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.6.1.tgz" dependencies: "@aws-sdk/protocol-http" "3.6.1" "@aws-sdk/types" "3.6.1" - "tslib" "^1.8.0" + tslib "^1.8.0" "@aws-sdk/middleware-location-constraint@3.6.1": - "integrity" "sha512-nFisTc0O5D+4I+sRxiiLPasC/I4NDc3s+hgbPPt/b3uAdrujJjhwFBOSaTx8qQvz/xJPAA8pUA/bfWIyeZKi/w==" - "resolved" "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.6.1.tgz" dependencies: "@aws-sdk/types" "3.6.1" - "tslib" "^1.8.0" + tslib "^1.8.0" "@aws-sdk/middleware-logger@3.186.0": - "integrity" "sha512-/1gGBImQT8xYh80pB7QtyzA799TqXtLZYQUohWAsFReYB7fdh5o+mu2rX0FNzZnrLIh2zBUNs4yaWGsnab4uXg==" - "resolved" "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.186.0.tgz" - "version" "3.186.0" + version "3.186.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.186.0.tgz" dependencies: "@aws-sdk/types" "3.186.0" - "tslib" "^2.3.1" + tslib "^2.3.1" "@aws-sdk/middleware-logger@3.6.1": - "integrity" "sha512-zxaSLpwKlja7JvK20UsDTxPqBZUo3rbDA1uv3VWwpxzOrEWSlVZYx/KLuyGWGkx9V71ZEkf6oOWWJIstS0wyQQ==" - "resolved" "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.6.1.tgz" dependencies: "@aws-sdk/types" "3.6.1" - "tslib" "^1.8.0" + tslib "^1.8.0" "@aws-sdk/middleware-recursion-detection@3.186.0": - "integrity" "sha512-Za7k26Kovb4LuV5tmC6wcVILDCt0kwztwSlB991xk4vwNTja8kKxSt53WsYG8Q2wSaW6UOIbSoguZVyxbIY07Q==" - "resolved" "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.186.0.tgz" - "version" "3.186.0" + version "3.186.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.186.0.tgz" dependencies: "@aws-sdk/protocol-http" "3.186.0" "@aws-sdk/types" "3.186.0" - "tslib" "^2.3.1" + tslib "^2.3.1" "@aws-sdk/middleware-retry@3.186.0": - "integrity" "sha512-/VI9emEKhhDzlNv9lQMmkyxx3GjJ8yPfXH3HuAeOgM1wx1BjCTLRYEWnTbQwq7BDzVENdneleCsGAp7yaj80Aw==" - "resolved" "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.186.0.tgz" - "version" "3.186.0" + version "3.186.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.186.0.tgz" dependencies: "@aws-sdk/protocol-http" "3.186.0" "@aws-sdk/service-error-classification" "3.186.0" "@aws-sdk/types" "3.186.0" "@aws-sdk/util-middleware" "3.186.0" - "tslib" "^2.3.1" - "uuid" "^8.3.2" + tslib "^2.3.1" + uuid "^8.3.2" "@aws-sdk/middleware-retry@3.6.1": - "integrity" "sha512-WHeo4d2jsXxBP+cec2SeLb0btYXwYXuE56WLmNt0RvJYmiBzytUeGJeRa9HuwV574kgigAuHGCeHlPO36G4Y0Q==" - "resolved" "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.6.1.tgz" dependencies: "@aws-sdk/protocol-http" "3.6.1" "@aws-sdk/service-error-classification" "3.6.1" "@aws-sdk/types" "3.6.1" - "react-native-get-random-values" "^1.4.0" - "tslib" "^1.8.0" - "uuid" "^3.0.0" + react-native-get-random-values "^1.4.0" + tslib "^1.8.0" + uuid "^3.0.0" "@aws-sdk/middleware-sdk-s3@3.6.1": - "integrity" "sha512-HEA9kynNTsOSIIz8p5GEEAH03pnn+SSohwPl80sGqkmI1yl1tzjqgYZRii0e6acJTh4j9655XFzSx36hYPeB2w==" - "resolved" "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.6.1.tgz" dependencies: "@aws-sdk/protocol-http" "3.6.1" "@aws-sdk/types" "3.6.1" "@aws-sdk/util-arn-parser" "3.6.1" - "tslib" "^1.8.0" + tslib "^1.8.0" "@aws-sdk/middleware-sdk-sts@3.186.0": - "integrity" "sha512-GDcK0O8rjtnd+XRGnxzheq1V2jk4Sj4HtjrxW/ROyhzLOAOyyxutBt+/zOpDD6Gba3qxc69wE+Cf/qngOkEkDw==" - "resolved" "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.186.0.tgz" - "version" "3.186.0" + version "3.186.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.186.0.tgz" dependencies: "@aws-sdk/middleware-signing" "3.186.0" "@aws-sdk/property-provider" "3.186.0" "@aws-sdk/protocol-http" "3.186.0" "@aws-sdk/signature-v4" "3.186.0" "@aws-sdk/types" "3.186.0" - "tslib" "^2.3.1" + tslib "^2.3.1" "@aws-sdk/middleware-serde@3.186.0": - "integrity" "sha512-6FEAz70RNf18fKL5O7CepPSwTKJEIoyG9zU6p17GzKMgPeFsxS5xO94Hcq5tV2/CqeHliebjqhKY7yi+Pgok7g==" - "resolved" "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.186.0.tgz" - "version" "3.186.0" + version "3.186.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.186.0.tgz" dependencies: "@aws-sdk/types" "3.186.0" - "tslib" "^2.3.1" + tslib "^2.3.1" "@aws-sdk/middleware-serde@3.6.1": - "integrity" "sha512-EdQCFZRERfP3uDuWcPNuaa2WUR3qL1WFDXafhcx+7ywQxagdYqBUWKFJlLYi6njbkOKXFM+eHBzoXGF0OV3MJA==" - "resolved" "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.6.1.tgz" dependencies: "@aws-sdk/types" "3.6.1" - "tslib" "^1.8.0" + tslib "^1.8.0" "@aws-sdk/middleware-signing@3.186.0": - "integrity" "sha512-riCJYG/LlF/rkgVbHkr4xJscc0/sECzDivzTaUmfb9kJhAwGxCyNqnTvg0q6UO00kxSdEB9zNZI2/iJYVBijBQ==" - "resolved" "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.186.0.tgz" - "version" "3.186.0" + version "3.186.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.186.0.tgz" dependencies: "@aws-sdk/property-provider" "3.186.0" "@aws-sdk/protocol-http" "3.186.0" "@aws-sdk/signature-v4" "3.186.0" "@aws-sdk/types" "3.186.0" "@aws-sdk/util-middleware" "3.186.0" - "tslib" "^2.3.1" + tslib "^2.3.1" "@aws-sdk/middleware-signing@3.6.1": - "integrity" "sha512-1woKq+1sU3eausdl8BNdAMRZMkSYuy4mxhLsF0/qAUuLwo1eJLLUCOQp477tICawgu4O4q2OAyUHk7wMqYnQCg==" - "resolved" "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.6.1.tgz" dependencies: "@aws-sdk/protocol-http" "3.6.1" "@aws-sdk/signature-v4" "3.6.1" "@aws-sdk/types" "3.6.1" - "tslib" "^1.8.0" + tslib "^1.8.0" "@aws-sdk/middleware-ssec@3.6.1": - "integrity" "sha512-svuH6s91uKUTORt51msiL/ZBjtYSW32c3uVoWxludd/PEf6zO5wCmUEsKoyVwa88L7rrCq+81UBv5A8S5kc3Cw==" - "resolved" "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.6.1.tgz" dependencies: "@aws-sdk/types" "3.6.1" - "tslib" "^1.8.0" + tslib "^1.8.0" "@aws-sdk/middleware-stack@3.186.0": - "integrity" "sha512-fENMoo0pW7UBrbuycPf+3WZ+fcUgP9PnQ0jcOK3WWZlZ9d2ewh4HNxLh4EE3NkNYj4VIUFXtTUuVNHlG8trXjQ==" - "resolved" "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.186.0.tgz" - "version" "3.186.0" + version "3.186.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.186.0.tgz" dependencies: - "tslib" "^2.3.1" + tslib "^2.3.1" "@aws-sdk/middleware-stack@3.6.1": - "integrity" "sha512-EPsIxMi8LtCt7YwTFpWGlVGYJc0q4kwFbOssY02qfqdCnyqi2y5wo089dH7OdxUooQ0D7CPsXM1zTTuzvm+9Fw==" - "resolved" "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.6.1.tgz" dependencies: - "tslib" "^1.8.0" + tslib "^1.8.0" "@aws-sdk/middleware-user-agent@3.186.0": - "integrity" "sha512-fb+F2PF9DLKOVMgmhkr+ltN8ZhNJavTla9aqmbd01846OLEaN1n5xEnV7p8q5+EznVBWDF38Oz9Ae5BMt3Hs7w==" - "resolved" "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.186.0.tgz" - "version" "3.186.0" + version "3.186.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.186.0.tgz" dependencies: "@aws-sdk/protocol-http" "3.186.0" "@aws-sdk/types" "3.186.0" - "tslib" "^2.3.1" + tslib "^2.3.1" "@aws-sdk/middleware-user-agent@3.6.1": - "integrity" "sha512-YvXvwllNDVvxQ30vIqLsx+P6jjnfFEQUmhlv64n98gOme6h2BqoyQDcC3yHRGctuxRZEsR7W/H1ASTKC+iabbQ==" - "resolved" "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.6.1.tgz" dependencies: "@aws-sdk/protocol-http" "3.6.1" "@aws-sdk/types" "3.6.1" - "tslib" "^1.8.0" + tslib "^1.8.0" "@aws-sdk/node-config-provider@3.186.0": - "integrity" "sha512-De93mgmtuUUeoiKXU8pVHXWKPBfJQlS/lh1k2H9T2Pd9Tzi0l7p5ttddx4BsEx4gk+Pc5flNz+DeptiSjZpa4A==" - "resolved" "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.186.0.tgz" - "version" "3.186.0" + version "3.186.0" + resolved "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.186.0.tgz" dependencies: "@aws-sdk/property-provider" "3.186.0" "@aws-sdk/shared-ini-file-loader" "3.186.0" "@aws-sdk/types" "3.186.0" - "tslib" "^2.3.1" + tslib "^2.3.1" "@aws-sdk/node-config-provider@3.6.1": - "integrity" "sha512-x2Z7lm0ZhHYqMybvkaI5hDKfBkaLaXhTDfgrLl9TmBZ3QHO4fIHgeL82VZ90Paol+OS+jdq2AheLmzbSxv3HrA==" - "resolved" "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.6.1.tgz" dependencies: "@aws-sdk/property-provider" "3.6.1" "@aws-sdk/shared-ini-file-loader" "3.6.1" "@aws-sdk/types" "3.6.1" - "tslib" "^1.8.0" + tslib "^1.8.0" "@aws-sdk/node-http-handler@3.186.0": - "integrity" "sha512-CbkbDuPZT9UNJ4dAZJWB3BV+Z65wFy7OduqGkzNNrKq6ZYMUfehthhUOTk8vU6RMe/0FkN+J0fFXlBx/bs/cHw==" - "resolved" "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.186.0.tgz" - "version" "3.186.0" + version "3.186.0" + resolved "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.186.0.tgz" dependencies: "@aws-sdk/abort-controller" "3.186.0" "@aws-sdk/protocol-http" "3.186.0" "@aws-sdk/querystring-builder" "3.186.0" "@aws-sdk/types" "3.186.0" - "tslib" "^2.3.1" + tslib "^2.3.1" "@aws-sdk/node-http-handler@3.6.1": - "integrity" "sha512-6XSaoqbm9ZF6T4UdBCcs/Gn2XclwBotkdjj46AxO+9vRAgZDP+lH/8WwZsvfqJhhRhS0qxWrks98WGJwmaTG8g==" - "resolved" "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.6.1.tgz" dependencies: "@aws-sdk/abort-controller" "3.6.1" "@aws-sdk/protocol-http" "3.6.1" "@aws-sdk/querystring-builder" "3.6.1" "@aws-sdk/types" "3.6.1" - "tslib" "^1.8.0" + tslib "^1.8.0" "@aws-sdk/property-provider@3.186.0": - "integrity" "sha512-nWKqt36UW3xV23RlHUmat+yevw9up+T+953nfjcmCBKtgWlCWu/aUzewTRhKj3VRscbN+Wer95SBw9Lr/MMOlQ==" - "resolved" "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.186.0.tgz" - "version" "3.186.0" + version "3.186.0" + resolved "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.186.0.tgz" dependencies: "@aws-sdk/types" "3.186.0" - "tslib" "^2.3.1" + tslib "^2.3.1" "@aws-sdk/property-provider@3.6.1": - "integrity" "sha512-2gR2DzDySXKFoj9iXLm1TZBVSvFIikEPJsbRmAZx5RBY+tp1IXWqZM6PESjaLdLg/ZtR0QhW2ZcRn0fyq2JfnQ==" - "resolved" "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.6.1.tgz" dependencies: "@aws-sdk/types" "3.6.1" - "tslib" "^1.8.0" + tslib "^1.8.0" "@aws-sdk/protocol-http@3.186.0": - "integrity" "sha512-l/KYr/UBDUU5ginqTgHtFfHR3X6ljf/1J1ThIiUg3C3kVC/Zwztm7BEOw8hHRWnWQGU/jYasGYcrcPLdQqFZyQ==" - "resolved" "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.186.0.tgz" - "version" "3.186.0" + version "3.186.0" + resolved "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.186.0.tgz" dependencies: "@aws-sdk/types" "3.186.0" - "tslib" "^2.3.1" + tslib "^2.3.1" "@aws-sdk/protocol-http@3.6.1": - "integrity" "sha512-WkQz7ncVYTLvCidDfXWouDzqxgSNPZDz3Bql+7VhZeITnzAEcr4hNMyEqMAVYBVugGmkG2W6YiUqNNs1goOcDA==" - "resolved" "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.6.1.tgz" dependencies: "@aws-sdk/types" "3.6.1" - "tslib" "^1.8.0" + tslib "^1.8.0" "@aws-sdk/querystring-builder@3.186.0": - "integrity" "sha512-mweCpuLufImxfq/rRBTEpjGuB4xhQvbokA+otjnUxlPdIobytLqEs7pCGQfLzQ7+1ZMo8LBXt70RH4A2nSX/JQ==" - "resolved" "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.186.0.tgz" - "version" "3.186.0" + version "3.186.0" + resolved "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.186.0.tgz" dependencies: "@aws-sdk/types" "3.186.0" "@aws-sdk/util-uri-escape" "3.186.0" - "tslib" "^2.3.1" + tslib "^2.3.1" "@aws-sdk/querystring-builder@3.6.1": - "integrity" "sha512-ESe255Yl6vB1AMNqaGSQow3TBYYnpw0AFjE40q2VyiNrkbaqKmW2EzjeCy3wEmB1IfJDHy3O12ZOMUMOnjFT8g==" - "resolved" "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.6.1.tgz" dependencies: "@aws-sdk/types" "3.6.1" "@aws-sdk/util-uri-escape" "3.6.1" - "tslib" "^1.8.0" + tslib "^1.8.0" "@aws-sdk/querystring-parser@3.186.0": - "integrity" "sha512-0iYfEloghzPVXJjmnzHamNx1F1jIiTW9Svy5ZF9LVqyr/uHZcQuiWYsuhWloBMLs8mfWarkZM02WfxZ8buAuhg==" - "resolved" "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.186.0.tgz" - "version" "3.186.0" + version "3.186.0" + resolved "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.186.0.tgz" dependencies: "@aws-sdk/types" "3.186.0" - "tslib" "^2.3.1" + tslib "^2.3.1" "@aws-sdk/querystring-parser@3.6.1": - "integrity" "sha512-hh6dhqamKrWWaDSuO2YULci0RGwJWygoy8hpCRxs/FpzzHIcbm6Cl6Jhrn5eKBzOBv+PhCcYwbfad0kIZZovcQ==" - "resolved" "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.6.1.tgz" dependencies: "@aws-sdk/types" "3.6.1" - "tslib" "^1.8.0" + tslib "^1.8.0" "@aws-sdk/s3-request-presigner@3.6.1": - "integrity" "sha512-OI7UHCKBwuiO/RmHHewBKnL2NYqdilXRmpX67TJ4tTszIrWP2+vpm3lIfrx/BM8nf8nKTzgkO98uFhoJsEhmTg==" - "resolved" "https://registry.npmjs.org/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.6.1.tgz" dependencies: "@aws-sdk/protocol-http" "3.6.1" "@aws-sdk/signature-v4" "3.6.1" @@ -1717,1162 +1606,1189 @@ "@aws-sdk/types" "3.6.1" "@aws-sdk/util-create-request" "3.6.1" "@aws-sdk/util-format-url" "3.6.1" - "tslib" "^1.8.0" + tslib "^1.8.0" "@aws-sdk/service-error-classification@3.186.0": - "integrity" "sha512-DRl3ORk4tF+jmH5uvftlfaq0IeKKpt0UPAOAFQ/JFWe+TjOcQd/K+VC0iiIG97YFp3aeFmH1JbEgsNxd+8fdxw==" - "resolved" "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.186.0.tgz" - "version" "3.186.0" + version "3.186.0" + resolved "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.186.0.tgz" "@aws-sdk/service-error-classification@3.6.1": - "integrity" "sha512-kZ7ZhbrN1f+vrSRkTJvXsu7BlOyZgym058nPA745+1RZ1Rtv4Ax8oknf2RvJyj/1qRUi8LBaAREjzQ3C8tmLBA==" - "resolved" "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.6.1.tgz" "@aws-sdk/shared-ini-file-loader@3.186.0": - "integrity" "sha512-2FZqxmICtwN9CYid4dwfJSz/gGFHyStFQ3HCOQ8DsJUf2yREMSBsVmKqsyWgOrYcQ98gPcD5GIa7QO5yl3XF6A==" - "resolved" "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.186.0.tgz" - "version" "3.186.0" + version "3.186.0" + resolved "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.186.0.tgz" dependencies: "@aws-sdk/types" "3.186.0" - "tslib" "^2.3.1" + tslib "^2.3.1" "@aws-sdk/shared-ini-file-loader@3.6.1": - "integrity" "sha512-BnLHtsNLOoow6rPV+QVi6jnovU5g1m0YzoUG0BQYZ1ALyVlWVr0VvlUX30gMDfdYoPMp+DHvF8GXdMuGINq6kQ==" - "resolved" "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.6.1.tgz" dependencies: - "tslib" "^1.8.0" + tslib "^1.8.0" "@aws-sdk/signature-v4@3.186.0": - "integrity" "sha512-18i96P5c4suMqwSNhnEOqhq4doqqyjH4fn0YV3F8TkekHPIWP4mtIJ0PWAN4eievqdtcKgD/GqVO6FaJG9texw==" - "resolved" "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.186.0.tgz" - "version" "3.186.0" + version "3.186.0" + resolved "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.186.0.tgz" dependencies: "@aws-sdk/is-array-buffer" "3.186.0" "@aws-sdk/types" "3.186.0" "@aws-sdk/util-hex-encoding" "3.186.0" "@aws-sdk/util-middleware" "3.186.0" "@aws-sdk/util-uri-escape" "3.186.0" - "tslib" "^2.3.1" + tslib "^2.3.1" "@aws-sdk/signature-v4@3.6.1": - "integrity" "sha512-EAR0qGVL4AgzodZv4t+BSuBfyOXhTNxDxom50IFI1MqidR9vI6avNZKcPHhgXbm7XVcsDGThZKbzQ2q7MZ2NTA==" - "resolved" "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.6.1.tgz" dependencies: "@aws-sdk/is-array-buffer" "3.6.1" "@aws-sdk/types" "3.6.1" "@aws-sdk/util-hex-encoding" "3.6.1" "@aws-sdk/util-uri-escape" "3.6.1" - "tslib" "^1.8.0" + tslib "^1.8.0" "@aws-sdk/smithy-client@3.186.0": - "integrity" "sha512-rdAxSFGSnrSprVJ6i1BXi65r4X14cuya6fYe8dSdgmFSa+U2ZevT97lb3tSINCUxBGeMXhENIzbVGkRZuMh+DQ==" - "resolved" "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.186.0.tgz" - "version" "3.186.0" + version "3.186.0" + resolved "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.186.0.tgz" dependencies: "@aws-sdk/middleware-stack" "3.186.0" "@aws-sdk/types" "3.186.0" - "tslib" "^2.3.1" + tslib "^2.3.1" "@aws-sdk/smithy-client@3.6.1": - "integrity" "sha512-AVpRK4/iUxNeDdAm8UqP0ZgtgJMQeWcagTylijwelhWXyXzHUReY1sgILsWcdWnoy6gq845W7K2VBhBleni8+w==" - "resolved" "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.6.1.tgz" dependencies: "@aws-sdk/middleware-stack" "3.6.1" "@aws-sdk/types" "3.6.1" - "tslib" "^1.8.0" + tslib "^1.8.0" + +"@aws-sdk/types@3.186.0": + version "3.186.0" + resolved "https://registry.npmjs.org/@aws-sdk/types/-/types-3.186.0.tgz" -"@aws-sdk/types@^3.1.0", "@aws-sdk/types@3.6.1": - "integrity" "sha512-4Dx3eRTrUHLxhFdLJL8zdNGzVsJfAxtxPYYGmIddUkO2Gj3WA1TGjdfG4XN/ClI6e1XonCHafQX3UYO/mgnH3g==" - "resolved" "https://registry.npmjs.org/@aws-sdk/types/-/types-3.6.1.tgz" - "version" "3.6.1" +"@aws-sdk/types@3.6.1", "@aws-sdk/types@^3.1.0": + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/types/-/types-3.6.1.tgz" "@aws-sdk/types@^3.110.0": - "integrity" "sha512-GkCMy79mdjU9OTIe5KT58fI/6uqdf8UmMdWqVHmFJ+UpEzOci7L/uw4sOXWo7xpPzLs6cJ7s5ouGZW4GRPmHFA==" - "resolved" "https://registry.npmjs.org/@aws-sdk/types/-/types-3.347.0.tgz" - "version" "3.347.0" + version "3.347.0" + resolved "https://registry.npmjs.org/@aws-sdk/types/-/types-3.347.0.tgz" dependencies: - "tslib" "^2.5.0" - -"@aws-sdk/types@3.186.0": - "integrity" "sha512-NatmSU37U+XauMFJCdFI6nougC20JUFZar+ump5wVv0i54H+2Refg1YbFDxSs0FY28TSB9jfhWIpfFBmXgL5MQ==" - "resolved" "https://registry.npmjs.org/@aws-sdk/types/-/types-3.186.0.tgz" - "version" "3.186.0" + tslib "^2.5.0" "@aws-sdk/url-parser-native@3.6.1": - "integrity" "sha512-3O+ktsrJoE8YQCho9L41YXO8EWILXrSeES7amUaV3mgIV5w4S3SB/r4RkmylpqRpQF7Ry8LFiAnMqH1wa4WBPA==" - "resolved" "https://registry.npmjs.org/@aws-sdk/url-parser-native/-/url-parser-native-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/url-parser-native/-/url-parser-native-3.6.1.tgz" dependencies: "@aws-sdk/querystring-parser" "3.6.1" "@aws-sdk/types" "3.6.1" - "tslib" "^1.8.0" - "url" "^0.11.0" + tslib "^1.8.0" + url "^0.11.0" "@aws-sdk/url-parser@3.186.0": - "integrity" "sha512-jfdJkKqJZp8qjjwEjIGDqbqTuajBsddw02f86WiL8bPqD8W13/hdqbG4Fpwc+Bm6GwR6/4MY6xWXFnk8jDUKeA==" - "resolved" "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.186.0.tgz" - "version" "3.186.0" + version "3.186.0" + resolved "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.186.0.tgz" dependencies: "@aws-sdk/querystring-parser" "3.186.0" "@aws-sdk/types" "3.186.0" - "tslib" "^2.3.1" + tslib "^2.3.1" "@aws-sdk/url-parser@3.6.1": - "integrity" "sha512-pWFIePDx0PMCleQRsQDWoDl17YiijOLj0ZobN39rQt+wv5PhLSZDz9PgJsqS48nZ6hqsKgipRcjiBMhn5NtFcQ==" - "resolved" "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.6.1.tgz" dependencies: "@aws-sdk/querystring-parser" "3.6.1" "@aws-sdk/types" "3.6.1" - "tslib" "^1.8.0" + tslib "^1.8.0" "@aws-sdk/util-arn-parser@3.6.1": - "integrity" "sha512-NFdYeuhaSrgnBG6Pt3zHNU7QwvhHq6sKUTWZShUayLMJYYbQr6IjmYVlPST4c84b+lyDoK68y/Zga621VfIdBg==" - "resolved" "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.6.1.tgz" dependencies: - "tslib" "^1.8.0" + tslib "^1.8.0" "@aws-sdk/util-base64-browser@3.186.0": - "integrity" "sha512-TpQL8opoFfzTwUDxKeon/vuc83kGXpYqjl6hR8WzmHoQgmFfdFlV+0KXZOohra1001OP3FhqvMqaYbO8p9vXVQ==" - "resolved" "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.186.0.tgz" - "version" "3.186.0" + version "3.186.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.186.0.tgz" dependencies: - "tslib" "^2.3.1" + tslib "^2.3.1" "@aws-sdk/util-base64-browser@3.6.1": - "integrity" "sha512-+DHAIgt0AFARDVC7J0Z9FkSmJhBMlkYdOPeAAgO0WaQoKj7rtsLQJ7P3v3aS1paKN5/sk5xNY7ziVB6uHtOvHA==" - "resolved" "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.6.1.tgz" dependencies: - "tslib" "^1.8.0" + tslib "^1.8.0" "@aws-sdk/util-base64-node@3.186.0": - "integrity" "sha512-wH5Y/EQNBfGS4VkkmiMyZXU+Ak6VCoFM1GKWopV+sj03zR2D4FHexi4SxWwEBMpZCd6foMtihhbNBuPA5fnh6w==" - "resolved" "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-3.186.0.tgz" - "version" "3.186.0" + version "3.186.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-3.186.0.tgz" dependencies: "@aws-sdk/util-buffer-from" "3.186.0" - "tslib" "^2.3.1" + tslib "^2.3.1" "@aws-sdk/util-base64-node@3.6.1": - "integrity" "sha512-oiqzpsvtTSS92+cL3ykhGd7t3qBJKeHvrgOwUyEf1wFWHQ2DPJR+dIMy5rMFRXWLKCl3w7IddY2rJCkLYMjaqQ==" - "resolved" "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-3.6.1.tgz" dependencies: "@aws-sdk/util-buffer-from" "3.6.1" - "tslib" "^1.8.0" + tslib "^1.8.0" "@aws-sdk/util-body-length-browser@3.186.0": - "integrity" "sha512-zKtjkI/dkj9oGkjo+7fIz+I9KuHrVt1ROAeL4OmDESS8UZi3/O8uMDFMuCp8jft6H+WFuYH6qRVWAVwXMiasXw==" - "resolved" "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.186.0.tgz" - "version" "3.186.0" + version "3.186.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.186.0.tgz" dependencies: - "tslib" "^2.3.1" + tslib "^2.3.1" "@aws-sdk/util-body-length-browser@3.6.1": - "integrity" "sha512-IdWwE3rm/CFDk2F+IwTZOFTnnNW5SB8y1lWiQ54cfc7y03hO6jmXNnpZGZ5goHhT+vf1oheNQt1J47m0pM/Irw==" - "resolved" "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.6.1.tgz" dependencies: - "tslib" "^1.8.0" + tslib "^1.8.0" "@aws-sdk/util-body-length-node@3.186.0": - "integrity" "sha512-U7Ii8u8Wvu9EnBWKKeuwkdrWto3c0j7LG677Spe6vtwWkvY70n9WGfiKHTgBpVeLNv8jvfcx5+H0UOPQK1o9SQ==" - "resolved" "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.186.0.tgz" - "version" "3.186.0" + version "3.186.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.186.0.tgz" dependencies: - "tslib" "^2.3.1" + tslib "^2.3.1" "@aws-sdk/util-body-length-node@3.6.1": - "integrity" "sha512-CUG3gc18bSOsqViQhB3M4AlLpAWV47RE6yWJ6rLD0J6/rSuzbwbjzxM39q0YTAVuSo/ivdbij+G9c3QCirC+QQ==" - "resolved" "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.6.1.tgz" dependencies: - "tslib" "^1.8.0" + tslib "^1.8.0" "@aws-sdk/util-buffer-from@3.186.0": - "integrity" "sha512-be2GCk2lsLWg/2V5Y+S4/9pOMXhOQo4DR4dIqBdR2R+jrMMHN9Xsr5QrkT6chcqLaJ/SBlwiAEEi3StMRmCOXA==" - "resolved" "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.186.0.tgz" - "version" "3.186.0" + version "3.186.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.186.0.tgz" dependencies: "@aws-sdk/is-array-buffer" "3.186.0" - "tslib" "^2.3.1" + tslib "^2.3.1" "@aws-sdk/util-buffer-from@3.6.1": - "integrity" "sha512-OGUh2B5NY4h7iRabqeZ+EgsrzE1LUmNFzMyhoZv0tO4NExyfQjxIYXLQQvydeOq9DJUbCw+yrRZrj8vXNDQG+g==" - "resolved" "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.6.1.tgz" dependencies: "@aws-sdk/is-array-buffer" "3.6.1" - "tslib" "^1.8.0" + tslib "^1.8.0" "@aws-sdk/util-config-provider@3.186.0": - "integrity" "sha512-71Qwu/PN02XsRLApyxG0EUy/NxWh/CXxtl2C7qY14t+KTiRapwbDkdJ1cMsqYqghYP4BwJoj1M+EFMQSSlkZQQ==" - "resolved" "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.186.0.tgz" - "version" "3.186.0" + version "3.186.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.186.0.tgz" dependencies: - "tslib" "^2.3.1" + tslib "^2.3.1" "@aws-sdk/util-create-request@3.6.1": - "integrity" "sha512-jR1U8WpwXl+xZ9ThS42Jr5MXuegQ7QioHsZjQn3V5pbm8CXTkBF0B2BcULQu/2G1XtHOJb8qUZQlk/REoaORfQ==" - "resolved" "https://registry.npmjs.org/@aws-sdk/util-create-request/-/util-create-request-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/util-create-request/-/util-create-request-3.6.1.tgz" dependencies: "@aws-sdk/middleware-stack" "3.6.1" "@aws-sdk/smithy-client" "3.6.1" "@aws-sdk/types" "3.6.1" - "tslib" "^1.8.0" + tslib "^1.8.0" "@aws-sdk/util-defaults-mode-browser@3.186.0": - "integrity" "sha512-U8GOfIdQ0dZ7RRVpPynGteAHx4URtEh+JfWHHVfS6xLPthPHWTbyRhkQX++K/F8Jk+T5U8Anrrqlea4TlcO2DA==" - "resolved" "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.186.0.tgz" - "version" "3.186.0" + version "3.186.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.186.0.tgz" dependencies: "@aws-sdk/property-provider" "3.186.0" "@aws-sdk/types" "3.186.0" - "bowser" "^2.11.0" - "tslib" "^2.3.1" + bowser "^2.11.0" + tslib "^2.3.1" "@aws-sdk/util-defaults-mode-node@3.186.0": - "integrity" "sha512-N6O5bpwCiE4z8y7SPHd7KYlszmNOYREa+mMgtOIXRU3VXSEHVKVWTZsHKvNTTHpW0qMqtgIvjvXCo3vsch5l3A==" - "resolved" "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.186.0.tgz" - "version" "3.186.0" + version "3.186.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.186.0.tgz" dependencies: "@aws-sdk/config-resolver" "3.186.0" "@aws-sdk/credential-provider-imds" "3.186.0" "@aws-sdk/node-config-provider" "3.186.0" "@aws-sdk/property-provider" "3.186.0" "@aws-sdk/types" "3.186.0" - "tslib" "^2.3.1" + tslib "^2.3.1" "@aws-sdk/util-format-url@3.6.1": - "integrity" "sha512-FvhcXcqLyJ0j0WdlmGs7PtjCCv8NaY4zBuXYO2iwAmqoy2SIZXQL63uAvmilqWj25q47ASAsUwSFLReCCfMklQ==" - "resolved" "https://registry.npmjs.org/@aws-sdk/util-format-url/-/util-format-url-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/util-format-url/-/util-format-url-3.6.1.tgz" dependencies: "@aws-sdk/querystring-builder" "3.6.1" "@aws-sdk/types" "3.6.1" - "tslib" "^1.8.0" + tslib "^1.8.0" "@aws-sdk/util-hex-encoding@3.186.0": - "integrity" "sha512-UL9rdgIZz1E/jpAfaKH8QgUxNK9VP5JPgoR0bSiaefMjnsoBh0x/VVMsfUyziOoJCMLebhJzFowtwrSKEGsxNg==" - "resolved" "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.186.0.tgz" - "version" "3.186.0" + version "3.186.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.186.0.tgz" dependencies: - "tslib" "^2.3.1" + tslib "^2.3.1" "@aws-sdk/util-hex-encoding@3.6.1": - "integrity" "sha512-pzsGOHtU2eGca4NJgFg94lLaeXDOg8pcS9sVt4f9LmtUGbrqRveeyBv0XlkHeZW2n0IZBssPHipVYQFlk7iaRA==" - "resolved" "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.6.1.tgz" dependencies: - "tslib" "^1.8.0" + tslib "^1.8.0" "@aws-sdk/util-locate-window@^3.0.0": - "integrity" "sha512-qo2t/vBTnoXpjKxlsC2e1gBrRm80M3bId27r0BRB2VniSSe7bL1mmzM+/HFtujm0iAxtPM+aLEflLJlJeDPg0w==" - "resolved" "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.310.0.tgz" - "version" "3.310.0" + version "3.310.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.310.0.tgz" dependencies: - "tslib" "^2.5.0" + tslib "^2.5.0" "@aws-sdk/util-middleware@3.186.0": - "integrity" "sha512-fddwDgXtnHyL9mEZ4s1tBBsKnVQHqTUmFbZKUUKPrg9CxOh0Y/zZxEa5Olg/8dS/LzM1tvg0ATkcyd4/kEHIhg==" - "resolved" "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.186.0.tgz" - "version" "3.186.0" + version "3.186.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.186.0.tgz" dependencies: - "tslib" "^2.3.1" + tslib "^2.3.1" "@aws-sdk/util-uri-escape@3.186.0": - "integrity" "sha512-imtOrJFpIZAipAg8VmRqYwv1G/x4xzyoxOJ48ZSn1/ZGnKEEnB6n6E9gwYRebi4mlRuMSVeZwCPLq0ey5hReeQ==" - "resolved" "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.186.0.tgz" - "version" "3.186.0" + version "3.186.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.186.0.tgz" dependencies: - "tslib" "^2.3.1" + tslib "^2.3.1" "@aws-sdk/util-uri-escape@3.6.1": - "integrity" "sha512-tgABiT71r0ScRJZ1pMX0xO0QPMMiISCtumph50IU5VDyZWYgeIxqkMhIcrL1lX0QbNCMgX0n6rZxGrrbjDNavA==" - "resolved" "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.6.1.tgz" dependencies: - "tslib" "^1.8.0" + tslib "^1.8.0" "@aws-sdk/util-user-agent-browser@3.186.0": - "integrity" "sha512-fbRcTTutMk4YXY3A2LePI4jWSIeHOT8DaYavpc/9Xshz/WH9RTGMmokeVOcClRNBeDSi5cELPJJ7gx6SFD3ZlQ==" - "resolved" "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.186.0.tgz" - "version" "3.186.0" + version "3.186.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.186.0.tgz" dependencies: "@aws-sdk/types" "3.186.0" - "bowser" "^2.11.0" - "tslib" "^2.3.1" + bowser "^2.11.0" + tslib "^2.3.1" "@aws-sdk/util-user-agent-browser@3.6.1": - "integrity" "sha512-KhJ4VED4QpuBVPXoTjb5LqspX1xHWJTuL8hbPrKfxj+cAaRRW2CNEe7PPy2CfuHtPzP3dU3urtGTachbwNb0jg==" - "resolved" "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.6.1.tgz" dependencies: "@aws-sdk/types" "3.6.1" - "bowser" "^2.11.0" - "tslib" "^1.8.0" + bowser "^2.11.0" + tslib "^1.8.0" "@aws-sdk/util-user-agent-node@3.186.0": - "integrity" "sha512-oWZR7hN6NtOgnT6fUvHaafgbipQc2xJCRB93XHiF9aZGptGNLJzznIOP7uURdn0bTnF73ejbUXWLQIm8/6ue6w==" - "resolved" "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.186.0.tgz" - "version" "3.186.0" + version "3.186.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.186.0.tgz" dependencies: "@aws-sdk/node-config-provider" "3.186.0" "@aws-sdk/types" "3.186.0" - "tslib" "^2.3.1" + tslib "^2.3.1" "@aws-sdk/util-user-agent-node@3.6.1": - "integrity" "sha512-PWwL5EDRwhkXX40m5jjgttlBmLA7vDhHBen1Jcle0RPIDFRVPSE7GgvLF3y4r3SNH0WD6hxqadT50bHQynXW6w==" - "resolved" "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.6.1.tgz" dependencies: "@aws-sdk/node-config-provider" "3.6.1" "@aws-sdk/types" "3.6.1" - "tslib" "^1.8.0" + tslib "^1.8.0" -"@aws-sdk/util-utf8-browser@^3.0.0", "@aws-sdk/util-utf8-browser@3.6.1": - "integrity" "sha512-gZPySY6JU5gswnw3nGOEHl3tYE7vPKvtXGYoS2NRabfDKRejFvu+4/nNW6SSpoOxk6LSXsrWB39NO51k+G4PVA==" - "resolved" "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.6.1.tgz" - "version" "3.6.1" +"@aws-sdk/util-utf8-browser@3.186.0": + version "3.186.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.186.0.tgz" dependencies: - "tslib" "^1.8.0" + tslib "^2.3.1" -"@aws-sdk/util-utf8-browser@3.186.0": - "integrity" "sha512-n+IdFYF/4qT2WxhMOCeig8LndDggaYHw3BJJtfIBZRiS16lgwcGYvOUmhCkn0aSlG1f/eyg9YZHQG0iz9eLdHQ==" - "resolved" "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.186.0.tgz" - "version" "3.186.0" +"@aws-sdk/util-utf8-browser@3.6.1", "@aws-sdk/util-utf8-browser@^3.0.0": + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.6.1.tgz" dependencies: - "tslib" "^2.3.1" + tslib "^1.8.0" "@aws-sdk/util-utf8-node@3.186.0": - "integrity" "sha512-7qlE0dOVdjuRbZTb7HFywnHHCrsN7AeQiTnsWT63mjXGDbPeUWQQw3TrdI20um3cxZXnKoeudGq8K6zbXyQ4iA==" - "resolved" "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.186.0.tgz" - "version" "3.186.0" + version "3.186.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.186.0.tgz" dependencies: "@aws-sdk/util-buffer-from" "3.186.0" - "tslib" "^2.3.1" + tslib "^2.3.1" "@aws-sdk/util-utf8-node@3.6.1": - "integrity" "sha512-4s0vYfMUn74XLn13rUUhNsmuPMh0j1d4rF58wXtjlVUU78THxonnN8mbCLC48fI3fKDHTmDDkeEqy7+IWP9VyA==" - "resolved" "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.6.1.tgz" dependencies: "@aws-sdk/util-buffer-from" "3.6.1" - "tslib" "^1.8.0" + tslib "^1.8.0" "@aws-sdk/util-waiter@3.6.1": - "integrity" "sha512-CQMRteoxW1XZSzPBVrTsOTnfzsEGs8N/xZ8BuBnXLBjoIQmRKVxIH9lgphm1ohCtVHoSWf28XH/KoOPFULQ4Tg==" - "resolved" "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.6.1.tgz" - "version" "3.6.1" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.6.1.tgz" dependencies: "@aws-sdk/abort-controller" "3.6.1" "@aws-sdk/types" "3.6.1" - "tslib" "^1.8.0" + tslib "^1.8.0" "@aws-sdk/xml-builder@3.6.1": - "integrity" "sha512-+HOCH4a0XO+I09okd0xdVP5Q5c9ZsEsDvnogiOcBQxoMivWhPUCo9pjXP3buCvVKP2oDHXQplBKSjGHvGaKFdg==" - "resolved" "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.6.1.tgz" - "version" "3.6.1" - dependencies: - "tslib" "^1.8.0" - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.0", "@babel/code-frame@^7.18.6", "@babel/code-frame@^7.8.3": - "version" "7.18.6" - dependencies: - "@babel/highlight" "^7.18.6" - -"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.20.1", "@babel/compat-data@^7.20.5": - "version" "7.20.10" - -"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.1.0", "@babel/core@^7.11.1", "@babel/core@^7.12.0", "@babel/core@^7.12.3", "@babel/core@^7.13.0", "@babel/core@^7.13.16", "@babel/core@^7.16.0", "@babel/core@^7.20.0", "@babel/core@^7.4.0-0", "@babel/core@^7.7.2", "@babel/core@^7.8.0", "@babel/core@>=7.11.0": - "version" "7.20.12" - dependencies: - "@ampproject/remapping" "^2.1.0" - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.20.7" - "@babel/helper-compilation-targets" "^7.20.7" - "@babel/helper-module-transforms" "^7.20.11" - "@babel/helpers" "^7.20.7" - "@babel/parser" "^7.20.7" - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.20.12" - "@babel/types" "^7.20.7" - "convert-source-map" "^1.7.0" - "debug" "^4.1.0" - "gensync" "^1.0.0-beta.2" - "json5" "^2.2.2" - "semver" "^6.3.0" + version "3.6.1" + resolved "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.6.1.tgz" + dependencies: + tslib "^1.8.0" + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.0", "@babel/code-frame@^7.22.5", "@babel/code-frame@^7.8.3": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.5.tgz#234d98e1551960604f1246e6475891a570ad5658" + dependencies: + "@babel/highlight" "^7.22.5" + +"@babel/compat-data@^7.22.5", "@babel/compat-data@^7.22.6": + version "7.22.6" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.22.6.tgz#15606a20341de59ba02cd2fcc5086fcbe73bf544" + +"@babel/core@^7.1.0", "@babel/core@^7.11.1", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.7.2", "@babel/core@^7.8.0": + version "7.22.8" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.22.8.tgz#386470abe884302db9c82e8e5e87be9e46c86785" + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.22.5" + "@babel/generator" "^7.22.7" + "@babel/helper-compilation-targets" "^7.22.6" + "@babel/helper-module-transforms" "^7.22.5" + "@babel/helpers" "^7.22.6" + "@babel/parser" "^7.22.7" + "@babel/template" "^7.22.5" + "@babel/traverse" "^7.22.8" + "@babel/types" "^7.22.5" + "@nicolo-ribaudo/semver-v6" "^6.3.3" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.2" "@babel/eslint-parser@^7.16.3": - "version" "7.19.1" + version "7.22.7" + resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.22.7.tgz#d2807fbd1fa4376162716da63dfd3c69a2249fed" dependencies: "@nicolo-ribaudo/eslint-scope-5-internals" "5.1.1-v1" - "eslint-visitor-keys" "^2.1.0" - "semver" "^6.3.0" + "@nicolo-ribaudo/semver-v6" "^6.3.3" + eslint-visitor-keys "^2.1.0" -"@babel/generator@^7.20.0", "@babel/generator@^7.20.7", "@babel/generator@^7.7.2": - "version" "7.20.7" +"@babel/generator@^7.22.7", "@babel/generator@^7.7.2": + version "7.22.7" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.22.7.tgz#a6b8152d5a621893f2c9dacf9a4e286d520633d5" dependencies: - "@babel/types" "^7.20.7" + "@babel/types" "^7.22.5" "@jridgewell/gen-mapping" "^0.3.2" - "jsesc" "^2.5.1" - -"@babel/helper-annotate-as-pure@^7.18.6": - "version" "7.18.6" - dependencies: - "@babel/types" "^7.18.6" + "@jridgewell/trace-mapping" "^0.3.17" + jsesc "^2.5.1" -"@babel/helper-builder-binary-assignment-operator-visitor@^7.18.6": - "version" "7.18.9" +"@babel/helper-annotate-as-pure@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz#e7f06737b197d580a01edf75d97e2c8be99d3882" dependencies: - "@babel/helper-explode-assignable-expression" "^7.18.6" - "@babel/types" "^7.18.9" + "@babel/types" "^7.22.5" -"@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9", "@babel/helper-compilation-targets@^7.20.0", "@babel/helper-compilation-targets@^7.20.7": - "version" "7.20.7" +"@babel/helper-builder-binary-assignment-operator-visitor@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.5.tgz#a3f4758efdd0190d8927fcffd261755937c71878" dependencies: - "@babel/compat-data" "^7.20.5" - "@babel/helper-validator-option" "^7.18.6" - "browserslist" "^4.21.3" - "lru-cache" "^5.1.1" - "semver" "^6.3.0" + "@babel/types" "^7.22.5" -"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.20.5", "@babel/helper-create-class-features-plugin@^7.20.7": - "version" "7.20.12" +"@babel/helper-compilation-targets@^7.22.5", "@babel/helper-compilation-targets@^7.22.6": + version "7.22.6" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.6.tgz#e30d61abe9480aa5a83232eb31c111be922d2e52" dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.19.0" - "@babel/helper-member-expression-to-functions" "^7.20.7" - "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/helper-replace-supers" "^7.20.7" - "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" - "@babel/helper-split-export-declaration" "^7.18.6" - -"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.20.5": - "version" "7.20.5" - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "regexpu-core" "^5.2.1" - -"@babel/helper-define-polyfill-provider@^0.3.3": - "version" "0.3.3" - dependencies: - "@babel/helper-compilation-targets" "^7.17.7" - "@babel/helper-plugin-utils" "^7.16.7" - "debug" "^4.1.1" - "lodash.debounce" "^4.0.8" - "resolve" "^1.14.2" - "semver" "^6.1.2" - -"@babel/helper-environment-visitor@^7.18.9": - "version" "7.18.9" + "@babel/compat-data" "^7.22.6" + "@babel/helper-validator-option" "^7.22.5" + "@nicolo-ribaudo/semver-v6" "^6.3.3" + browserslist "^4.21.9" + lru-cache "^5.1.1" + +"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.22.5", "@babel/helper-create-class-features-plugin@^7.22.6": + version "7.22.6" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.6.tgz#58564873c889a6fea05a538e23f9f6d201f10950" + dependencies: + "@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.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@nicolo-ribaudo/semver-v6" "^6.3.3" + +"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.22.5": + version "7.22.6" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.6.tgz#87afd63012688ad792de430ceb3b6dc28e4e7a40" + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@nicolo-ribaudo/semver-v6" "^6.3.3" + regexpu-core "^5.3.1" + +"@babel/helper-define-polyfill-provider@^0.4.1": + version "0.4.1" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.1.tgz#af1429c4a83ac316a6a8c2cc8ff45cb5d2998d3a" + dependencies: + "@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-explode-assignable-expression@^7.18.6": - "version" "7.18.6" - dependencies: - "@babel/types" "^7.18.6" +"@babel/helper-environment-visitor@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz#f06dd41b7c1f44e1f8da6c4055b41ab3a09a7e98" -"@babel/helper-function-name@^7.18.9", "@babel/helper-function-name@^7.19.0": - "version" "7.19.0" +"@babel/helper-function-name@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz#ede300828905bb15e582c037162f99d5183af1be" dependencies: - "@babel/template" "^7.18.10" - "@babel/types" "^7.19.0" + "@babel/template" "^7.22.5" + "@babel/types" "^7.22.5" -"@babel/helper-hoist-variables@^7.18.6": - "version" "7.18.6" +"@babel/helper-hoist-variables@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb" dependencies: - "@babel/types" "^7.18.6" + "@babel/types" "^7.22.5" -"@babel/helper-member-expression-to-functions@^7.20.7": - "version" "7.20.7" +"@babel/helper-member-expression-to-functions@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.5.tgz#0a7c56117cad3372fbf8d2fb4bf8f8d64a1e76b2" dependencies: - "@babel/types" "^7.20.7" + "@babel/types" "^7.22.5" -"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.18.6": - "version" "7.18.6" +"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz#1a8f4c9f4027d23f520bd76b364d44434a72660c" dependencies: - "@babel/types" "^7.18.6" + "@babel/types" "^7.22.5" -"@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.20.11": - "version" "7.20.11" +"@babel/helper-module-transforms@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.22.5.tgz#0f65daa0716961b6e96b164034e737f60a80d2ef" dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-simple-access" "^7.20.2" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/helper-validator-identifier" "^7.19.1" - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.20.10" - "@babel/types" "^7.20.7" + "@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.5" + "@babel/helper-validator-identifier" "^7.22.5" + "@babel/template" "^7.22.5" + "@babel/traverse" "^7.22.5" + "@babel/types" "^7.22.5" -"@babel/helper-optimise-call-expression@^7.18.6": - "version" "7.18.6" +"@babel/helper-optimise-call-expression@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz#f21531a9ccbff644fdd156b4077c16ff0c3f609e" dependencies: - "@babel/types" "^7.18.6" + "@babel/types" "^7.22.5" -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - "integrity" "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==" - "resolved" "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz" - "version" "7.22.5" +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz" -"@babel/helper-remap-async-to-generator@^7.18.9": - "version" "7.18.9" +"@babel/helper-remap-async-to-generator@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.5.tgz#14a38141a7bf2165ad38da61d61cf27b43015da2" dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-wrap-function" "^7.18.9" - "@babel/types" "^7.18.9" + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.5" + "@babel/helper-wrap-function" "^7.22.5" + "@babel/types" "^7.22.5" -"@babel/helper-replace-supers@^7.18.6", "@babel/helper-replace-supers@^7.20.7": - "version" "7.20.7" +"@babel/helper-replace-supers@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.22.5.tgz#71bc5fb348856dea9fdc4eafd7e2e49f585145dc" dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-member-expression-to-functions" "^7.20.7" - "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.20.7" - "@babel/types" "^7.20.7" + "@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/template" "^7.22.5" + "@babel/traverse" "^7.22.5" + "@babel/types" "^7.22.5" -"@babel/helper-simple-access@^7.20.2": - "version" "7.20.2" +"@babel/helper-simple-access@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de" dependencies: - "@babel/types" "^7.20.2" + "@babel/types" "^7.22.5" -"@babel/helper-skip-transparent-expression-wrappers@^7.20.0": - "version" "7.20.0" +"@babel/helper-skip-transparent-expression-wrappers@^7.20.0", "@babel/helper-skip-transparent-expression-wrappers@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz#007f15240b5751c537c40e77abb4e89eeaaa8847" dependencies: - "@babel/types" "^7.20.0" + "@babel/types" "^7.22.5" -"@babel/helper-split-export-declaration@^7.18.6": - "version" "7.18.6" +"@babel/helper-split-export-declaration@^7.22.5", "@babel/helper-split-export-declaration@^7.22.6": + version "7.22.6" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c" dependencies: - "@babel/types" "^7.18.6" + "@babel/types" "^7.22.5" -"@babel/helper-string-parser@^7.19.4": - "version" "7.19.4" +"@babel/helper-string-parser@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz#533f36457a25814cf1df6488523ad547d784a99f" -"@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": - "version" "7.19.1" +"@babel/helper-validator-identifier@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz#9544ef6a33999343c8740fa51350f30eeaaaf193" -"@babel/helper-validator-option@^7.18.6", "@babel/helper-validator-option@^7.22.5": - "integrity" "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==" - "resolved" "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz" - "version" "7.22.5" +"@babel/helper-validator-option@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz" -"@babel/helper-wrap-function@^7.18.9": - "version" "7.20.5" +"@babel/helper-wrap-function@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.22.5.tgz#44d205af19ed8d872b4eefb0d2fa65f45eb34f06" dependencies: - "@babel/helper-function-name" "^7.19.0" - "@babel/template" "^7.18.10" - "@babel/traverse" "^7.20.5" - "@babel/types" "^7.20.5" + "@babel/helper-function-name" "^7.22.5" + "@babel/template" "^7.22.5" + "@babel/traverse" "^7.22.5" + "@babel/types" "^7.22.5" -"@babel/helpers@^7.20.7": - "version" "7.20.7" +"@babel/helpers@^7.22.6": + version "7.22.6" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.22.6.tgz#8e61d3395a4f0c5a8060f309fb008200969b5ecd" dependencies: - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.20.7" - "@babel/types" "^7.20.7" + "@babel/template" "^7.22.5" + "@babel/traverse" "^7.22.6" + "@babel/types" "^7.22.5" -"@babel/highlight@^7.18.6": - "version" "7.18.6" +"@babel/highlight@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.22.5.tgz#aa6c05c5407a67ebce408162b7ede789b4d22031" dependencies: - "@babel/helper-validator-identifier" "^7.18.6" - "chalk" "^2.0.0" - "js-tokens" "^4.0.0" - -"@babel/parser@^7.1.0", "@babel/parser@^7.13.16", "@babel/parser@^7.14.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.0", "@babel/parser@^7.20.7": - "version" "7.20.7" + "@babel/helper-validator-identifier" "^7.22.5" + chalk "^2.0.0" + js-tokens "^4.0.0" -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": - "version" "7.18.6" - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.22.5", "@babel/parser@^7.22.7": + version "7.22.7" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.22.7.tgz#df8cf085ce92ddbdbf668a7f186ce848c9036cae" -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.18.9": - "version" "7.20.7" +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.5.tgz#87245a21cd69a73b0b81bcda98d443d6df08f05e" dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" - "@babel/plugin-proposal-optional-chaining" "^7.20.7" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-proposal-async-generator-functions@^7.0.0", "@babel/plugin-proposal-async-generator-functions@^7.20.1": - "integrity" "sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz" - "version" "7.20.7" +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.5.tgz#fef09f9499b1f1c930da8a0c419db42167d792ca" dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-remap-async-to-generator" "^7.18.9" - "@babel/plugin-syntax-async-generators" "^7.8.4" + "@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@^7.0.0", "@babel/plugin-proposal-class-properties@^7.13.0", "@babel/plugin-proposal-class-properties@^7.16.0", "@babel/plugin-proposal-class-properties@^7.18.6": - "integrity" "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz" - "version" "7.18.6" +"@babel/plugin-proposal-class-properties@^7.16.0": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz" dependencies: "@babel/helper-create-class-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-proposal-class-static-block@^7.18.6": - "version" "7.20.7" - dependencies: - "@babel/helper-create-class-features-plugin" "^7.20.7" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - "@babel/plugin-proposal-decorators@^7.16.4": - "version" "7.20.7" - dependencies: - "@babel/helper-create-class-features-plugin" "^7.20.7" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-replace-supers" "^7.20.7" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/plugin-syntax-decorators" "^7.19.0" - -"@babel/plugin-proposal-dynamic-import@^7.18.6": - "version" "7.18.6" - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - -"@babel/plugin-proposal-export-default-from@^7.0.0": - "integrity" "sha512-UCe1X/hplyv6A5g2WnQ90tnHRvYL29dabCWww92lO7VdfMVTVReBTRrhiMrKQejHD9oVkdnRdwYuzUZkBVQisg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.22.5.tgz" - "version" "7.22.5" + version "7.22.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.22.7.tgz#9b5b73c2e404f0869ef8a8a53765f8203c5467a7" dependencies: + "@babel/helper-create-class-features-plugin" "^7.22.6" "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-export-default-from" "^7.22.5" - -"@babel/plugin-proposal-export-namespace-from@^7.18.9": - "version" "7.18.9" - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - -"@babel/plugin-proposal-json-strings@^7.18.6": - "version" "7.18.6" - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/helper-replace-supers" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/plugin-syntax-decorators" "^7.22.5" -"@babel/plugin-proposal-logical-assignment-operators@^7.18.9": - "version" "7.20.7" - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - -"@babel/plugin-proposal-nullish-coalescing-operator@^7.0.0", "@babel/plugin-proposal-nullish-coalescing-operator@^7.13.8", "@babel/plugin-proposal-nullish-coalescing-operator@^7.16.0", "@babel/plugin-proposal-nullish-coalescing-operator@^7.18.6": - "integrity" "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz" - "version" "7.18.6" +"@babel/plugin-proposal-nullish-coalescing-operator@^7.16.0": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz" dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" -"@babel/plugin-proposal-numeric-separator@^7.16.0", "@babel/plugin-proposal-numeric-separator@^7.18.6": - "integrity" "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz" - "version" "7.18.6" +"@babel/plugin-proposal-numeric-separator@^7.16.0": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz" dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-numeric-separator" "^7.10.4" -"@babel/plugin-proposal-object-rest-spread@^7.0.0", "@babel/plugin-proposal-object-rest-spread@^7.20.2": - "integrity" "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz" - "version" "7.20.7" - dependencies: - "@babel/compat-data" "^7.20.5" - "@babel/helper-compilation-targets" "^7.20.7" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.20.7" - -"@babel/plugin-proposal-optional-catch-binding@^7.0.0", "@babel/plugin-proposal-optional-catch-binding@^7.18.6": - "integrity" "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - -"@babel/plugin-proposal-optional-chaining@^7.0.0", "@babel/plugin-proposal-optional-chaining@^7.13.12", "@babel/plugin-proposal-optional-chaining@^7.16.0", "@babel/plugin-proposal-optional-chaining@^7.18.9", "@babel/plugin-proposal-optional-chaining@^7.20.7": - "version" "7.20.7" +"@babel/plugin-proposal-optional-chaining@^7.16.0": + version "7.21.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz#886f5c8978deb7d30f678b2e24346b287234d3ea" dependencies: "@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@^7.16.0", "@babel/plugin-proposal-private-methods@^7.18.6": - "integrity" "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz" - "version" "7.18.6" +"@babel/plugin-proposal-private-methods@^7.16.0": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz" dependencies: "@babel/helper-create-class-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-proposal-private-property-in-object@^7.18.6": - "version" "7.20.5" - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-create-class-features-plugin" "^7.20.5" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" +"@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": + version "7.21.0-placeholder-for-preset-env.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz#7844f9289546efa9febac2de4cfe358a050bd703" -"@babel/plugin-proposal-unicode-property-regex@^7.18.6", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": - "integrity" "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz" - "version" "7.18.6" +"@babel/plugin-proposal-unicode-property-regex@^7.4.4": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz" dependencies: "@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-async-generators@^7.8.4": - "integrity" "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz" - "version" "7.8.4" + version "7.8.4" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz" dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-bigint@^7.8.3": - "integrity" "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz" - "version" "7.8.3" + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz" dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-class-properties@^7.0.0", "@babel/plugin-syntax-class-properties@^7.12.13", "@babel/plugin-syntax-class-properties@^7.8.3": - "integrity" "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz" - "version" "7.12.13" +"@babel/plugin-syntax-class-properties@^7.12.13", "@babel/plugin-syntax-class-properties@^7.8.3": + version "7.12.13" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz" dependencies: "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-syntax-class-static-block@^7.14.5": - "integrity" "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz" dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-decorators@^7.19.0": - "version" "7.19.0" +"@babel/plugin-syntax-decorators@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.22.5.tgz#329fe2907c73de184033775637dbbc507f09116a" dependencies: - "@babel/helper-plugin-utils" "^7.19.0" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-syntax-dynamic-import@^7.0.0", "@babel/plugin-syntax-dynamic-import@^7.8.3": - "integrity" "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz" - "version" "7.8.3" +"@babel/plugin-syntax-dynamic-import@^7.8.3": + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz" dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-export-default-from@^7.0.0", "@babel/plugin-syntax-export-default-from@^7.22.5": - "integrity" "sha512-ODAqWWXB/yReh/jVQDag/3/tl6lgBueQkk/TcfW/59Oykm4c8a55XloX0CTk2k2VJiFWMgHby9xNX29IbCv9dQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.22.5.tgz" - "version" "7.22.5" - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-export-namespace-from@^7.8.3": - "integrity" "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz" - "version" "7.8.3" + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz" dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-syntax-flow@^7.0.0", "@babel/plugin-syntax-flow@^7.14.5", "@babel/plugin-syntax-flow@^7.18.0", "@babel/plugin-syntax-flow@^7.22.5": - "integrity" "sha512-9RdCl0i+q0QExayk2nOS7853w08yLucnnPML6EN9S8fgMPVtdLDCdx/cOQ/i44Lb9UeQX9A35yaqBBOMMZxPxQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.22.5.tgz" - "version" "7.22.5" +"@babel/plugin-syntax-flow@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.22.5.tgz" + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-syntax-import-assertions@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz#07d252e2aa0bc6125567f742cd58619cb14dce98" dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-syntax-import-assertions@^7.20.0": - "version" "7.20.0" +"@babel/plugin-syntax-import-attributes@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz#ab840248d834410b829f569f5262b9e517555ecb" dependencies: - "@babel/helper-plugin-utils" "^7.19.0" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-syntax-import-meta@^7.8.3": - "integrity" "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz" - "version" "7.10.4" +"@babel/plugin-syntax-import-meta@^7.10.4", "@babel/plugin-syntax-import-meta@^7.8.3": + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz" dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-json-strings@^7.8.3": - "integrity" "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz" - "version" "7.8.3" + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz" dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-jsx@^7.0.0": - "version" "7.16.7" - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-syntax-jsx@^7.18.6": - "version" "7.18.6" +"@babel/plugin-syntax-jsx@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz#a6b68e84fb76e759fc3b93e901876ffabbe1d918" dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-logical-assignment-operators@^7.10.4", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": - "integrity" "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz" - "version" "7.10.4" + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz" dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-syntax-nullish-coalescing-operator@^7.0.0", "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - "integrity" "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz" - "version" "7.8.3" +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz" dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-numeric-separator@^7.10.4", "@babel/plugin-syntax-numeric-separator@^7.8.3": - "integrity" "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz" - "version" "7.10.4" + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz" dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-syntax-object-rest-spread@^7.0.0", "@babel/plugin-syntax-object-rest-spread@^7.8.3": - "integrity" "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz" - "version" "7.8.3" +"@babel/plugin-syntax-object-rest-spread@^7.8.3": + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz" dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-optional-catch-binding@^7.8.3": - "integrity" "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz" - "version" "7.8.3" + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz" dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-optional-chaining@^7.0.0", "@babel/plugin-syntax-optional-chaining@^7.8.3": - "integrity" "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz" - "version" "7.8.3" +"@babel/plugin-syntax-optional-chaining@^7.8.3": + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz" dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-private-property-in-object@^7.14.5": - "integrity" "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz" - "version" "7.14.5" + 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" dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-top-level-await@^7.14.5", "@babel/plugin-syntax-top-level-await@^7.8.3": - "integrity" "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz" dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-typescript@^7.20.0", "@babel/plugin-syntax-typescript@^7.7.2": - "version" "7.20.0" +"@babel/plugin-syntax-typescript@^7.22.5", "@babel/plugin-syntax-typescript@^7.7.2": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz#aac8d383b062c5072c647a31ef990c1d0af90272" dependencies: - "@babel/helper-plugin-utils" "^7.19.0" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-arrow-functions@^7.0.0", "@babel/plugin-transform-arrow-functions@^7.18.6": - "version" "7.20.7" +"@babel/plugin-syntax-unicode-sets-regex@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz#d49a3b3e6b52e5be6740022317580234a6a47357" dependencies: - "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-async-to-generator@^7.0.0", "@babel/plugin-transform-async-to-generator@^7.18.6": - "version" "7.20.7" +"@babel/plugin-transform-arrow-functions@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz#e5ba566d0c58a5b2ba2a8b795450641950b71958" dependencies: - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-remap-async-to-generator" "^7.18.9" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-block-scoped-functions@^7.0.0", "@babel/plugin-transform-block-scoped-functions@^7.18.6": - "version" "7.18.6" +"@babel/plugin-transform-async-generator-functions@^7.22.7": + version "7.22.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.7.tgz#053e76c0a903b72b573cb1ab7d6882174d460a1b" dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-environment-visitor" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-remap-async-to-generator" "^7.22.5" + "@babel/plugin-syntax-async-generators" "^7.8.4" -"@babel/plugin-transform-block-scoping@^7.0.0", "@babel/plugin-transform-block-scoping@^7.20.2": - "version" "7.20.11" +"@babel/plugin-transform-async-to-generator@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz#c7a85f44e46f8952f6d27fe57c2ed3cc084c3775" dependencies: - "@babel/helper-plugin-utils" "^7.20.2" + "@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-classes@^7.0.0", "@babel/plugin-transform-classes@^7.20.2": - "version" "7.20.7" +"@babel/plugin-transform-block-scoped-functions@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz#27978075bfaeb9fa586d3cb63a3d30c1de580024" dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-compilation-targets" "^7.20.7" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.19.0" - "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-replace-supers" "^7.20.7" - "@babel/helper-split-export-declaration" "^7.18.6" - "globals" "^11.1.0" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-computed-properties@^7.0.0", "@babel/plugin-transform-computed-properties@^7.18.9": - "version" "7.20.7" +"@babel/plugin-transform-block-scoping@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.22.5.tgz#8bfc793b3a4b2742c0983fadc1480d843ecea31b" dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/template" "^7.20.7" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-destructuring@^7.0.0", "@babel/plugin-transform-destructuring@^7.20.2": - "version" "7.20.7" +"@babel/plugin-transform-class-properties@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz#97a56e31ad8c9dc06a0b3710ce7803d5a48cca77" dependencies: - "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-create-class-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-dotall-regex@^7.18.6", "@babel/plugin-transform-dotall-regex@^7.4.4": - "version" "7.18.6" +"@babel/plugin-transform-class-static-block@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.5.tgz#3e40c46f048403472d6f4183116d5e46b1bff5ba" dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" + "@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-duplicate-keys@^7.18.9": - "version" "7.18.9" +"@babel/plugin-transform-classes@^7.22.6": + version "7.22.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.6.tgz#e04d7d804ed5b8501311293d1a0e6d43e94c3363" dependencies: - "@babel/helper-plugin-utils" "^7.18.9" + "@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-exponentiation-operator@^7.18.6": - "version" "7.18.6" +"@babel/plugin-transform-computed-properties@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz#cd1e994bf9f316bd1c2dafcd02063ec261bb3869" dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/template" "^7.22.5" + +"@babel/plugin-transform-destructuring@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.22.5.tgz#d3aca7438f6c26c78cdd0b0ba920a336001b27cc" + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-dotall-regex@^7.22.5", "@babel/plugin-transform-dotall-regex@^7.4.4": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz#dbb4f0e45766eb544e193fb00e65a1dd3b2a4165" + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-duplicate-keys@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz#b6e6428d9416f5f0bba19c70d1e6e7e0b88ab285" + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-dynamic-import@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.5.tgz#d6908a8916a810468c4edff73b5b75bda6ad393e" + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" -"@babel/plugin-transform-flow-strip-types@^7.0.0", "@babel/plugin-transform-flow-strip-types@^7.16.0", "@babel/plugin-transform-flow-strip-types@^7.22.5": - "integrity" "sha512-tujNbZdxdG0/54g/oua8ISToaXTFBf8EnSb5PgQSciIXWOWKX3S4+JR7ZE9ol8FZwf9kxitzkGQ+QWeov/mCiA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.22.5.tgz" - "version" "7.22.5" +"@babel/plugin-transform-exponentiation-operator@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz#402432ad544a1f9a480da865fda26be653e48f6a" + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-export-namespace-from@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.5.tgz#57c41cb1d0613d22f548fddd8b288eedb9973a5b" + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + +"@babel/plugin-transform-flow-strip-types@^7.16.0": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.22.5.tgz" dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-flow" "^7.22.5" -"@babel/plugin-transform-for-of@^7.0.0", "@babel/plugin-transform-for-of@^7.18.8": - "version" "7.18.8" +"@babel/plugin-transform-for-of@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.5.tgz#ab1b8a200a8f990137aff9a084f8de4099ab173f" dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-function-name@^7.0.0", "@babel/plugin-transform-function-name@^7.18.9": - "version" "7.18.9" +"@babel/plugin-transform-function-name@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz#935189af68b01898e0d6d99658db6b164205c143" dependencies: - "@babel/helper-compilation-targets" "^7.18.9" - "@babel/helper-function-name" "^7.18.9" - "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-compilation-targets" "^7.22.5" + "@babel/helper-function-name" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-literals@^7.0.0", "@babel/plugin-transform-literals@^7.18.9": - "version" "7.18.9" +"@babel/plugin-transform-json-strings@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.5.tgz#14b64352fdf7e1f737eed68de1a1468bd2a77ec0" dependencies: - "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-json-strings" "^7.8.3" -"@babel/plugin-transform-member-expression-literals@^7.0.0", "@babel/plugin-transform-member-expression-literals@^7.18.6": - "version" "7.18.6" +"@babel/plugin-transform-literals@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz#e9341f4b5a167952576e23db8d435849b1dd7920" dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-modules-amd@^7.19.6": - "version" "7.20.11" +"@babel/plugin-transform-logical-assignment-operators@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.5.tgz#66ae5f068fd5a9a5dc570df16f56c2a8462a9d6c" dependencies: - "@babel/helper-module-transforms" "^7.20.11" - "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" -"@babel/plugin-transform-modules-commonjs@^7.0.0", "@babel/plugin-transform-modules-commonjs@^7.13.8", "@babel/plugin-transform-modules-commonjs@^7.19.6": - "version" "7.20.11" +"@babel/plugin-transform-member-expression-literals@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz#4fcc9050eded981a468347dd374539ed3e058def" dependencies: - "@babel/helper-module-transforms" "^7.20.11" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-simple-access" "^7.20.2" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-modules-systemjs@^7.19.6": - "version" "7.20.11" +"@babel/plugin-transform-modules-amd@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.22.5.tgz#4e045f55dcf98afd00f85691a68fc0780704f526" dependencies: - "@babel/helper-hoist-variables" "^7.18.6" - "@babel/helper-module-transforms" "^7.20.11" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-validator-identifier" "^7.19.1" + "@babel/helper-module-transforms" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-modules-umd@^7.18.6": - "version" "7.18.6" +"@babel/plugin-transform-modules-commonjs@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.22.5.tgz#7d9875908d19b8c0536085af7b053fd5bd651bfa" dependencies: - "@babel/helper-module-transforms" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-module-transforms" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-simple-access" "^7.22.5" -"@babel/plugin-transform-named-capturing-groups-regex@^7.0.0", "@babel/plugin-transform-named-capturing-groups-regex@^7.19.1": - "version" "7.20.5" +"@babel/plugin-transform-modules-systemjs@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.22.5.tgz#18c31410b5e579a0092638f95c896c2a98a5d496" dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.20.5" - "@babel/helper-plugin-utils" "^7.20.2" + "@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-new-target@^7.18.6": - "version" "7.18.6" +"@babel/plugin-transform-modules-umd@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz#4694ae40a87b1745e3775b6a7fe96400315d4f98" dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-module-transforms" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-object-super@^7.0.0", "@babel/plugin-transform-object-super@^7.18.6": - "version" "7.18.6" +"@babel/plugin-transform-named-capturing-groups-regex@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz#67fe18ee8ce02d57c855185e27e3dc959b2e991f" dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/helper-replace-supers" "^7.18.6" + "@babel/helper-create-regexp-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-parameters@^7.0.0", "@babel/plugin-transform-parameters@^7.20.1", "@babel/plugin-transform-parameters@^7.20.7": - "version" "7.20.7" +"@babel/plugin-transform-new-target@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz#1b248acea54ce44ea06dfd37247ba089fcf9758d" dependencies: - "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-property-literals@^7.0.0", "@babel/plugin-transform-property-literals@^7.18.6": - "version" "7.18.6" +"@babel/plugin-transform-nullish-coalescing-operator@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.5.tgz#f8872c65776e0b552e0849d7596cddd416c3e381" dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + +"@babel/plugin-transform-numeric-separator@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.5.tgz#57226a2ed9e512b9b446517ab6fa2d17abb83f58" + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + +"@babel/plugin-transform-object-rest-spread@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.5.tgz#9686dc3447df4753b0b2a2fae7e8bc33cdc1f2e1" + dependencies: + "@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@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz#794a8d2fcb5d0835af722173c1a9d704f44e218c" + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.5" + +"@babel/plugin-transform-optional-catch-binding@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.5.tgz#842080be3076703be0eaf32ead6ac8174edee333" + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + +"@babel/plugin-transform-optional-chaining@^7.22.5", "@babel/plugin-transform-optional-chaining@^7.22.6": + version "7.22.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.22.6.tgz#4bacfe37001fe1901117672875e931d439811564" + dependencies: + "@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@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.5.tgz#c3542dd3c39b42c8069936e48717a8d179d63a18" + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-private-methods@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz#21c8af791f76674420a147ae62e9935d790f8722" + dependencies: + "@babel/helper-create-class-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-private-property-in-object@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.5.tgz#07a77f28cbb251546a43d175a1dda4cf3ef83e32" + dependencies: + "@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@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz#b5ddabd73a4f7f26cd0e20f5db48290b88732766" + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-react-constant-elements@^7.12.1": - "version" "7.20.2" + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.22.5.tgz#6dfa7c1c37f7d7279e417ceddf5a04abb8bb9c29" dependencies: - "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-react-display-name@^7.0.0", "@babel/plugin-transform-react-display-name@^7.16.0", "@babel/plugin-transform-react-display-name@^7.18.6": - "version" "7.18.6" +"@babel/plugin-transform-react-display-name@^7.16.0", "@babel/plugin-transform-react-display-name@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.22.5.tgz#3c4326f9fce31c7968d6cb9debcaf32d9e279a2b" dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-react-jsx-development@^7.18.6": - "version" "7.18.6" +"@babel/plugin-transform-react-jsx-development@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz#e716b6edbef972a92165cd69d92f1255f7e73e87" dependencies: - "@babel/plugin-transform-react-jsx" "^7.18.6" + "@babel/plugin-transform-react-jsx" "^7.22.5" -"@babel/plugin-transform-react-jsx-self@^7.0.0": - "integrity" "sha512-nTh2ogNUtxbiSbxaT4Ds6aXnXEipHweN9YRgOX/oNXdf0cCrGn/+2LozFa3lnPV5D90MkjhgckCPBrsoSc1a7g==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.22.5.tgz" - "version" "7.22.5" +"@babel/plugin-transform-react-jsx@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.22.5.tgz#932c291eb6dd1153359e2a90cb5e557dcf068416" dependencies: + "@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-source@^7.0.0": - "integrity" "sha512-yIiRO6yobeEIaI0RTbIr8iAK9FcBHLtZq0S89ZPjDLQXBA4xvghaKqI0etp/tF3htTM0sazJKKLz9oEiGRtu7w==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.22.5.tgz" - "version" "7.22.5" +"@babel/plugin-transform-react-pure-annotations@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.22.5.tgz#1f58363eef6626d6fa517b95ac66fe94685e32c0" dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-react-jsx@^7.0.0", "@babel/plugin-transform-react-jsx@^7.14.9", "@babel/plugin-transform-react-jsx@^7.18.6": - "version" "7.20.7" +"@babel/plugin-transform-regenerator@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.5.tgz#cd8a68b228a5f75fa01420e8cc2fc400f0fc32aa" dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/plugin-syntax-jsx" "^7.18.6" - "@babel/types" "^7.20.7" + "@babel/helper-plugin-utils" "^7.22.5" + regenerator-transform "^0.15.1" -"@babel/plugin-transform-react-pure-annotations@^7.18.6": - "version" "7.18.6" +"@babel/plugin-transform-reserved-words@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz#832cd35b81c287c4bcd09ce03e22199641f964fb" dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-regenerator@^7.18.6": - "version" "7.20.5" +"@babel/plugin-transform-runtime@^7.16.4": + version "7.22.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.22.7.tgz#eb9094b5fb756cc2d98d398b2c88aeefa9205de9" dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - "regenerator-transform" "^0.15.1" + "@babel/helper-module-imports" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + "@nicolo-ribaudo/semver-v6" "^6.3.3" + babel-plugin-polyfill-corejs2 "^0.4.4" + babel-plugin-polyfill-corejs3 "^0.8.2" + babel-plugin-polyfill-regenerator "^0.5.1" -"@babel/plugin-transform-reserved-words@^7.18.6": - "version" "7.18.6" +"@babel/plugin-transform-shorthand-properties@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz#6e277654be82b5559fc4b9f58088507c24f0c624" dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-runtime@^7.0.0", "@babel/plugin-transform-runtime@^7.16.4": - "version" "7.19.6" +"@babel/plugin-transform-spread@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz#6487fd29f229c95e284ba6c98d65eafb893fea6b" dependencies: - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-plugin-utils" "^7.19.0" - "babel-plugin-polyfill-corejs2" "^0.3.3" - "babel-plugin-polyfill-corejs3" "^0.6.0" - "babel-plugin-polyfill-regenerator" "^0.4.1" - "semver" "^6.3.0" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" -"@babel/plugin-transform-shorthand-properties@^7.0.0", "@babel/plugin-transform-shorthand-properties@^7.18.6": - "version" "7.18.6" +"@babel/plugin-transform-sticky-regex@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz#295aba1595bfc8197abd02eae5fc288c0deb26aa" dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-spread@^7.0.0", "@babel/plugin-transform-spread@^7.19.0": - "version" "7.20.7" +"@babel/plugin-transform-template-literals@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz#8f38cf291e5f7a8e60e9f733193f0bcc10909bff" dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-sticky-regex@^7.0.0", "@babel/plugin-transform-sticky-regex@^7.18.6": - "version" "7.18.6" +"@babel/plugin-transform-typeof-symbol@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz#5e2ba478da4b603af8673ff7c54f75a97b716b34" dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-template-literals@^7.0.0", "@babel/plugin-transform-template-literals@^7.18.9": - "version" "7.18.9" +"@babel/plugin-transform-typescript@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.5.tgz#5c0f7adfc1b5f38c4dbc8f79b1f0f8074134bd7d" dependencies: - "@babel/helper-plugin-utils" "^7.18.9" + "@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-typescript" "^7.22.5" -"@babel/plugin-transform-typeof-symbol@^7.18.9": - "version" "7.18.9" +"@babel/plugin-transform-unicode-escapes@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.5.tgz#ce0c248522b1cb22c7c992d88301a5ead70e806c" dependencies: - "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-typescript@^7.18.6", "@babel/plugin-transform-typescript@^7.5.0": - "version" "7.20.7" +"@babel/plugin-transform-unicode-property-regex@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz#098898f74d5c1e86660dc112057b2d11227f1c81" dependencies: - "@babel/helper-create-class-features-plugin" "^7.20.7" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/plugin-syntax-typescript" "^7.20.0" + "@babel/helper-create-regexp-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-unicode-escapes@^7.18.10": - "version" "7.18.10" +"@babel/plugin-transform-unicode-regex@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz#ce7e7bb3ef208c4ff67e02a22816656256d7a183" dependencies: - "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-create-regexp-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-unicode-regex@^7.0.0", "@babel/plugin-transform-unicode-regex@^7.18.6": - "version" "7.18.6" +"@babel/plugin-transform-unicode-sets-regex@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz#77788060e511b708ffc7d42fdfbc5b37c3004e91" dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-create-regexp-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/preset-env@^7.1.6", "@babel/preset-env@^7.11.0", "@babel/preset-env@^7.12.1", "@babel/preset-env@^7.16.4": - "version" "7.20.2" +"@babel/preset-env@^7.11.0", "@babel/preset-env@^7.12.1", "@babel/preset-env@^7.16.4": + version "7.22.7" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.22.7.tgz#a1ef34b64a80653c22ce4d9c25603cfa76fc168a" dependencies: - "@babel/compat-data" "^7.20.1" - "@babel/helper-compilation-targets" "^7.20.0" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-validator-option" "^7.18.6" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.18.6" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.18.9" - "@babel/plugin-proposal-async-generator-functions" "^7.20.1" - "@babel/plugin-proposal-class-properties" "^7.18.6" - "@babel/plugin-proposal-class-static-block" "^7.18.6" - "@babel/plugin-proposal-dynamic-import" "^7.18.6" - "@babel/plugin-proposal-export-namespace-from" "^7.18.9" - "@babel/plugin-proposal-json-strings" "^7.18.6" - "@babel/plugin-proposal-logical-assignment-operators" "^7.18.9" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.18.6" - "@babel/plugin-proposal-numeric-separator" "^7.18.6" - "@babel/plugin-proposal-object-rest-spread" "^7.20.2" - "@babel/plugin-proposal-optional-catch-binding" "^7.18.6" - "@babel/plugin-proposal-optional-chaining" "^7.18.9" - "@babel/plugin-proposal-private-methods" "^7.18.6" - "@babel/plugin-proposal-private-property-in-object" "^7.18.6" - "@babel/plugin-proposal-unicode-property-regex" "^7.18.6" + "@babel/compat-data" "^7.22.6" + "@babel/helper-compilation-targets" "^7.22.6" + "@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.20.0" + "@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" @@ -2882,324 +2798,306 @@ "@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-transform-arrow-functions" "^7.18.6" - "@babel/plugin-transform-async-to-generator" "^7.18.6" - "@babel/plugin-transform-block-scoped-functions" "^7.18.6" - "@babel/plugin-transform-block-scoping" "^7.20.2" - "@babel/plugin-transform-classes" "^7.20.2" - "@babel/plugin-transform-computed-properties" "^7.18.9" - "@babel/plugin-transform-destructuring" "^7.20.2" - "@babel/plugin-transform-dotall-regex" "^7.18.6" - "@babel/plugin-transform-duplicate-keys" "^7.18.9" - "@babel/plugin-transform-exponentiation-operator" "^7.18.6" - "@babel/plugin-transform-for-of" "^7.18.8" - "@babel/plugin-transform-function-name" "^7.18.9" - "@babel/plugin-transform-literals" "^7.18.9" - "@babel/plugin-transform-member-expression-literals" "^7.18.6" - "@babel/plugin-transform-modules-amd" "^7.19.6" - "@babel/plugin-transform-modules-commonjs" "^7.19.6" - "@babel/plugin-transform-modules-systemjs" "^7.19.6" - "@babel/plugin-transform-modules-umd" "^7.18.6" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.19.1" - "@babel/plugin-transform-new-target" "^7.18.6" - "@babel/plugin-transform-object-super" "^7.18.6" - "@babel/plugin-transform-parameters" "^7.20.1" - "@babel/plugin-transform-property-literals" "^7.18.6" - "@babel/plugin-transform-regenerator" "^7.18.6" - "@babel/plugin-transform-reserved-words" "^7.18.6" - "@babel/plugin-transform-shorthand-properties" "^7.18.6" - "@babel/plugin-transform-spread" "^7.19.0" - "@babel/plugin-transform-sticky-regex" "^7.18.6" - "@babel/plugin-transform-template-literals" "^7.18.9" - "@babel/plugin-transform-typeof-symbol" "^7.18.9" - "@babel/plugin-transform-unicode-escapes" "^7.18.10" - "@babel/plugin-transform-unicode-regex" "^7.18.6" + "@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.7" + "@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.5" + "@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.5" + "@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.6" + "@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.5" + "@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.5" + "@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.5" - "@babel/types" "^7.20.2" - "babel-plugin-polyfill-corejs2" "^0.3.3" - "babel-plugin-polyfill-corejs3" "^0.6.0" - "babel-plugin-polyfill-regenerator" "^0.4.1" - "core-js-compat" "^3.25.1" - "semver" "^6.3.0" - -"@babel/preset-flow@^7.13.13": - "integrity" "sha512-ta2qZ+LSiGCrP5pgcGt8xMnnkXQrq8Sa4Ulhy06BOlF5QbLw9q5hIx7bn5MrsvyTGAfh6kTOo07Q+Pfld/8Y5Q==" - "resolved" "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.22.5.tgz" - "version" "7.22.5" - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-validator-option" "^7.22.5" - "@babel/plugin-transform-flow-strip-types" "^7.22.5" + "@babel/types" "^7.22.5" + "@nicolo-ribaudo/semver-v6" "^6.3.3" + babel-plugin-polyfill-corejs2 "^0.4.4" + babel-plugin-polyfill-corejs3 "^0.8.2" + babel-plugin-polyfill-regenerator "^0.5.1" + core-js-compat "^3.31.0" "@babel/preset-modules@^0.1.5": - "integrity" "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==" - "resolved" "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz" - "version" "0.1.5" + version "0.1.5" + resolved "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz" dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" "@babel/plugin-transform-dotall-regex" "^7.4.4" "@babel/types" "^7.4.4" - "esutils" "^2.0.2" + esutils "^2.0.2" "@babel/preset-react@^7.12.5", "@babel/preset-react@^7.16.0": - "version" "7.18.6" + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.22.5.tgz#c4d6058fbf80bccad02dd8c313a9aaa67e3c3dd6" dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/helper-validator-option" "^7.18.6" - "@babel/plugin-transform-react-display-name" "^7.18.6" - "@babel/plugin-transform-react-jsx" "^7.18.6" - "@babel/plugin-transform-react-jsx-development" "^7.18.6" - "@babel/plugin-transform-react-pure-annotations" "^7.18.6" + "@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@^7.13.0", "@babel/preset-typescript@^7.16.0": - "version" "7.18.6" +"@babel/preset-typescript@^7.16.0": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.22.5.tgz#16367d8b01d640e9a507577ed4ee54e0101e51c8" dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/helper-validator-option" "^7.18.6" - "@babel/plugin-transform-typescript" "^7.18.6" + "@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/register@^7.13.16": - "integrity" "sha512-vV6pm/4CijSQ8Y47RH5SopXzursN35RQINfGJkmOlcpAtGuf94miFvIPhCKGQN7WGIcsgG1BHEX2KVdTYwTwUQ==" - "resolved" "https://registry.npmjs.org/@babel/register/-/register-7.22.5.tgz" - "version" "7.22.5" - dependencies: - "clone-deep" "^4.0.1" - "find-cache-dir" "^2.0.0" - "make-dir" "^2.1.0" - "pirates" "^4.0.5" - "source-map-support" "^0.5.16" +"@babel/regjsgen@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310" -"@babel/runtime-corejs3@^7.10.2": - "version" "7.20.7" +"@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.15.4", "@babel/runtime@^7.16.3", "@babel/runtime@^7.18.3", "@babel/runtime@^7.18.9", "@babel/runtime@^7.21.0", "@babel/runtime@^7.3.1", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.3", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.5.tgz" dependencies: - "core-js-pure" "^3.25.1" - "regenerator-runtime" "^0.13.11" + regenerator-runtime "^0.13.11" -"@babel/runtime@^7.0.0", "@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.15.4", "@babel/runtime@^7.16.3", "@babel/runtime@^7.17.2", "@babel/runtime@^7.18.3", "@babel/runtime@^7.18.9", "@babel/runtime@^7.21.0", "@babel/runtime@^7.3.1", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.3", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": - "integrity" "sha512-ecjvYlnAaZ/KVneE/OdKYBYfgXV3Ptu6zQWmgEF7vwKhQnvVS6bjMD2XYgj+SNvQ1GfK/pjgokfPkC/2CO8CuA==" - "resolved" "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.5.tgz" - "version" "7.22.5" +"@babel/runtime@^7.20.7", "@babel/runtime@^7.22.5": + version "7.22.6" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.22.6.tgz#57d64b9ae3cff1d67eb067ae117dac087f5bd438" dependencies: - "regenerator-runtime" "^0.13.11" + regenerator-runtime "^0.13.11" -"@babel/template@^7.0.0", "@babel/template@^7.18.10", "@babel/template@^7.20.7", "@babel/template@^7.3.3": - "version" "7.20.7" +"@babel/template@^7.22.5", "@babel/template@^7.3.3": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.5.tgz#0c8c4d944509875849bd0344ff0050756eefc6ec" dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/parser" "^7.20.7" - "@babel/types" "^7.20.7" + "@babel/code-frame" "^7.22.5" + "@babel/parser" "^7.22.5" + "@babel/types" "^7.22.5" -"@babel/traverse@^7.20.0", "@babel/traverse@^7.20.10", "@babel/traverse@^7.20.12", "@babel/traverse@^7.20.5", "@babel/traverse@^7.20.7", "@babel/traverse@^7.7.2": - "version" "7.20.12" +"@babel/traverse@^7.22.5", "@babel/traverse@^7.22.6", "@babel/traverse@^7.22.8", "@babel/traverse@^7.7.2": + version "7.22.8" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.22.8.tgz#4d4451d31bc34efeae01eac222b514a77aa4000e" dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.20.7" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.19.0" - "@babel/helper-hoist-variables" "^7.18.6" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/parser" "^7.20.7" - "@babel/types" "^7.20.7" - "debug" "^4.1.0" - "globals" "^11.1.0" + "@babel/code-frame" "^7.22.5" + "@babel/generator" "^7.22.7" + "@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.7" + "@babel/types" "^7.22.5" + debug "^4.1.0" + globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.12.6", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.20.0", "@babel/types@^7.20.2", "@babel/types@^7.20.5", "@babel/types@^7.20.7", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": - "version" "7.20.7" +"@babel/types@^7.0.0", "@babel/types@^7.12.6", "@babel/types@^7.20.7", "@babel/types@^7.22.5", "@babel/types@^7.3.3", "@babel/types@^7.4.4": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.22.5.tgz#cd93eeaab025880a3a47ec881f4b096a5b786fbe" dependencies: - "@babel/helper-string-parser" "^7.19.4" - "@babel/helper-validator-identifier" "^7.19.1" - "to-fast-properties" "^2.0.0" + "@babel/helper-string-parser" "^7.22.5" + "@babel/helper-validator-identifier" "^7.22.5" + to-fast-properties "^2.0.0" "@bcoe/v8-coverage@^0.2.3": - "integrity" "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" - "resolved" "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz" - "version" "0.2.3" + version "0.2.3" + resolved "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz" "@csstools/normalize.css@*": - "integrity" "sha512-M0qqxAcwCsIVfpFQSlGN5XjXWu8l5JDZN+fPt1LeW5SZexQTgnaEvgXAY+CeygRw0EeppWHi12JxESWiWrB0Sg==" - "resolved" "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-12.0.0.tgz" - "version" "12.0.0" + version "12.0.0" + resolved "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-12.0.0.tgz" "@csstools/postcss-cascade-layers@^1.1.1": - "integrity" "sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==" - "resolved" "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz" - "version" "1.1.1" + version "1.1.1" + resolved "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz" dependencies: "@csstools/selector-specificity" "^2.0.2" - "postcss-selector-parser" "^6.0.10" + postcss-selector-parser "^6.0.10" "@csstools/postcss-color-function@^1.1.1": - "integrity" "sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==" - "resolved" "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz" - "version" "1.1.1" + version "1.1.1" + resolved "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz" dependencies: "@csstools/postcss-progressive-custom-properties" "^1.1.0" - "postcss-value-parser" "^4.2.0" + postcss-value-parser "^4.2.0" "@csstools/postcss-font-format-keywords@^1.0.1": - "integrity" "sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==" - "resolved" "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz" - "version" "1.0.1" + version "1.0.1" + resolved "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz" dependencies: - "postcss-value-parser" "^4.2.0" + postcss-value-parser "^4.2.0" "@csstools/postcss-hwb-function@^1.0.2": - "integrity" "sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==" - "resolved" "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz" - "version" "1.0.2" + version "1.0.2" + resolved "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz" dependencies: - "postcss-value-parser" "^4.2.0" + postcss-value-parser "^4.2.0" "@csstools/postcss-ic-unit@^1.0.1": - "integrity" "sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==" - "resolved" "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz" - "version" "1.0.1" + version "1.0.1" + resolved "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz" dependencies: "@csstools/postcss-progressive-custom-properties" "^1.1.0" - "postcss-value-parser" "^4.2.0" + postcss-value-parser "^4.2.0" "@csstools/postcss-is-pseudo-class@^2.0.7": - "integrity" "sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==" - "resolved" "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz" - "version" "2.0.7" + version "2.0.7" + resolved "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz" dependencies: "@csstools/selector-specificity" "^2.0.0" - "postcss-selector-parser" "^6.0.10" + postcss-selector-parser "^6.0.10" "@csstools/postcss-nested-calc@^1.0.0": - "integrity" "sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ==" - "resolved" "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz" - "version" "1.0.0" + version "1.0.0" + resolved "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz" dependencies: - "postcss-value-parser" "^4.2.0" + postcss-value-parser "^4.2.0" "@csstools/postcss-normalize-display-values@^1.0.1": - "integrity" "sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==" - "resolved" "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz" - "version" "1.0.1" + version "1.0.1" + resolved "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz" dependencies: - "postcss-value-parser" "^4.2.0" + postcss-value-parser "^4.2.0" "@csstools/postcss-oklab-function@^1.1.1": - "integrity" "sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==" - "resolved" "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz" - "version" "1.1.1" + version "1.1.1" + resolved "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz" dependencies: "@csstools/postcss-progressive-custom-properties" "^1.1.0" - "postcss-value-parser" "^4.2.0" + postcss-value-parser "^4.2.0" "@csstools/postcss-progressive-custom-properties@^1.1.0", "@csstools/postcss-progressive-custom-properties@^1.3.0": - "integrity" "sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==" - "resolved" "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz" - "version" "1.3.0" + version "1.3.0" + resolved "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz" dependencies: - "postcss-value-parser" "^4.2.0" + postcss-value-parser "^4.2.0" "@csstools/postcss-stepped-value-functions@^1.0.1": - "integrity" "sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==" - "resolved" "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz" - "version" "1.0.1" + version "1.0.1" + resolved "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz" dependencies: - "postcss-value-parser" "^4.2.0" + postcss-value-parser "^4.2.0" "@csstools/postcss-text-decoration-shorthand@^1.0.0": - "integrity" "sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw==" - "resolved" "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz" - "version" "1.0.0" + version "1.0.0" + resolved "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz" dependencies: - "postcss-value-parser" "^4.2.0" + postcss-value-parser "^4.2.0" "@csstools/postcss-trigonometric-functions@^1.0.2": - "integrity" "sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==" - "resolved" "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz" - "version" "1.0.2" + version "1.0.2" + resolved "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz" dependencies: - "postcss-value-parser" "^4.2.0" + postcss-value-parser "^4.2.0" "@csstools/postcss-unset-value@^1.0.2": - "integrity" "sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==" - "resolved" "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz" - "version" "1.0.2" + version "1.0.2" + resolved "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz" "@csstools/selector-specificity@^2.0.0", "@csstools/selector-specificity@^2.0.2": - "version" "2.0.2" + version "2.2.0" + resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz#2cbcf822bf3764c9658c4d2e568bd0c0cb748016" "@date-io/core@^2.15.0", "@date-io/core@^2.16.0": - "integrity" "sha512-DYmSzkr+jToahwWrsiRA2/pzMEtz9Bq1euJwoOuYwuwIYXnZFtHajY2E6a1VNVDc9jP8YUXK1BvnZH9mmT19Zg==" - "resolved" "https://registry.npmjs.org/@date-io/core/-/core-2.16.0.tgz" - "version" "2.16.0" + version "2.16.0" + resolved "https://registry.npmjs.org/@date-io/core/-/core-2.16.0.tgz" -"@date-io/date-fns@^2.13.1", "@date-io/date-fns@^2.15.0": - "integrity" "sha512-bfm5FJjucqlrnQcXDVU5RD+nlGmL3iWgkHTq3uAZWVIuBu6dDmGa3m8a6zo2VQQpu8ambq9H22UyUpn7590joA==" - "resolved" "https://registry.npmjs.org/@date-io/date-fns/-/date-fns-2.16.0.tgz" - "version" "2.16.0" +"@date-io/date-fns@^2.15.0": + version "2.16.0" + resolved "https://registry.npmjs.org/@date-io/date-fns/-/date-fns-2.16.0.tgz" dependencies: "@date-io/core" "^2.16.0" -"@date-io/dayjs@^2.13.1", "@date-io/dayjs@^2.15.0": - "integrity" "sha512-y5qKyX2j/HG3zMvIxTobYZRGnd1FUW2olZLS0vTj7bEkBQkjd2RO7/FEwDY03Z1geVGlXKnzIATEVBVaGzV4Iw==" - "resolved" "https://registry.npmjs.org/@date-io/dayjs/-/dayjs-2.16.0.tgz" - "version" "2.16.0" +"@date-io/dayjs@^2.15.0": + version "2.16.0" + resolved "https://registry.npmjs.org/@date-io/dayjs/-/dayjs-2.16.0.tgz" dependencies: "@date-io/core" "^2.16.0" -"@date-io/luxon@^2.13.1", "@date-io/luxon@^2.15.0": - "integrity" "sha512-aeYp5K9PSHV28946pC+9UKUi/xMMYoaGelrpDibZSgHu2VWHXrr7zWLEr+pMPThSs5vt8Ei365PO+84pCm37WQ==" - "resolved" "https://registry.npmjs.org/@date-io/luxon/-/luxon-2.16.1.tgz" - "version" "2.16.1" +"@date-io/luxon@^2.15.0": + version "2.16.1" + resolved "https://registry.npmjs.org/@date-io/luxon/-/luxon-2.16.1.tgz" dependencies: "@date-io/core" "^2.16.0" -"@date-io/moment@^2.13.1", "@date-io/moment@^2.15.0": - "integrity" "sha512-JkxldQxUqZBfZtsaCcCMkm/dmytdyq5pS1RxshCQ4fHhsvP5A7gSqPD22QbVXMcJydi3d3v1Y8BQdUKEuGACZQ==" - "resolved" "https://registry.npmjs.org/@date-io/moment/-/moment-2.16.1.tgz" - "version" "2.16.1" +"@date-io/moment@^2.15.0": + version "2.16.1" + resolved "https://registry.npmjs.org/@date-io/moment/-/moment-2.16.1.tgz" dependencies: "@date-io/core" "^2.16.0" -"@emotion/babel-plugin@^11.11.0", "@emotion/babel-plugin@^11.7.1": - "integrity" "sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==" - "resolved" "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz" - "version" "11.11.0" +"@emotion/babel-plugin@^11.11.0": + version "11.11.0" + resolved "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz" dependencies: "@babel/helper-module-imports" "^7.16.7" "@babel/runtime" "^7.18.3" "@emotion/hash" "^0.9.1" "@emotion/memoize" "^0.8.1" "@emotion/serialize" "^1.1.2" - "babel-plugin-macros" "^3.1.0" - "convert-source-map" "^1.5.0" - "escape-string-regexp" "^4.0.0" - "find-root" "^1.1.0" - "source-map" "^0.5.7" - "stylis" "4.2.0" + babel-plugin-macros "^3.1.0" + convert-source-map "^1.5.0" + escape-string-regexp "^4.0.0" + find-root "^1.1.0" + source-map "^0.5.7" + stylis "4.2.0" "@emotion/cache@^10.0.27": - "integrity" "sha512-fU2VtSVlHiF27empSbxi1O2JFdNWZO+2NFHfwO0pxgTep6Xa3uGb+3pVKfLww2l/IBGLNEZl5Xf/++A4wAYDYQ==" - "resolved" "https://registry.npmjs.org/@emotion/cache/-/cache-10.0.29.tgz" - "version" "10.0.29" + version "10.0.29" + resolved "https://registry.npmjs.org/@emotion/cache/-/cache-10.0.29.tgz" dependencies: "@emotion/sheet" "0.9.4" "@emotion/stylis" "0.8.5" "@emotion/utils" "0.11.3" "@emotion/weak-memoize" "0.2.5" -"@emotion/cache@^11.11.0", "@emotion/cache@^11.7.1": - "integrity" "sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ==" - "resolved" "https://registry.npmjs.org/@emotion/cache/-/cache-11.11.0.tgz" - "version" "11.11.0" +"@emotion/cache@^11.11.0": + version "11.11.0" + resolved "https://registry.npmjs.org/@emotion/cache/-/cache-11.11.0.tgz" dependencies: "@emotion/memoize" "^0.8.1" "@emotion/sheet" "^1.2.2" "@emotion/utils" "^1.2.1" "@emotion/weak-memoize" "^0.3.1" - "stylis" "4.2.0" + stylis "4.2.0" -"@emotion/core@^10.0.27", "@emotion/core@^10.0.28": - "integrity" "sha512-447aUEjPIm0MnE6QYIaFz9VQOHSXf4Iu6EWOIqq11EAPqinkSZmfymPTmlOE3QjLv846lH4JVZBUOtwGbuQoww==" - "resolved" "https://registry.npmjs.org/@emotion/core/-/core-10.3.1.tgz" - "version" "10.3.1" +"@emotion/core@^10.0.28": + version "10.3.1" + resolved "https://registry.npmjs.org/@emotion/core/-/core-10.3.1.tgz" dependencies: "@babel/runtime" "^7.5.5" "@emotion/cache" "^10.0.27" @@ -3209,53 +3107,44 @@ "@emotion/utils" "0.11.3" "@emotion/css@^10.0.27": - "integrity" "sha512-6wZjsvYeBhyZQYNrGoR5yPMYbMBNEnanDrqmsqS1mzDm1cOTu12shvl2j4QHNS36UaTE0USIJawCH9C8oW34Zw==" - "resolved" "https://registry.npmjs.org/@emotion/css/-/css-10.0.27.tgz" - "version" "10.0.27" + version "10.0.27" + resolved "https://registry.npmjs.org/@emotion/css/-/css-10.0.27.tgz" dependencies: "@emotion/serialize" "^0.11.15" "@emotion/utils" "0.11.3" - "babel-plugin-emotion" "^10.0.27" + babel-plugin-emotion "^10.0.27" -"@emotion/hash@^0.8.0", "@emotion/hash@0.8.0": - "integrity" "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==" - "resolved" "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz" - "version" "0.8.0" +"@emotion/hash@0.8.0": + version "0.8.0" + resolved "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz" "@emotion/hash@^0.9.1": - "integrity" "sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==" - "resolved" "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.1.tgz" - "version" "0.9.1" - -"@emotion/is-prop-valid@^1.1.2": - "version" "1.1.2" - dependencies: - "@emotion/memoize" "^0.7.4" + version "0.9.1" + resolved "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.1.tgz" "@emotion/is-prop-valid@0.8.8": - "integrity" "sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==" - "resolved" "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz" - "version" "0.8.8" + version "0.8.8" + resolved "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz" dependencies: "@emotion/memoize" "0.7.4" -"@emotion/memoize@^0.7.4": - "version" "0.7.5" - -"@emotion/memoize@^0.8.1": - "integrity" "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==" - "resolved" "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz" - "version" "0.8.1" +"@emotion/is-prop-valid@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-1.2.1.tgz#23116cf1ed18bfeac910ec6436561ecb1a3885cc" + dependencies: + "@emotion/memoize" "^0.8.1" "@emotion/memoize@0.7.4": - "integrity" "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==" - "resolved" "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz" - "version" "0.7.4" + version "0.7.4" + resolved "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz" + +"@emotion/memoize@^0.8.1": + version "0.8.1" + resolved "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz" -"@emotion/react@^11.0.0-rc.0", "@emotion/react@^11.4.1", "@emotion/react@^11.5.0", "@emotion/react@^11.8.2", "@emotion/react@^11.9.0": - "integrity" "sha512-5mlW1DquU5HaxjLkfkGN1GA/fvVGdyHURRiX/0FHl2cfIfRxSOfmxEH5YS43edp0OldZrZ+dkBKbngxcNCdZvA==" - "resolved" "https://registry.npmjs.org/@emotion/react/-/react-11.11.1.tgz" - "version" "11.11.1" +"@emotion/react@^11.8.2": + version "11.11.1" + resolved "https://registry.npmjs.org/@emotion/react/-/react-11.11.1.tgz" dependencies: "@babel/runtime" "^7.18.3" "@emotion/babel-plugin" "^11.11.0" @@ -3264,53 +3153,39 @@ "@emotion/use-insertion-effect-with-fallbacks" "^1.0.1" "@emotion/utils" "^1.2.1" "@emotion/weak-memoize" "^0.3.1" - "hoist-non-react-statics" "^3.3.1" + hoist-non-react-statics "^3.3.1" "@emotion/serialize@^0.11.15", "@emotion/serialize@^0.11.16": - "integrity" "sha512-G3J4o8by0VRrO+PFeSc3js2myYNOXVJ3Ya+RGVxnshRYgsvErfAOglKAiy1Eo1vhzxqtUvjCyS5gtewzkmvSSg==" - "resolved" "https://registry.npmjs.org/@emotion/serialize/-/serialize-0.11.16.tgz" - "version" "0.11.16" + version "0.11.16" + resolved "https://registry.npmjs.org/@emotion/serialize/-/serialize-0.11.16.tgz" dependencies: "@emotion/hash" "0.8.0" "@emotion/memoize" "0.7.4" "@emotion/unitless" "0.7.5" "@emotion/utils" "0.11.3" - "csstype" "^2.5.7" - -"@emotion/serialize@^1.0.2": - "version" "1.0.2" - dependencies: - "@emotion/hash" "^0.8.0" - "@emotion/memoize" "^0.7.4" - "@emotion/unitless" "^0.7.5" - "@emotion/utils" "^1.0.0" - "csstype" "^3.0.2" + csstype "^2.5.7" "@emotion/serialize@^1.1.2": - "integrity" "sha512-zR6a/fkFP4EAcCMQtLOhIgpprZOwNmCldtpaISpvz348+DP4Mz8ZoKaGGCQpbzepNIUWbq4w6hNZkwDyKoS+HA==" - "resolved" "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.2.tgz" - "version" "1.1.2" + version "1.1.2" + resolved "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.2.tgz" dependencies: "@emotion/hash" "^0.9.1" "@emotion/memoize" "^0.8.1" "@emotion/unitless" "^0.8.1" "@emotion/utils" "^1.2.1" - "csstype" "^3.0.2" - -"@emotion/sheet@^1.2.2": - "integrity" "sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA==" - "resolved" "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.2.tgz" - "version" "1.2.2" + csstype "^3.0.2" "@emotion/sheet@0.9.4": - "integrity" "sha512-zM9PFmgVSqBw4zL101Q0HrBVTGmpAxFZH/pYx/cjJT5advXguvcgjHFTCaIO3enL/xr89vK2bh0Mfyj9aa0ANA==" - "resolved" "https://registry.npmjs.org/@emotion/sheet/-/sheet-0.9.4.tgz" - "version" "0.9.4" + version "0.9.4" + resolved "https://registry.npmjs.org/@emotion/sheet/-/sheet-0.9.4.tgz" + +"@emotion/sheet@^1.2.2": + version "1.2.2" + resolved "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.2.tgz" "@emotion/styled-base@^10.3.0": - "integrity" "sha512-PBRqsVKR7QRNkmfH78hTSSwHWcwDpecH9W6heujWAcyp2wdz/64PP73s7fWS1dIPm8/Exc8JAzYS8dEWXjv60w==" - "resolved" "https://registry.npmjs.org/@emotion/styled-base/-/styled-base-10.3.0.tgz" - "version" "10.3.0" + version "10.3.0" + resolved "https://registry.npmjs.org/@emotion/styled-base/-/styled-base-10.3.0.tgz" dependencies: "@babel/runtime" "^7.5.5" "@emotion/is-prop-valid" "0.8.8" @@ -3318,154 +3193,142 @@ "@emotion/utils" "0.11.3" "@emotion/styled@^10.0.27": - "integrity" "sha512-GgcUpXBBEU5ido+/p/mCT2/Xx+Oqmp9JzQRuC+a4lYM4i4LBBn/dWvc0rQ19N9ObA8/T4NWMrPNe79kMBDJqoQ==" - "resolved" "https://registry.npmjs.org/@emotion/styled/-/styled-10.3.0.tgz" - "version" "10.3.0" + version "10.3.0" + resolved "https://registry.npmjs.org/@emotion/styled/-/styled-10.3.0.tgz" dependencies: "@emotion/styled-base" "^10.3.0" - "babel-plugin-emotion" "^10.0.27" + babel-plugin-emotion "^10.0.27" -"@emotion/styled@^11.3.0", "@emotion/styled@^11.8.1": - "version" "11.8.1" +"@emotion/styled@^11.8.1": + version "11.11.0" + resolved "https://registry.yarnpkg.com/@emotion/styled/-/styled-11.11.0.tgz#26b75e1b5a1b7a629d7c0a8b708fbf5a9cdce346" dependencies: - "@babel/runtime" "^7.13.10" - "@emotion/babel-plugin" "^11.7.1" - "@emotion/is-prop-valid" "^1.1.2" - "@emotion/serialize" "^1.0.2" - "@emotion/utils" "^1.1.0" + "@babel/runtime" "^7.18.3" + "@emotion/babel-plugin" "^11.11.0" + "@emotion/is-prop-valid" "^1.2.1" + "@emotion/serialize" "^1.1.2" + "@emotion/use-insertion-effect-with-fallbacks" "^1.0.1" + "@emotion/utils" "^1.2.1" "@emotion/stylis@0.8.5": - "integrity" "sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ==" - "resolved" "https://registry.npmjs.org/@emotion/stylis/-/stylis-0.8.5.tgz" - "version" "0.8.5" + version "0.8.5" + resolved "https://registry.npmjs.org/@emotion/stylis/-/stylis-0.8.5.tgz" -"@emotion/unitless@^0.7.5", "@emotion/unitless@0.7.5": - "integrity" "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==" - "resolved" "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz" - "version" "0.7.5" +"@emotion/unitless@0.7.5": + version "0.7.5" + resolved "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz" "@emotion/unitless@^0.8.1": - "integrity" "sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==" - "resolved" "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.1.tgz" - "version" "0.8.1" + version "0.8.1" + resolved "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.1.tgz" "@emotion/use-insertion-effect-with-fallbacks@^1.0.1": - "integrity" "sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==" - "resolved" "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz" - "version" "1.0.1" + version "1.0.1" + resolved "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz" -"@emotion/utils@^1.0.0", "@emotion/utils@^1.1.0": - "version" "1.1.0" +"@emotion/utils@0.11.3": + version "0.11.3" + resolved "https://registry.npmjs.org/@emotion/utils/-/utils-0.11.3.tgz" "@emotion/utils@^1.2.1": - "integrity" "sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg==" - "resolved" "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.1.tgz" - "version" "1.2.1" + version "1.2.1" + resolved "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.1.tgz" -"@emotion/utils@0.11.3": - "integrity" "sha512-0o4l6pZC+hI88+bzuaX/6BgOvQVhbt2PfmxauVaYOGgbsAw14wdKyvMCZXnsnsHys94iadcF+RG/wZyx6+ZZBw==" - "resolved" "https://registry.npmjs.org/@emotion/utils/-/utils-0.11.3.tgz" - "version" "0.11.3" +"@emotion/weak-memoize@0.2.5": + version "0.2.5" + resolved "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz" "@emotion/weak-memoize@^0.3.1": - "integrity" "sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==" - "resolved" "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz" - "version" "0.3.1" - -"@emotion/weak-memoize@0.2.5": - "integrity" "sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA==" - "resolved" "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz" - "version" "0.2.5" + version "0.3.1" + resolved "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz" -"@eslint/eslintrc@^1.4.1": - "version" "1.4.1" +"@eslint-community/eslint-utils@^4.2.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" dependencies: - "ajv" "^6.12.4" - "debug" "^4.3.2" - "espree" "^9.4.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" + eslint-visitor-keys "^3.3.0" -"@graphql-typed-document-node/core@^3.0.0": - "version" "3.1.1" +"@eslint-community/regexpp@^4.4.0": + version "4.5.1" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.5.1.tgz#cdd35dce4fa1a89a4fd42b1599eb35b3af408884" -"@hapi/hoek@^9.0.0": - "integrity" "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==" - "resolved" "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz" - "version" "9.3.0" - -"@hapi/topo@^5.0.0": - "integrity" "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==" - "resolved" "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz" - "version" "5.1.0" +"@eslint/eslintrc@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.0.tgz#82256f164cc9e0b59669efc19d57f8092706841d" dependencies: - "@hapi/hoek" "^9.0.0" + 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" + +"@eslint/js@8.44.0": + version "8.44.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.44.0.tgz#961a5903c74139390478bdc808bcde3fc45ab7af" -"@humanwhocodes/config-array@^0.11.8": - "version" "0.11.8" +"@graphql-typed-document-node/core@^3.1.1": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@graphql-typed-document-node/core/-/core-3.2.0.tgz#5f3d96ec6b2354ad6d8a28bf216a1d97b5426861" + +"@humanwhocodes/config-array@^0.11.10": + version "0.11.10" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.10.tgz#5a3ffe32cc9306365fb3fd572596cd602d5e12d2" dependencies: "@humanwhocodes/object-schema" "^1.2.1" - "debug" "^4.1.1" - "minimatch" "^3.0.5" + debug "^4.1.1" + minimatch "^3.0.5" "@humanwhocodes/module-importer@^1.0.1": - "integrity" "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==" - "resolved" "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz" - "version" "1.0.1" + version "1.0.1" + resolved "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz" "@humanwhocodes/object-schema@^1.2.1": - "integrity" "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==" - "resolved" "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz" - "version" "1.2.1" + version "1.2.1" + resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz" "@istanbuljs/load-nyc-config@^1.0.0": - "integrity" "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==" - "resolved" "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz" - "version" "1.1.0" + version "1.1.0" + resolved "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz" dependencies: - "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" + 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" "@istanbuljs/schema@^0.1.2": - "integrity" "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==" - "resolved" "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz" - "version" "0.1.3" + version "0.1.3" + resolved "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz" "@jest/console@^27.5.1": - "integrity" "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==" - "resolved" "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz" - "version" "27.5.1" + version "27.5.1" + resolved "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz" dependencies: "@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" + chalk "^4.0.0" + jest-message-util "^27.5.1" + jest-util "^27.5.1" + slash "^3.0.0" "@jest/console@^28.1.3": - "integrity" "sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==" - "resolved" "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz" - "version" "28.1.3" + version "28.1.3" + resolved "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz" dependencies: "@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" + chalk "^4.0.0" + jest-message-util "^28.1.3" + jest-util "^28.1.3" + slash "^3.0.0" "@jest/core@^27.5.1": - "integrity" "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==" - "resolved" "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz" - "version" "27.5.1" + version "27.5.1" + resolved "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz" dependencies: "@jest/console" "^27.5.1" "@jest/reporters" "^27.5.1" @@ -3473,93 +3336,66 @@ "@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" - -"@jest/create-cache-key-function@^29.2.1": - "integrity" "sha512-LIDZyZgnZss7uikvBKBB/USWwG+GO8+GnwRWT+YkCGDGsqLQlhm9BC3z6+7+eMs1kUlvXQIWEzBR8Q2Pnvx6lg==" - "resolved" "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-29.5.0.tgz" - "version" "29.5.0" - dependencies: - "@jest/types" "^29.5.0" + 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" "@jest/environment@^27.5.1": - "integrity" "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==" - "resolved" "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz" - "version" "27.5.1" + version "27.5.1" + resolved "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz" dependencies: "@jest/fake-timers" "^27.5.1" "@jest/types" "^27.5.1" "@types/node" "*" - "jest-mock" "^27.5.1" + jest-mock "^27.5.1" -"@jest/environment@^29.5.0": - "integrity" "sha512-5FXw2+wD29YU1d4I2htpRX7jYnAyTRjP2CsXQdo9SAM8g3ifxWPSV0HnClSn71xwctr0U3oZIIH+dtbfmnbXVQ==" - "resolved" "https://registry.npmjs.org/@jest/environment/-/environment-29.5.0.tgz" - "version" "29.5.0" +"@jest/expect-utils@^29.6.1": + version "29.6.1" + resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.6.1.tgz#ab83b27a15cdd203fe5f68230ea22767d5c3acc5" dependencies: - "@jest/fake-timers" "^29.5.0" - "@jest/types" "^29.5.0" - "@types/node" "*" - "jest-mock" "^29.5.0" + jest-get-type "^29.4.3" "@jest/fake-timers@^27.5.1": - "integrity" "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==" - "resolved" "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz" - "version" "27.5.1" + version "27.5.1" + resolved "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz" dependencies: "@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" - -"@jest/fake-timers@^29.5.0": - "integrity" "sha512-9ARvuAAQcBwDAqOnglWq2zwNIRUDtk/SCkp/ToGEhFv5r86K21l+VEs0qNTaXtyiY0lEePl3kylijSYJQqdbDg==" - "resolved" "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.5.0.tgz" - "version" "29.5.0" - dependencies: - "@jest/types" "^29.5.0" - "@sinonjs/fake-timers" "^10.0.2" - "@types/node" "*" - "jest-message-util" "^29.5.0" - "jest-mock" "^29.5.0" - "jest-util" "^29.5.0" + jest-message-util "^27.5.1" + jest-mock "^27.5.1" + jest-util "^27.5.1" "@jest/globals@^27.5.1": - "integrity" "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==" - "resolved" "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz" - "version" "27.5.1" + version "27.5.1" + resolved "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz" dependencies: "@jest/environment" "^27.5.1" "@jest/types" "^27.5.1" - "expect" "^27.5.1" + expect "^27.5.1" "@jest/reporters@^27.5.1": - "integrity" "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==" - "resolved" "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz" - "version" "27.5.1" + version "27.5.1" + resolved "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz" dependencies: "@bcoe/v8-coverage" "^0.2.3" "@jest/console" "^27.5.1" @@ -3567,327 +3403,321 @@ "@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" + 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" "@jest/schemas@^28.1.3": - "integrity" "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==" - "resolved" "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz" - "version" "28.1.3" + version "28.1.3" + resolved "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz" dependencies: "@sinclair/typebox" "^0.24.1" -"@jest/schemas@^29.4.3": - "integrity" "sha512-VLYKXQmtmuEz6IxJsrZwzG9NvtkQsWNnWMsKxqWNu3+CnfzJQhp0WDDKWLVV9hLKr0l3SLLFRqcYHjhtyuDVxg==" - "resolved" "https://registry.npmjs.org/@jest/schemas/-/schemas-29.4.3.tgz" - "version" "29.4.3" +"@jest/schemas@^29.6.0": + version "29.6.0" + resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.0.tgz#0f4cb2c8e3dca80c135507ba5635a4fd755b0040" dependencies: - "@sinclair/typebox" "^0.25.16" + "@sinclair/typebox" "^0.27.8" "@jest/source-map@^27.5.1": - "integrity" "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==" - "resolved" "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz" - "version" "27.5.1" + version "27.5.1" + resolved "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz" dependencies: - "callsites" "^3.0.0" - "graceful-fs" "^4.2.9" - "source-map" "^0.6.0" + callsites "^3.0.0" + graceful-fs "^4.2.9" + source-map "^0.6.0" "@jest/test-result@^27.5.1": - "integrity" "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==" - "resolved" "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz" - "version" "27.5.1" + version "27.5.1" + resolved "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz" dependencies: "@jest/console" "^27.5.1" "@jest/types" "^27.5.1" "@types/istanbul-lib-coverage" "^2.0.0" - "collect-v8-coverage" "^1.0.0" + collect-v8-coverage "^1.0.0" "@jest/test-result@^28.1.3": - "integrity" "sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==" - "resolved" "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz" - "version" "28.1.3" + version "28.1.3" + resolved "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz" dependencies: "@jest/console" "^28.1.3" "@jest/types" "^28.1.3" "@types/istanbul-lib-coverage" "^2.0.0" - "collect-v8-coverage" "^1.0.0" + collect-v8-coverage "^1.0.0" "@jest/test-sequencer@^27.5.1": - "integrity" "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==" - "resolved" "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz" - "version" "27.5.1" + version "27.5.1" + resolved "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz" dependencies: "@jest/test-result" "^27.5.1" - "graceful-fs" "^4.2.9" - "jest-haste-map" "^27.5.1" - "jest-runtime" "^27.5.1" + graceful-fs "^4.2.9" + jest-haste-map "^27.5.1" + jest-runtime "^27.5.1" "@jest/transform@^27.5.1": - "integrity" "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==" - "resolved" "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz" - "version" "27.5.1" + version "27.5.1" + resolved "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz" dependencies: "@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" - -"@jest/types@^26.6.2": - "integrity" "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==" - "resolved" "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz" - "version" "26.6.2" - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^15.0.0" - "chalk" "^4.0.0" + 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" "@jest/types@^27.5.1": - "integrity" "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==" - "resolved" "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz" - "version" "27.5.1" + version "27.5.1" + resolved "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz" dependencies: "@types/istanbul-lib-coverage" "^2.0.0" "@types/istanbul-reports" "^3.0.0" "@types/node" "*" "@types/yargs" "^16.0.0" - "chalk" "^4.0.0" + chalk "^4.0.0" "@jest/types@^28.1.3": - "integrity" "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==" - "resolved" "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz" - "version" "28.1.3" + version "28.1.3" + resolved "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz" dependencies: "@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" + chalk "^4.0.0" -"@jest/types@^29.5.0": - "integrity" "sha512-qbu7kN6czmVRc3xWFQcAN03RAUamgppVUdXrvl1Wr3jlNF93o9mJbGcDWrwGB6ht44u7efB1qCFgVQmca24Uog==" - "resolved" "https://registry.npmjs.org/@jest/types/-/types-29.5.0.tgz" - "version" "29.5.0" +"@jest/types@^29.6.1": + version "29.6.1" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.6.1.tgz#ae79080278acff0a6af5eb49d063385aaa897bf2" dependencies: - "@jest/schemas" "^29.4.3" + "@jest/schemas" "^29.6.0" "@types/istanbul-lib-coverage" "^2.0.0" "@types/istanbul-reports" "^3.0.0" "@types/node" "*" "@types/yargs" "^17.0.8" - "chalk" "^4.0.0" - -"@jridgewell/gen-mapping@^0.1.0": - "version" "0.1.1" - dependencies: - "@jridgewell/set-array" "^1.0.0" - "@jridgewell/sourcemap-codec" "^1.4.10" + chalk "^4.0.0" "@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": - "version" "0.3.2" + version "0.3.3" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098" dependencies: "@jridgewell/set-array" "^1.0.1" "@jridgewell/sourcemap-codec" "^1.4.10" "@jridgewell/trace-mapping" "^0.3.9" "@jridgewell/resolve-uri@3.1.0": - "integrity" "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==" - "resolved" "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz" - "version" "3.1.0" + version "3.1.0" + resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz" -"@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": - "integrity" "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" - "resolved" "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" - "version" "1.1.2" +"@jridgewell/set-array@^1.0.1": + version "1.1.2" + resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" -"@jridgewell/source-map@^0.3.2": - "version" "0.3.2" +"@jridgewell/source-map@^0.3.3": + version "0.3.5" + resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.5.tgz#a3bb4d5c6825aab0d281268f47f6ad5853431e91" dependencies: "@jridgewell/gen-mapping" "^0.3.0" "@jridgewell/trace-mapping" "^0.3.9" -"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@1.4.14": - "integrity" "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" - "resolved" "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz" - "version" "1.4.14" +"@jridgewell/sourcemap-codec@1.4.14", "@jridgewell/sourcemap-codec@^1.4.10": + version "1.4.14" + resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz" -"@jridgewell/trace-mapping@^0.3.14", "@jridgewell/trace-mapping@^0.3.9": - "version" "0.3.17" +"@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": + version "0.3.18" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz#25783b2086daf6ff1dcb53c9249ae480e4dd4cd6" dependencies: "@jridgewell/resolve-uri" "3.1.0" "@jridgewell/sourcemap-codec" "1.4.14" "@juggle/resize-observer@^3.3.1": - "version" "3.3.1" + version "3.4.0" + resolved "https://registry.yarnpkg.com/@juggle/resize-observer/-/resize-observer-3.4.0.tgz#08d6c5e20cf7e4cc02fd181c4b0c225cd31dbb60" "@leichtgewicht/ip-codec@^2.0.1": - "integrity" "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==" - "resolved" "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz" - "version" "2.0.4" + version "2.0.4" + resolved "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz" -"@monaco-editor/loader@^1.2.0": - "version" "1.3.0" +"@monaco-editor/loader@^1.3.3": + version "1.3.3" + resolved "https://registry.yarnpkg.com/@monaco-editor/loader/-/loader-1.3.3.tgz#7f1742bd3cc21c0362a46a4056317f6e5215cfca" dependencies: - "state-local" "^1.0.6" + state-local "^1.0.6" "@monaco-editor/react@^4.3.1": - "version" "4.3.1" + version "4.5.1" + resolved "https://registry.yarnpkg.com/@monaco-editor/react/-/react-4.5.1.tgz#fbc76c692aee9a33b9ab24ae0c5f219b8f002fdb" dependencies: - "@monaco-editor/loader" "^1.2.0" - "prop-types" "^15.7.2" + "@monaco-editor/loader" "^1.3.3" -"@mui/base@5.0.0-alpha.73": - "version" "5.0.0-alpha.73" +"@mui/base@5.0.0-beta.6": + version "5.0.0-beta.6" + resolved "https://registry.yarnpkg.com/@mui/base/-/base-5.0.0-beta.6.tgz#c4537231619f4642ebda714c2cfd0e598aa9f511" dependencies: - "@babel/runtime" "^7.17.2" - "@emotion/is-prop-valid" "^1.1.2" - "@mui/utils" "^5.4.4" - "@popperjs/core" "^2.11.4" - "clsx" "^1.1.1" - "prop-types" "^15.7.2" - "react-is" "^17.0.2" + "@babel/runtime" "^7.22.5" + "@emotion/is-prop-valid" "^1.2.1" + "@mui/types" "^7.2.4" + "@mui/utils" "^5.13.7" + "@popperjs/core" "^2.11.8" + clsx "^1.2.1" + prop-types "^15.8.1" + react-is "^18.2.0" + +"@mui/core-downloads-tracker@^5.13.7": + version "5.13.7" + resolved "https://registry.yarnpkg.com/@mui/core-downloads-tracker/-/core-downloads-tracker-5.13.7.tgz#f4d9af5fe113b80b98b2cb158263d7b8f77e61c7" "@mui/icons-material@^5.5.1": - "version" "5.5.1" + version "5.13.7" + resolved "https://registry.yarnpkg.com/@mui/icons-material/-/icons-material-5.13.7.tgz#d83532363196b49d8716987e9a2c12f55b233cc1" dependencies: - "@babel/runtime" "^7.17.2" + "@babel/runtime" "^7.22.5" "@mui/lab@^5.0.0-alpha.74": - "version" "5.0.0-alpha.74" - dependencies: - "@babel/runtime" "^7.17.2" - "@date-io/date-fns" "^2.13.1" - "@date-io/dayjs" "^2.13.1" - "@date-io/luxon" "^2.13.1" - "@date-io/moment" "^2.13.1" - "@mui/base" "5.0.0-alpha.73" - "@mui/system" "^5.5.2" - "@mui/utils" "^5.4.4" - "clsx" "^1.1.1" - "prop-types" "^15.7.2" - "react-is" "^17.0.2" - "react-transition-group" "^4.4.2" - "rifm" "^0.12.1" - -"@mui/material@^5.0.0", "@mui/material@^5.2.8", "@mui/material@^5.4.1", "@mui/material@^5.5.2": - "version" "5.5.2" - dependencies: - "@babel/runtime" "^7.17.2" - "@mui/base" "5.0.0-alpha.73" - "@mui/system" "^5.5.2" - "@mui/types" "^7.1.3" - "@mui/utils" "^5.4.4" - "@types/react-transition-group" "^4.4.4" - "clsx" "^1.1.1" - "csstype" "^3.0.11" - "hoist-non-react-statics" "^3.3.2" - "prop-types" "^15.7.2" - "react-is" "^17.0.2" - "react-transition-group" "^4.4.2" - -"@mui/private-theming@^5.4.4": - "version" "5.4.4" - dependencies: - "@babel/runtime" "^7.17.2" - "@mui/utils" "^5.4.4" - "prop-types" "^15.7.2" - -"@mui/styled-engine@^5.5.2": - "version" "5.5.2" - dependencies: - "@babel/runtime" "^7.17.2" - "@emotion/cache" "^11.7.1" - "prop-types" "^15.7.2" + version "5.0.0-alpha.135" + resolved "https://registry.yarnpkg.com/@mui/lab/-/lab-5.0.0-alpha.135.tgz#d4c4145b63d5839cc201136fc4e152fd31690b44" + dependencies: + "@babel/runtime" "^7.22.5" + "@mui/base" "5.0.0-beta.6" + "@mui/system" "^5.13.7" + "@mui/types" "^7.2.4" + "@mui/utils" "^5.13.7" + clsx "^1.2.1" + prop-types "^15.8.1" + react-is "^18.2.0" + +"@mui/material@^5.5.2": + version "5.13.7" + resolved "https://registry.yarnpkg.com/@mui/material/-/material-5.13.7.tgz#0a4cef14d2a647eb6b049557a795744ff35df755" + dependencies: + "@babel/runtime" "^7.22.5" + "@mui/base" "5.0.0-beta.6" + "@mui/core-downloads-tracker" "^5.13.7" + "@mui/system" "^5.13.7" + "@mui/types" "^7.2.4" + "@mui/utils" "^5.13.7" + "@types/react-transition-group" "^4.4.6" + clsx "^1.2.1" + csstype "^3.1.2" + prop-types "^15.8.1" + react-is "^18.2.0" + react-transition-group "^4.4.5" + +"@mui/private-theming@^5.13.7": + version "5.13.7" + resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.13.7.tgz#2f8ef5da066f3c6c6423bd4260d003a28d10b099" + dependencies: + "@babel/runtime" "^7.22.5" + "@mui/utils" "^5.13.7" + prop-types "^15.8.1" + +"@mui/styled-engine@^5.13.2": + version "5.13.2" + resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-5.13.2.tgz#c87bd61c0ab8086d34828b6defe97c02bcd642ef" + dependencies: + "@babel/runtime" "^7.21.0" + "@emotion/cache" "^11.11.0" + csstype "^3.1.2" + prop-types "^15.8.1" "@mui/styles@^5.5.1": - "version" "5.5.1" - dependencies: - "@babel/runtime" "^7.17.2" - "@emotion/hash" "^0.8.0" - "@mui/private-theming" "^5.4.4" - "@mui/types" "^7.1.3" - "@mui/utils" "^5.4.4" - "clsx" "^1.1.1" - "csstype" "^3.0.11" - "hoist-non-react-statics" "^3.3.2" - "jss" "^10.8.2" - "jss-plugin-camel-case" "^10.8.2" - "jss-plugin-default-unit" "^10.8.2" - "jss-plugin-global" "^10.8.2" - "jss-plugin-nested" "^10.8.2" - "jss-plugin-props-sort" "^10.8.2" - "jss-plugin-rule-value-function" "^10.8.2" - "jss-plugin-vendor-prefixer" "^10.8.2" - "prop-types" "^15.7.2" - -"@mui/system@^5.2.8", "@mui/system@^5.4.1", "@mui/system@^5.5.2": - "version" "5.5.2" - dependencies: - "@babel/runtime" "^7.17.2" - "@mui/private-theming" "^5.4.4" - "@mui/styled-engine" "^5.5.2" - "@mui/types" "^7.1.3" - "@mui/utils" "^5.4.4" - "clsx" "^1.1.1" - "csstype" "^3.0.11" - "prop-types" "^15.7.2" - -"@mui/types@^7.1.3": - "version" "7.1.3" - -"@mui/utils@^5.10.3", "@mui/utils@^5.4.4": - "integrity" "sha512-6lXdWwmlUbEU2jUI8blw38Kt+3ly7xkmV9ljzY4Q20WhsJMWiNry9CX8M+TaP/HbtuyR8XKsdMgQW7h7MM3n3A==" - "resolved" "https://registry.npmjs.org/@mui/utils/-/utils-5.13.1.tgz" - "version" "5.13.1" + version "5.13.7" + resolved "https://registry.yarnpkg.com/@mui/styles/-/styles-5.13.7.tgz#b3d98741ccfaad32c6341c9b1dc5072578327d66" + dependencies: + "@babel/runtime" "^7.22.5" + "@emotion/hash" "^0.9.1" + "@mui/private-theming" "^5.13.7" + "@mui/types" "^7.2.4" + "@mui/utils" "^5.13.7" + clsx "^1.2.1" + csstype "^3.1.2" + hoist-non-react-statics "^3.3.2" + jss "^10.10.0" + jss-plugin-camel-case "^10.10.0" + jss-plugin-default-unit "^10.10.0" + jss-plugin-global "^10.10.0" + jss-plugin-nested "^10.10.0" + jss-plugin-props-sort "^10.10.0" + jss-plugin-rule-value-function "^10.10.0" + jss-plugin-vendor-prefixer "^10.10.0" + prop-types "^15.8.1" + +"@mui/system@^5.13.7": + version "5.13.7" + resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.13.7.tgz#b02e6284bbaab4201b142546ebbb2012ec0fa63d" + dependencies: + "@babel/runtime" "^7.22.5" + "@mui/private-theming" "^5.13.7" + "@mui/styled-engine" "^5.13.2" + "@mui/types" "^7.2.4" + "@mui/utils" "^5.13.7" + clsx "^1.2.1" + csstype "^3.1.2" + prop-types "^15.8.1" + +"@mui/types@^7.2.4": + version "7.2.4" + resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.2.4.tgz#b6fade19323b754c5c6de679a38f068fd50b9328" + +"@mui/utils@^5.10.3": + version "5.13.1" + resolved "https://registry.npmjs.org/@mui/utils/-/utils-5.13.1.tgz" dependencies: "@babel/runtime" "^7.21.0" "@types/prop-types" "^15.7.5" "@types/react-is" "^18.2.0" - "prop-types" "^15.8.1" - "react-is" "^18.2.0" + prop-types "^15.8.1" + react-is "^18.2.0" + +"@mui/utils@^5.13.7": + version "5.13.7" + resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.13.7.tgz#7e6a8336e05eb2642667a5c02eb605351e27ec20" + dependencies: + "@babel/runtime" "^7.22.5" + "@types/prop-types" "^15.7.5" + "@types/react-is" "^18.2.1" + prop-types "^15.8.1" + react-is "^18.2.0" "@mui/x-data-grid@^5.7.0": - "version" "5.7.0" + version "5.17.26" + resolved "https://registry.yarnpkg.com/@mui/x-data-grid/-/x-data-grid-5.17.26.tgz#1f7fa73dd3986cf052e2fd2cb56eb4678a7bd913" dependencies: - "@mui/utils" "^5.4.4" - "clsx" "^1.1.1" - "prop-types" "^15.8.1" - "reselect" "^4.1.5" + "@babel/runtime" "^7.18.9" + "@mui/utils" "^5.10.3" + clsx "^1.2.1" + prop-types "^15.8.1" + reselect "^4.1.6" "@mui/x-date-pickers@^5.0.0": - "integrity" "sha512-ERukSeHIoNLbI1C2XRhF9wRhqfsr+Q4B1SAw2ZlU7CWgcG8UBOxgqRKDEOVAIoSWL+DWT6GRuQjOKvj6UXZceA==" - "resolved" "https://registry.npmjs.org/@mui/x-date-pickers/-/x-date-pickers-5.0.20.tgz" - "version" "5.0.20" + version "5.0.20" + resolved "https://registry.npmjs.org/@mui/x-date-pickers/-/x-date-pickers-5.0.20.tgz" dependencies: "@babel/runtime" "^7.18.9" "@date-io/core" "^2.15.0" @@ -3897,391 +3727,167 @@ "@date-io/moment" "^2.15.0" "@mui/utils" "^5.10.3" "@types/react-transition-group" "^4.4.5" - "clsx" "^1.2.1" - "prop-types" "^15.7.2" - "react-transition-group" "^4.4.5" - "rifm" "^0.12.1" + clsx "^1.2.1" + prop-types "^15.7.2" + react-transition-group "^4.4.5" + rifm "^0.12.1" "@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1": - "integrity" "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==" - "resolved" "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz" - "version" "5.1.1-v1" + 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" dependencies: - "eslint-scope" "5.1.1" + eslint-scope "5.1.1" + +"@nicolo-ribaudo/semver-v6@^6.3.3": + version "6.3.3" + resolved "https://registry.yarnpkg.com/@nicolo-ribaudo/semver-v6/-/semver-v6-6.3.3.tgz#ea6d23ade78a325f7a52750aab1526b02b628c29" "@nodelib/fs.scandir@2.1.5": - "integrity" "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==" - "resolved" "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" - "version" "2.1.5" + version "2.1.5" + resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" dependencies: "@nodelib/fs.stat" "2.0.5" - "run-parallel" "^1.1.9" + run-parallel "^1.1.9" -"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5": - "integrity" "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" - "resolved" "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" - "version" "2.0.5" +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" "@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": - "integrity" "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==" - "resolved" "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" - "version" "1.2.8" + version "1.2.8" + resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" dependencies: "@nodelib/fs.scandir" "2.1.5" - "fastq" "^1.6.0" + fastq "^1.6.0" "@pmmmwh/react-refresh-webpack-plugin@^0.5.3": - "integrity" "sha512-j0Ya0hCFZPd4x40qLzbhGsh9TMtdb+CJQiso+WxLOPNasohq9cc5SNUcwsZaRH6++Xh91Xkm/xHCkuIiIu0LUA==" - "resolved" "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.10.tgz" - "version" "0.5.10" - dependencies: - "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" - -"@popperjs/core@^2.11.4": - "version" "2.11.4" - -"@react-native-community/cli-clean@^10.1.1": - "integrity" "sha512-iNsrjzjIRv9yb5y309SWJ8NDHdwYtnCpmxZouQDyOljUdC9MwdZ4ChbtA4rwQyAwgOVfS9F/j56ML3Cslmvrxg==" - "resolved" "https://registry.npmjs.org/@react-native-community/cli-clean/-/cli-clean-10.1.1.tgz" - "version" "10.1.1" - dependencies: - "@react-native-community/cli-tools" "^10.1.1" - "chalk" "^4.1.2" - "execa" "^1.0.0" - "prompts" "^2.4.0" - -"@react-native-community/cli-config@^10.1.1": - "integrity" "sha512-p4mHrjC+s/ayiNVG6T35GdEGdP6TuyBUg5plVGRJfTl8WT6LBfLYLk+fz/iETrEZ/YkhQIsQcEUQC47MqLNHog==" - "resolved" "https://registry.npmjs.org/@react-native-community/cli-config/-/cli-config-10.1.1.tgz" - "version" "10.1.1" - dependencies: - "@react-native-community/cli-tools" "^10.1.1" - "chalk" "^4.1.2" - "cosmiconfig" "^5.1.0" - "deepmerge" "^3.2.0" - "glob" "^7.1.3" - "joi" "^17.2.1" - -"@react-native-community/cli-debugger-ui@^10.0.0": - "integrity" "sha512-8UKLcvpSNxnUTRy8CkCl27GGLqZunQ9ncGYhSrWyKrU9SWBJJGeZwi2k2KaoJi5FvF2+cD0t8z8cU6lsq2ZZmA==" - "resolved" "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-10.0.0.tgz" - "version" "10.0.0" - dependencies: - "serve-static" "^1.13.1" - -"@react-native-community/cli-doctor@^10.2.4": - "integrity" "sha512-hEtgAqSyIASByhoZlv7WVvdoW4NBdn8vJh/X+dQBRBEXyZk1741/+CtiazwKkuliEhl7cdg4Mg99zgRLCXKAzg==" - "resolved" "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-10.2.4.tgz" - "version" "10.2.4" - dependencies: - "@react-native-community/cli-config" "^10.1.1" - "@react-native-community/cli-platform-ios" "^10.2.4" - "@react-native-community/cli-tools" "^10.1.1" - "chalk" "^4.1.2" - "command-exists" "^1.2.8" - "envinfo" "^7.7.2" - "execa" "^1.0.0" - "hermes-profile-transformer" "^0.0.6" - "ip" "^1.1.5" - "node-stream-zip" "^1.9.1" - "ora" "^5.4.1" - "prompts" "^2.4.0" - "semver" "^6.3.0" - "strip-ansi" "^5.2.0" - "sudo-prompt" "^9.0.0" - "wcwidth" "^1.0.1" - -"@react-native-community/cli-hermes@^10.2.0": - "integrity" "sha512-urfmvNeR8IiO/Sd92UU3xPO+/qI2lwCWQnxOkWaU/i2EITFekE47MD6MZrfVulRVYRi5cuaFqKZO/ccOdOB/vQ==" - "resolved" "https://registry.npmjs.org/@react-native-community/cli-hermes/-/cli-hermes-10.2.0.tgz" - "version" "10.2.0" - dependencies: - "@react-native-community/cli-platform-android" "^10.2.0" - "@react-native-community/cli-tools" "^10.1.1" - "chalk" "^4.1.2" - "hermes-profile-transformer" "^0.0.6" - "ip" "^1.1.5" - -"@react-native-community/cli-platform-android@^10.2.0", "@react-native-community/cli-platform-android@10.2.0": - "integrity" "sha512-CBenYwGxwFdObZTn1lgxWtMGA5ms2G/ALQhkS+XTAD7KHDrCxFF9yT/fnAjFZKM6vX/1TqGI1RflruXih3kAhw==" - "resolved" "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-10.2.0.tgz" - "version" "10.2.0" - dependencies: - "@react-native-community/cli-tools" "^10.1.1" - "chalk" "^4.1.2" - "execa" "^1.0.0" - "glob" "^7.1.3" - "logkitty" "^0.7.1" - -"@react-native-community/cli-platform-ios@^10.2.4", "@react-native-community/cli-platform-ios@10.2.4": - "integrity" "sha512-/6K+jeRhcGojFIJMWMXV2eY5n/In+YUzBr/DKWQOeHBOHkESRNheG310xSAIjgB46YniSSUKhSyeuhalTbm9OQ==" - "resolved" "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-10.2.4.tgz" - "version" "10.2.4" - dependencies: - "@react-native-community/cli-tools" "^10.1.1" - "chalk" "^4.1.2" - "execa" "^1.0.0" - "fast-xml-parser" "^4.0.12" - "glob" "^7.1.3" - "ora" "^5.4.1" - -"@react-native-community/cli-plugin-metro@^10.2.3": - "integrity" "sha512-jHi2oDuTePmW4NEyVT8JEGNlIYcnFXCSV2ZMp4rnDrUk4TzzyvS3IMvDlESEmG8Kry8rvP0KSUx/hTpy37Sbkw==" - "resolved" "https://registry.npmjs.org/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-10.2.3.tgz" - "version" "10.2.3" - dependencies: - "@react-native-community/cli-server-api" "^10.1.1" - "@react-native-community/cli-tools" "^10.1.1" - "chalk" "^4.1.2" - "execa" "^1.0.0" - "metro" "0.73.10" - "metro-config" "0.73.10" - "metro-core" "0.73.10" - "metro-react-native-babel-transformer" "0.73.10" - "metro-resolver" "0.73.10" - "metro-runtime" "0.73.10" - "readline" "^1.3.0" - -"@react-native-community/cli-server-api@^10.1.1": - "integrity" "sha512-NZDo/wh4zlm8as31UEBno2bui8+ufzsZV+KN7QjEJWEM0levzBtxaD+4je0OpfhRIIkhaRm2gl/vVf7OYAzg4g==" - "resolved" "https://registry.npmjs.org/@react-native-community/cli-server-api/-/cli-server-api-10.1.1.tgz" - "version" "10.1.1" - dependencies: - "@react-native-community/cli-debugger-ui" "^10.0.0" - "@react-native-community/cli-tools" "^10.1.1" - "compression" "^1.7.1" - "connect" "^3.6.5" - "errorhandler" "^1.5.0" - "nocache" "^3.0.1" - "pretty-format" "^26.6.2" - "serve-static" "^1.13.1" - "ws" "^7.5.1" - -"@react-native-community/cli-tools@^10.1.1": - "integrity" "sha512-+FlwOnZBV+ailEzXjcD8afY2ogFEBeHOw/8+XXzMgPaquU2Zly9B+8W089tnnohO3yfiQiZqkQlElP423MY74g==" - "resolved" "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-10.1.1.tgz" - "version" "10.1.1" - dependencies: - "appdirsjs" "^1.2.4" - "chalk" "^4.1.2" - "find-up" "^5.0.0" - "mime" "^2.4.1" - "node-fetch" "^2.6.0" - "open" "^6.2.0" - "ora" "^5.4.1" - "semver" "^6.3.0" - "shell-quote" "^1.7.3" - -"@react-native-community/cli-types@^10.0.0": - "integrity" "sha512-31oUM6/rFBZQfSmDQsT1DX/5fjqfxg7sf2u8kTPJK7rXVya5SRpAMaCXsPAG0omsmJxXt+J9HxUi3Ic+5Ux5Iw==" - "resolved" "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-10.0.0.tgz" - "version" "10.0.0" - dependencies: - "joi" "^17.2.1" - -"@react-native-community/cli@10.2.4": - "integrity" "sha512-E9BUDHfLEsnjkjeJqECuCjl4E/1Ox9Nl6hkQBhEqjZm4AaQxgU7M6AyFfOgaXn5v3am16/R4ZOUTrJnGJWS3GA==" - "resolved" "https://registry.npmjs.org/@react-native-community/cli/-/cli-10.2.4.tgz" - "version" "10.2.4" - dependencies: - "@react-native-community/cli-clean" "^10.1.1" - "@react-native-community/cli-config" "^10.1.1" - "@react-native-community/cli-debugger-ui" "^10.0.0" - "@react-native-community/cli-doctor" "^10.2.4" - "@react-native-community/cli-hermes" "^10.2.0" - "@react-native-community/cli-plugin-metro" "^10.2.3" - "@react-native-community/cli-server-api" "^10.1.1" - "@react-native-community/cli-tools" "^10.1.1" - "@react-native-community/cli-types" "^10.0.0" - "chalk" "^4.1.2" - "commander" "^9.4.1" - "execa" "^1.0.0" - "find-up" "^4.1.0" - "fs-extra" "^8.1.0" - "graceful-fs" "^4.1.3" - "prompts" "^2.4.0" - "semver" "^6.3.0" - -"@react-native/assets@1.0.0": - "integrity" "sha512-KrwSpS1tKI70wuKl68DwJZYEvXktDHdZMG0k2AXD/rJVSlB23/X2CB2cutVR0HwNMJIal9HOUOBB2rVfa6UGtQ==" - "resolved" "https://registry.npmjs.org/@react-native/assets/-/assets-1.0.0.tgz" - "version" "1.0.0" - -"@react-native/normalize-color@*", "@react-native/normalize-color@2.1.0": - "integrity" "sha512-Z1jQI2NpdFJCVgpY+8Dq/Bt3d+YUi1928Q+/CZm/oh66fzM0RUl54vvuXlPJKybH4pdCZey1eDTPaLHkMPNgWA==" - "resolved" "https://registry.npmjs.org/@react-native/normalize-color/-/normalize-color-2.1.0.tgz" - "version" "2.1.0" - -"@react-native/polyfills@2.0.0": - "integrity" "sha512-K0aGNn1TjalKj+65D7ycc1//H9roAQ51GJVk5ZJQFb2teECGmzd86bYDC0aYdbRf7gtovescq4Zt6FR0tgXiHQ==" - "resolved" "https://registry.npmjs.org/@react-native/polyfills/-/polyfills-2.0.0.tgz" - "version" "2.0.0" + version "0.5.10" + resolved "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.10.tgz" + dependencies: + 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" + +"@popperjs/core@^2.11.8": + version "2.11.8" + resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.8.tgz#6b79032e760a0899cd4204710beede972a3a185f" "@reduxjs/toolkit@^1.8.0": - "version" "1.8.0" + version "1.9.5" + resolved "https://registry.yarnpkg.com/@reduxjs/toolkit/-/toolkit-1.9.5.tgz#d3987849c24189ca483baa7aa59386c8e52077c4" dependencies: - "immer" "^9.0.7" - "redux" "^4.1.2" - "redux-thunk" "^2.4.1" - "reselect" "^4.1.5" + immer "^9.0.21" + redux "^4.2.1" + redux-thunk "^2.4.2" + reselect "^4.1.8" "@rollup/plugin-babel@^5.2.0": - "integrity" "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==" - "resolved" "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz" - "version" "5.3.1" + version "5.3.1" + resolved "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz" dependencies: "@babel/helper-module-imports" "^7.10.4" "@rollup/pluginutils" "^3.1.0" "@rollup/plugin-node-resolve@^11.2.1": - "integrity" "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==" - "resolved" "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz" - "version" "11.2.1" + version "11.2.1" + resolved "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz" dependencies: "@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" + builtin-modules "^3.1.0" + deepmerge "^4.2.2" + is-module "^1.0.0" + resolve "^1.19.0" "@rollup/plugin-replace@^2.4.1": - "integrity" "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==" - "resolved" "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz" - "version" "2.4.2" + version "2.4.2" + resolved "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz" dependencies: "@rollup/pluginutils" "^3.1.0" - "magic-string" "^0.25.7" + magic-string "^0.25.7" "@rollup/pluginutils@^3.1.0": - "integrity" "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==" - "resolved" "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz" - "version" "3.1.0" + version "3.1.0" + resolved "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz" dependencies: "@types/estree" "0.0.39" - "estree-walker" "^1.0.1" - "picomatch" "^2.2.2" + estree-walker "^1.0.1" + picomatch "^2.2.2" "@rushstack/eslint-patch@^1.1.0": - "version" "1.2.0" - -"@sideway/address@^4.1.3": - "integrity" "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==" - "resolved" "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz" - "version" "4.1.4" - dependencies: - "@hapi/hoek" "^9.0.0" - -"@sideway/formula@^3.0.1": - "integrity" "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==" - "resolved" "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz" - "version" "3.0.1" - -"@sideway/pinpoint@^2.0.0": - "integrity" "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==" - "resolved" "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz" - "version" "2.0.0" + version "1.3.2" + resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.3.2.tgz#31b9c510d8cada9683549e1dbb4284cca5001faf" "@sinclair/typebox@^0.24.1": - "integrity" "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==" - "resolved" "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz" - "version" "0.24.51" + version "0.24.51" + resolved "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz" -"@sinclair/typebox@^0.25.16": - "integrity" "sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==" - "resolved" "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.25.24.tgz" - "version" "0.25.24" +"@sinclair/typebox@^0.27.8": + version "0.27.8" + resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" "@sinonjs/commons@^1.7.0": - "integrity" "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==" - "resolved" "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz" - "version" "1.8.6" - dependencies: - "type-detect" "4.0.8" - -"@sinonjs/commons@^3.0.0": - "integrity" "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==" - "resolved" "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz" - "version" "3.0.0" + version "1.8.6" + resolved "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz" dependencies: - "type-detect" "4.0.8" - -"@sinonjs/fake-timers@^10.0.2": - "integrity" "sha512-w1qd368vtrwttm1PRJWPW1QHlbmHrVDGs1eBH/jZvRPUFS4MNXV9Q33EQdjOdeAxZ7O8+3wM7zxztm2nfUSyKw==" - "resolved" "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.1.0.tgz" - "version" "10.1.0" - dependencies: - "@sinonjs/commons" "^3.0.0" + type-detect "4.0.8" "@sinonjs/fake-timers@^8.0.1": - "integrity" "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==" - "resolved" "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz" - "version" "8.1.0" + version "8.1.0" + resolved "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz" dependencies: "@sinonjs/commons" "^1.7.0" "@surma/rollup-plugin-off-main-thread@^2.2.3": - "integrity" "sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==" - "resolved" "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz" - "version" "2.2.3" + version "2.2.3" + resolved "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz" dependencies: - "ejs" "^3.1.6" - "json5" "^2.2.0" - "magic-string" "^0.25.0" - "string.prototype.matchall" "^4.0.6" + ejs "^3.1.6" + json5 "^2.2.0" + magic-string "^0.25.0" + string.prototype.matchall "^4.0.6" "@svgr/babel-plugin-add-jsx-attribute@^5.4.0": - "integrity" "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==" - "resolved" "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz" - "version" "5.4.0" + version "5.4.0" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz" "@svgr/babel-plugin-remove-jsx-attribute@^5.4.0": - "integrity" "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==" - "resolved" "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz" - "version" "5.4.0" + version "5.4.0" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz" "@svgr/babel-plugin-remove-jsx-empty-expression@^5.0.1": - "integrity" "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==" - "resolved" "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz" - "version" "5.0.1" + 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" "@svgr/babel-plugin-replace-jsx-attribute-value@^5.0.1": - "integrity" "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==" - "resolved" "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz" - "version" "5.0.1" + 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" "@svgr/babel-plugin-svg-dynamic-title@^5.4.0": - "integrity" "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==" - "resolved" "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz" - "version" "5.4.0" + version "5.4.0" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz" "@svgr/babel-plugin-svg-em-dimensions@^5.4.0": - "integrity" "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==" - "resolved" "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz" - "version" "5.4.0" + version "5.4.0" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz" "@svgr/babel-plugin-transform-react-native-svg@^5.4.0": - "integrity" "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==" - "resolved" "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz" - "version" "5.4.0" + 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" "@svgr/babel-plugin-transform-svg-component@^5.5.0": - "integrity" "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==" - "resolved" "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz" - "version" "5.5.0" + version "5.5.0" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz" "@svgr/babel-preset@^5.5.0": - "integrity" "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==" - "resolved" "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz" - "version" "5.5.0" + version "5.5.0" + resolved "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz" dependencies: "@svgr/babel-plugin-add-jsx-attribute" "^5.4.0" "@svgr/babel-plugin-remove-jsx-attribute" "^5.4.0" @@ -4293,44 +3899,39 @@ "@svgr/babel-plugin-transform-svg-component" "^5.5.0" "@svgr/core@^5.5.0": - "integrity" "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==" - "resolved" "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz" - "version" "5.5.0" + version "5.5.0" + resolved "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz" dependencies: "@svgr/plugin-jsx" "^5.5.0" - "camelcase" "^6.2.0" - "cosmiconfig" "^7.0.0" + camelcase "^6.2.0" + cosmiconfig "^7.0.0" "@svgr/hast-util-to-babel-ast@^5.5.0": - "integrity" "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==" - "resolved" "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz" - "version" "5.5.0" + version "5.5.0" + resolved "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz" dependencies: "@babel/types" "^7.12.6" "@svgr/plugin-jsx@^5.5.0": - "integrity" "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==" - "resolved" "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz" - "version" "5.5.0" + version "5.5.0" + resolved "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz" dependencies: "@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" + svg-parser "^2.0.2" "@svgr/plugin-svgo@^5.5.0": - "integrity" "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==" - "resolved" "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz" - "version" "5.5.0" + version "5.5.0" + resolved "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz" dependencies: - "cosmiconfig" "^7.0.0" - "deepmerge" "^4.2.2" - "svgo" "^1.2.2" + cosmiconfig "^7.0.0" + deepmerge "^4.2.2" + svgo "^1.2.2" "@svgr/webpack@^5.5.0": - "integrity" "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==" - "resolved" "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz" - "version" "5.5.0" + version "5.5.0" + resolved "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz" dependencies: "@babel/core" "^7.12.3" "@babel/plugin-transform-react-constant-elements" "^7.12.1" @@ -4339,1128 +3940,1030 @@ "@svgr/core" "^5.5.0" "@svgr/plugin-jsx" "^5.5.0" "@svgr/plugin-svgo" "^5.5.0" - "loader-utils" "^2.0.0" + loader-utils "^2.0.0" -"@testing-library/dom@^8.0.0", "@testing-library/dom@>=7.21.4": - "version" "8.11.4" +"@testing-library/dom@^8.0.0": + version "8.20.1" + resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-8.20.1.tgz#2e52a32e46fc88369eef7eef634ac2a192decd9f" dependencies: "@babel/code-frame" "^7.10.4" "@babel/runtime" "^7.12.5" - "@types/aria-query" "^4.2.0" - "aria-query" "^5.0.0" - "chalk" "^4.1.0" - "dom-accessibility-api" "^0.5.9" - "lz-string" "^1.4.4" - "pretty-format" "^27.0.2" + "@types/aria-query" "^5.0.1" + aria-query "5.1.3" + chalk "^4.1.0" + dom-accessibility-api "^0.5.9" + lz-string "^1.5.0" + pretty-format "^27.0.2" "@testing-library/jest-dom@^5.16.2": - "version" "5.16.3" + version "5.16.5" + resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-5.16.5.tgz#3912846af19a29b2dbf32a6ae9c31ef52580074e" dependencies: + "@adobe/css-tools" "^4.0.1" "@babel/runtime" "^7.9.2" "@types/testing-library__jest-dom" "^5.9.1" - "aria-query" "^5.0.0" - "chalk" "^3.0.0" - "css" "^3.0.0" - "css.escape" "^1.5.1" - "dom-accessibility-api" "^0.5.6" - "lodash" "^4.17.15" - "redent" "^3.0.0" + aria-query "^5.0.0" + chalk "^3.0.0" + css.escape "^1.5.1" + dom-accessibility-api "^0.5.6" + lodash "^4.17.15" + redent "^3.0.0" "@testing-library/react@^12.1.4": - "version" "12.1.4" + version "12.1.5" + resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-12.1.5.tgz#bb248f72f02a5ac9d949dea07279095fa577963b" dependencies: "@babel/runtime" "^7.12.5" "@testing-library/dom" "^8.0.0" - "@types/react-dom" "*" + "@types/react-dom" "<18.0.0" "@testing-library/user-event@^13.5.0": - "integrity" "sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg==" - "resolved" "https://registry.npmjs.org/@testing-library/user-event/-/user-event-13.5.0.tgz" - "version" "13.5.0" + version "13.5.0" + resolved "https://registry.npmjs.org/@testing-library/user-event/-/user-event-13.5.0.tgz" dependencies: "@babel/runtime" "^7.12.5" "@tootallnate/once@1": - "integrity" "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==" - "resolved" "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz" - "version" "1.1.2" + version "1.1.2" + resolved "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz" "@trysound/sax@0.2.0": - "integrity" "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==" - "resolved" "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz" - "version" "0.2.0" + version "0.2.0" + resolved "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz" "@turf/boolean-clockwise@6.5.0": - "integrity" "sha512-45+C7LC5RMbRWrxh3Z0Eihsc8db1VGBO5d9BLTOAwU4jR6SgsunTfRWR16X7JUwIDYlCVEmnjcXJNi/kIU3VIw==" - "resolved" "https://registry.npmjs.org/@turf/boolean-clockwise/-/boolean-clockwise-6.5.0.tgz" - "version" "6.5.0" + version "6.5.0" + resolved "https://registry.npmjs.org/@turf/boolean-clockwise/-/boolean-clockwise-6.5.0.tgz" dependencies: "@turf/helpers" "^6.5.0" "@turf/invariant" "^6.5.0" "@turf/helpers@^6.5.0": - "integrity" "sha512-VbI1dV5bLFzohYYdgqwikdMVpe7pJ9X3E+dlr425wa2/sMJqYDhTO++ec38/pcPvPE6oD9WEEeU3Xu3gza+VPw==" - "resolved" "https://registry.npmjs.org/@turf/helpers/-/helpers-6.5.0.tgz" - "version" "6.5.0" + version "6.5.0" + resolved "https://registry.npmjs.org/@turf/helpers/-/helpers-6.5.0.tgz" "@turf/invariant@^6.5.0": - "integrity" "sha512-Wv8PRNCtPD31UVbdJE/KVAWKe7l6US+lJItRR/HOEW3eh+U/JwRCSUl/KZ7bmjM/C+zLNoreM2TU6OoLACs4eg==" - "resolved" "https://registry.npmjs.org/@turf/invariant/-/invariant-6.5.0.tgz" - "version" "6.5.0" + version "6.5.0" + resolved "https://registry.npmjs.org/@turf/invariant/-/invariant-6.5.0.tgz" dependencies: "@turf/helpers" "^6.5.0" -"@types/aria-query@^4.2.0": - "version" "4.2.2" +"@types/aria-query@^5.0.1": + version "5.0.1" + resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-5.0.1.tgz#3286741fb8f1e1580ac28784add4c7a1d49bdfbc" -"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.14", "@types/babel__core@^7.1.9": - "version" "7.1.20" +"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.14": + version "7.20.1" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.1.tgz#916ecea274b0c776fec721e333e55762d3a9614b" dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" + "@babel/parser" "^7.20.7" + "@babel/types" "^7.20.7" "@types/babel__generator" "*" "@types/babel__template" "*" "@types/babel__traverse" "*" "@types/babel__generator@*": - "integrity" "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==" - "resolved" "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz" - "version" "7.6.4" + version "7.6.4" + resolved "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz" dependencies: "@babel/types" "^7.0.0" "@types/babel__template@*": - "integrity" "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==" - "resolved" "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz" - "version" "7.4.1" + version "7.4.1" + resolved "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz" dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" "@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": - "version" "7.18.3" + version "7.20.1" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.1.tgz#dd6f1d2411ae677dcb2db008c962598be31d6acf" dependencies: - "@babel/types" "^7.3.0" + "@babel/types" "^7.20.7" "@types/body-parser@*": - "integrity" "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==" - "resolved" "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz" - "version" "1.19.2" + version "1.19.2" + resolved "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz" dependencies: "@types/connect" "*" "@types/node" "*" "@types/bonjour@^3.5.9": - "integrity" "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==" - "resolved" "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz" - "version" "3.5.10" + version "3.5.10" + resolved "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz" dependencies: "@types/node" "*" "@types/connect-history-api-fallback@^1.3.5": - "version" "1.3.5" + version "1.5.0" + resolved "https://registry.yarnpkg.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz#9fd20b3974bdc2bcd4ac6567e2e0f6885cb2cf41" dependencies: "@types/express-serve-static-core" "*" "@types/node" "*" "@types/connect@*": - "integrity" "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==" - "resolved" "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz" - "version" "3.4.35" + version "3.4.35" + resolved "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz" dependencies: "@types/node" "*" "@types/cookie@^0.3.3": - "integrity" "sha512-LKVP3cgXBT9RYj+t+9FDKwS5tdI+rPBXaNSkma7hvqy35lc7mAokC2zsqWJH0LaqIt3B962nuYI77hsJoT1gow==" - "resolved" "https://registry.npmjs.org/@types/cookie/-/cookie-0.3.3.tgz" - "version" "0.3.3" + version "0.3.3" + resolved "https://registry.npmjs.org/@types/cookie/-/cookie-0.3.3.tgz" "@types/eslint-scope@^3.7.3": - "integrity" "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==" - "resolved" "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz" - "version" "3.7.4" + version "3.7.4" + resolved "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz" dependencies: "@types/eslint" "*" "@types/estree" "*" "@types/eslint@*", "@types/eslint@^7.29.0 || ^8.4.1": - "version" "8.4.10" + version "8.44.0" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.44.0.tgz#55818eabb376e2272f77fbf5c96c43137c3c1e53" dependencies: "@types/estree" "*" "@types/json-schema" "*" -"@types/estree@*": - "version" "1.0.0" - -"@types/estree@^0.0.51": - "version" "0.0.51" +"@types/estree@*", "@types/estree@^1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.1.tgz#aa22750962f3bf0e79d753d3cc067f010c95f194" "@types/estree@0.0.39": - "integrity" "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" - "resolved" "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz" - "version" "0.0.39" + version "0.0.39" + resolved "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz" -"@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.31": - "version" "4.17.32" +"@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.33": + version "4.17.35" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.35.tgz#c95dd4424f0d32e525d23812aa8ab8e4d3906c4f" dependencies: "@types/node" "*" "@types/qs" "*" "@types/range-parser" "*" + "@types/send" "*" "@types/express@*", "@types/express@^4.17.13": - "version" "4.17.15" + version "4.17.17" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.17.tgz#01d5437f6ef9cfa8668e616e13c2f2ac9a491ae4" dependencies: "@types/body-parser" "*" - "@types/express-serve-static-core" "^4.17.31" + "@types/express-serve-static-core" "^4.17.33" "@types/qs" "*" "@types/serve-static" "*" "@types/graceful-fs@^4.1.2": - "integrity" "sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==" - "resolved" "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz" - "version" "4.1.6" + version "4.1.6" + resolved "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz" dependencies: "@types/node" "*" "@types/hoist-non-react-statics@^3.3.0": - "integrity" "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==" - "resolved" "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz" - "version" "3.3.1" + version "3.3.1" + resolved "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz" dependencies: "@types/react" "*" - "hoist-non-react-statics" "^3.3.0" + hoist-non-react-statics "^3.3.0" "@types/html-minifier-terser@^6.0.0": - "integrity" "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==" - "resolved" "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz" - "version" "6.1.0" + version "6.1.0" + resolved "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz" + +"@types/http-errors@*": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-2.0.1.tgz#20172f9578b225f6c7da63446f56d4ce108d5a65" "@types/http-proxy@^1.17.8": - "version" "1.17.9" + version "1.17.11" + resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.11.tgz#0ca21949a5588d55ac2b659b69035c84bd5da293" dependencies: "@types/node" "*" "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - "integrity" "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==" - "resolved" "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz" - "version" "2.0.4" + version "2.0.4" + resolved "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz" "@types/istanbul-lib-report@*": - "integrity" "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==" - "resolved" "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz" - "version" "3.0.0" + version "3.0.0" + resolved "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz" dependencies: "@types/istanbul-lib-coverage" "*" "@types/istanbul-reports@^3.0.0": - "integrity" "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==" - "resolved" "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz" - "version" "3.0.1" + version "3.0.1" + resolved "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz" dependencies: "@types/istanbul-lib-report" "*" "@types/jest@*": - "version" "27.4.1" + version "29.5.2" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.2.tgz#86b4afc86e3a8f3005b297ed8a72494f89e6395b" dependencies: - "jest-matcher-utils" "^27.0.0" - "pretty-format" "^27.0.0" + expect "^29.0.0" + pretty-format "^29.0.0" "@types/json-schema@*", "@types/json-schema@^7.0.4", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": - "version" "7.0.11" + version "7.0.12" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.12.tgz#d70faba7039d5fca54c83c7dbab41051d2b6f6cb" "@types/json5@^0.0.29": - "integrity" "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" - "resolved" "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz" - "version" "0.0.29" + version "0.0.29" + resolved "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz" "@types/lodash@^4.14.175": - "version" "4.14.180" + version "4.14.195" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.195.tgz#bafc975b252eb6cea78882ce8a7b6bf22a6de632" "@types/mime@*": - "version" "3.0.1" + version "3.0.1" + resolved "https://registry.yarnpkg.com/@types/mime/-/mime-3.0.1.tgz#5f8f2bca0a5863cb69bc0b0acd88c96cb1d4ae10" + +"@types/mime@^1": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.2.tgz#93e25bf9ee75fe0fd80b594bc4feb0e862111b5a" "@types/node@*", "@types/node@>=6": - "version" "18.11.18" + version "20.4.1" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.4.1.tgz#a6033a8718653c50ac4962977e14d0f984d9527d" "@types/parse-json@^4.0.0": - "integrity" "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" - "resolved" "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz" "@types/prettier@^2.1.5": - "version" "2.7.2" + version "2.7.3" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.3.tgz#3e51a17e291d01d17d3fc61422015a933af7a08f" "@types/prop-types@*", "@types/prop-types@^15.7.5": - "integrity" "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" - "resolved" "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz" - "version" "15.7.5" + version "15.7.5" + resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz" "@types/q@^1.5.1": - "integrity" "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==" - "resolved" "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz" - "version" "1.5.5" + version "1.5.5" + resolved "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz" "@types/qs@*": - "integrity" "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" - "resolved" "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz" - "version" "6.9.7" + version "6.9.7" + resolved "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz" "@types/range-parser@*": - "integrity" "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" - "resolved" "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz" - "version" "1.2.4" + version "1.2.4" + resolved "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz" -"@types/react-dom@*": - "version" "17.0.14" +"@types/react-dom@<18.0.0": + version "17.0.20" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-17.0.20.tgz#e0c8901469d732b36d8473b40b679ad899da1b53" dependencies: - "@types/react" "*" + "@types/react" "^17" "@types/react-is@^18.2.0": - "integrity" "sha512-1vz2yObaQkLL7YFe/pme2cpvDsCwI1WXIfL+5eLz0MI9gFG24Re16RzUsI8t9XZn9ZWvgLNDrJBmrqXJO7GNQQ==" - "resolved" "https://registry.npmjs.org/@types/react-is/-/react-is-18.2.0.tgz" - "version" "18.2.0" + version "18.2.0" + resolved "https://registry.npmjs.org/@types/react-is/-/react-is-18.2.0.tgz" + dependencies: + "@types/react" "*" + +"@types/react-is@^18.2.1": + version "18.2.1" + resolved "https://registry.yarnpkg.com/@types/react-is/-/react-is-18.2.1.tgz#61d01c2a6fc089a53520c0b66996d458fdc46863" dependencies: "@types/react" "*" "@types/react-redux@^7.1.20": - "version" "7.1.23" + version "7.1.25" + resolved "https://registry.yarnpkg.com/@types/react-redux/-/react-redux-7.1.25.tgz#de841631205b24f9dfb4967dd4a7901e048f9a88" dependencies: "@types/hoist-non-react-statics" "^3.3.0" "@types/react" "*" - "hoist-non-react-statics" "^3.3.0" - "redux" "^4.0.0" + hoist-non-react-statics "^3.3.0" + redux "^4.0.0" -"@types/react-transition-group@^4.4.4", "@types/react-transition-group@^4.4.5": - "integrity" "sha512-VnCdSxfcm08KjsJVQcfBmhEQAPnLB8G08hAxn39azX1qYBQ/5RVQuoHuKIcfKOdncuaUvEpFKFzEvbtIMsfVew==" - "resolved" "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.6.tgz" - "version" "4.4.6" +"@types/react-transition-group@^4.4.5", "@types/react-transition-group@^4.4.6": + version "4.4.6" + resolved "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.6.tgz" dependencies: "@types/react" "*" -"@types/react@*", "@types/react@^16.8.6 || ^17.0.0": - "version" "17.0.43" +"@types/react@*": + version "18.2.14" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.14.tgz#fa7a6fecf1ce35ca94e74874f70c56ce88f7a127" + dependencies: + "@types/prop-types" "*" + "@types/scheduler" "*" + csstype "^3.0.2" + +"@types/react@^17": + version "17.0.62" + resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.62.tgz#2efe8ddf8533500ec44b1334dd1a97caa2f860e3" dependencies: "@types/prop-types" "*" "@types/scheduler" "*" - "csstype" "^3.0.2" + csstype "^3.0.2" "@types/resolve@1.17.1": - "integrity" "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==" - "resolved" "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz" - "version" "1.17.1" + version "1.17.1" + resolved "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz" dependencies: "@types/node" "*" "@types/retry@0.12.0": - "integrity" "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" - "resolved" "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz" - "version" "0.12.0" + version "0.12.0" + resolved "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz" "@types/scheduler@*": - "version" "0.16.2" + version "0.16.3" + resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.3.tgz#cef09e3ec9af1d63d2a6cc5b383a737e24e6dcf5" "@types/semver@^7.3.12": - "version" "7.3.13" + version "7.5.0" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.0.tgz#591c1ce3a702c45ee15f47a42ade72c2fd78978a" + +"@types/send@*": + version "0.17.1" + resolved "https://registry.yarnpkg.com/@types/send/-/send-0.17.1.tgz#ed4932b8a2a805f1fe362a70f4e62d0ac994e301" + dependencies: + "@types/mime" "^1" + "@types/node" "*" "@types/serve-index@^1.9.1": - "integrity" "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==" - "resolved" "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz" - "version" "1.9.1" + version "1.9.1" + resolved "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz" dependencies: "@types/express" "*" "@types/serve-static@*", "@types/serve-static@^1.13.10": - "version" "1.15.0" + version "1.15.2" + resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.2.tgz#3e5419ecd1e40e7405d34093f10befb43f63381a" dependencies: + "@types/http-errors" "*" "@types/mime" "*" "@types/node" "*" "@types/sockjs@^0.3.33": - "integrity" "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==" - "resolved" "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz" - "version" "0.3.33" + version "0.3.33" + resolved "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz" dependencies: "@types/node" "*" "@types/stack-utils@^2.0.0": - "integrity" "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==" - "resolved" "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz" - "version" "2.0.1" + version "2.0.1" + resolved "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz" "@types/testing-library__jest-dom@^5.9.1": - "version" "5.14.3" + version "5.14.7" + resolved "https://registry.yarnpkg.com/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.7.tgz#fff92bed2a32c58a9224a85603e731519c0a9037" dependencies: "@types/jest" "*" "@types/trusted-types@^2.0.2": - "version" "2.0.2" + version "2.0.3" + resolved "https://registry.yarnpkg.com/@types/trusted-types/-/trusted-types-2.0.3.tgz#a136f83b0758698df454e328759dbd3d44555311" -"@types/ws@^8.5.1": - "version" "8.5.4" +"@types/ws@^8.5.5": + version "8.5.5" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.5.tgz#af587964aa06682702ee6dcbc7be41a80e4b28eb" dependencies: "@types/node" "*" "@types/yargs-parser@*": - "integrity" "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==" - "resolved" "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz" - "version" "21.0.0" - -"@types/yargs@^15.0.0": - "integrity" "sha512-IziEYMU9XoVj8hWg7k+UJrXALkGFjWJhn5QFEv9q4p+v40oZhSuC135M38st8XPjICL7Ey4TV64ferBGUoJhBg==" - "resolved" "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.15.tgz" - "version" "15.0.15" - dependencies: - "@types/yargs-parser" "*" + version "21.0.0" + resolved "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz" "@types/yargs@^16.0.0": - "integrity" "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==" - "resolved" "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz" - "version" "16.0.5" + version "16.0.5" + resolved "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz" dependencies: "@types/yargs-parser" "*" "@types/yargs@^17.0.8": - "integrity" "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==" - "resolved" "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz" - "version" "17.0.24" + version "17.0.24" + resolved "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz" dependencies: "@types/yargs-parser" "*" "@types/zen-observable@^0.8.0": - "integrity" "sha512-fbF6oTd4sGGy0xjHPKAt+eS2CrxJ3+6gQ3FGcBoIJR2TLAyCkCyI8JqZNy+FeON0AhVgNJoUumVoZQjBFUqHkw==" - "resolved" "https://registry.npmjs.org/@types/zen-observable/-/zen-observable-0.8.3.tgz" - "version" "0.8.3" - -"@typescript-eslint/eslint-plugin@^4.0.0 || ^5.0.0", "@typescript-eslint/eslint-plugin@^5.5.0": - "version" "5.48.0" - dependencies: - "@typescript-eslint/scope-manager" "5.48.0" - "@typescript-eslint/type-utils" "5.48.0" - "@typescript-eslint/utils" "5.48.0" - "debug" "^4.3.4" - "ignore" "^5.2.0" - "natural-compare-lite" "^1.4.0" - "regexpp" "^3.2.0" - "semver" "^7.3.7" - "tsutils" "^3.21.0" + version "0.8.3" + resolved "https://registry.npmjs.org/@types/zen-observable/-/zen-observable-0.8.3.tgz" + +"@typescript-eslint/eslint-plugin@^5.5.0": + version "5.61.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.61.0.tgz#a1a5290cf33863b4db3fb79350b3c5275a7b1223" + dependencies: + "@eslint-community/regexpp" "^4.4.0" + "@typescript-eslint/scope-manager" "5.61.0" + "@typescript-eslint/type-utils" "5.61.0" + "@typescript-eslint/utils" "5.61.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/experimental-utils@^5.0.0": - "version" "5.48.0" + version "5.61.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-5.61.0.tgz#5ab9f8f1f7e7a43c68a48c450d972c7e400a2be4" dependencies: - "@typescript-eslint/utils" "5.48.0" + "@typescript-eslint/utils" "5.61.0" -"@typescript-eslint/parser@^5.0.0", "@typescript-eslint/parser@^5.5.0": - "version" "5.48.0" +"@typescript-eslint/parser@^5.5.0": + version "5.61.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.61.0.tgz#7fbe3e2951904bb843f8932ebedd6e0635bffb70" dependencies: - "@typescript-eslint/scope-manager" "5.48.0" - "@typescript-eslint/types" "5.48.0" - "@typescript-eslint/typescript-estree" "5.48.0" - "debug" "^4.3.4" + "@typescript-eslint/scope-manager" "5.61.0" + "@typescript-eslint/types" "5.61.0" + "@typescript-eslint/typescript-estree" "5.61.0" + debug "^4.3.4" -"@typescript-eslint/scope-manager@5.48.0": - "version" "5.48.0" +"@typescript-eslint/scope-manager@5.61.0": + version "5.61.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.61.0.tgz#b670006d069c9abe6415c41f754b1b5d949ef2b2" dependencies: - "@typescript-eslint/types" "5.48.0" - "@typescript-eslint/visitor-keys" "5.48.0" + "@typescript-eslint/types" "5.61.0" + "@typescript-eslint/visitor-keys" "5.61.0" -"@typescript-eslint/type-utils@5.48.0": - "version" "5.48.0" +"@typescript-eslint/type-utils@5.61.0": + version "5.61.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.61.0.tgz#e90799eb2045c4435ea8378cb31cd8a9fddca47a" dependencies: - "@typescript-eslint/typescript-estree" "5.48.0" - "@typescript-eslint/utils" "5.48.0" - "debug" "^4.3.4" - "tsutils" "^3.21.0" + "@typescript-eslint/typescript-estree" "5.61.0" + "@typescript-eslint/utils" "5.61.0" + debug "^4.3.4" + tsutils "^3.21.0" -"@typescript-eslint/types@5.48.0": - "version" "5.48.0" +"@typescript-eslint/types@5.61.0": + version "5.61.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.61.0.tgz#e99ff11b5792d791554abab0f0370936d8ca50c0" -"@typescript-eslint/typescript-estree@5.48.0": - "version" "5.48.0" +"@typescript-eslint/typescript-estree@5.61.0": + version "5.61.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.61.0.tgz#4c7caca84ce95bb41aa585d46a764bcc050b92f3" dependencies: - "@typescript-eslint/types" "5.48.0" - "@typescript-eslint/visitor-keys" "5.48.0" - "debug" "^4.3.4" - "globby" "^11.1.0" - "is-glob" "^4.0.3" - "semver" "^7.3.7" - "tsutils" "^3.21.0" + "@typescript-eslint/types" "5.61.0" + "@typescript-eslint/visitor-keys" "5.61.0" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + semver "^7.3.7" + tsutils "^3.21.0" -"@typescript-eslint/utils@^5.13.0", "@typescript-eslint/utils@5.48.0": - "version" "5.48.0" +"@typescript-eslint/utils@5.61.0", "@typescript-eslint/utils@^5.58.0": + version "5.61.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.61.0.tgz#5064838a53e91c754fffbddd306adcca3fe0af36" dependencies: + "@eslint-community/eslint-utils" "^4.2.0" "@types/json-schema" "^7.0.9" "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.48.0" - "@typescript-eslint/types" "5.48.0" - "@typescript-eslint/typescript-estree" "5.48.0" - "eslint-scope" "^5.1.1" - "eslint-utils" "^3.0.0" - "semver" "^7.3.7" + "@typescript-eslint/scope-manager" "5.61.0" + "@typescript-eslint/types" "5.61.0" + "@typescript-eslint/typescript-estree" "5.61.0" + eslint-scope "^5.1.1" + semver "^7.3.7" -"@typescript-eslint/visitor-keys@5.48.0": - "version" "5.48.0" +"@typescript-eslint/visitor-keys@5.61.0": + version "5.61.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.61.0.tgz#c79414fa42158fd23bd2bb70952dc5cdbb298140" dependencies: - "@typescript-eslint/types" "5.48.0" - "eslint-visitor-keys" "^3.3.0" + "@typescript-eslint/types" "5.61.0" + eslint-visitor-keys "^3.3.0" -"@webassemblyjs/ast@1.11.1": - "version" "1.11.1" +"@webassemblyjs/ast@1.11.6", "@webassemblyjs/ast@^1.11.5": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.6.tgz#db046555d3c413f8966ca50a95176a0e2c642e24" dependencies: - "@webassemblyjs/helper-numbers" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" + "@webassemblyjs/helper-numbers" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" -"@webassemblyjs/floating-point-hex-parser@1.11.1": - "version" "1.11.1" +"@webassemblyjs/floating-point-hex-parser@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz#dacbcb95aff135c8260f77fa3b4c5fea600a6431" -"@webassemblyjs/helper-api-error@1.11.1": - "version" "1.11.1" +"@webassemblyjs/helper-api-error@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz#6132f68c4acd59dcd141c44b18cbebbd9f2fa768" -"@webassemblyjs/helper-buffer@1.11.1": - "version" "1.11.1" +"@webassemblyjs/helper-buffer@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz#b66d73c43e296fd5e88006f18524feb0f2c7c093" -"@webassemblyjs/helper-numbers@1.11.1": - "version" "1.11.1" +"@webassemblyjs/helper-numbers@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz#cbce5e7e0c1bd32cf4905ae444ef64cea919f1b5" dependencies: - "@webassemblyjs/floating-point-hex-parser" "1.11.1" - "@webassemblyjs/helper-api-error" "1.11.1" + "@webassemblyjs/floating-point-hex-parser" "1.11.6" + "@webassemblyjs/helper-api-error" "1.11.6" "@xtuc/long" "4.2.2" -"@webassemblyjs/helper-wasm-bytecode@1.11.1": - "version" "1.11.1" +"@webassemblyjs/helper-wasm-bytecode@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz#bb2ebdb3b83aa26d9baad4c46d4315283acd51e9" -"@webassemblyjs/helper-wasm-section@1.11.1": - "version" "1.11.1" +"@webassemblyjs/helper-wasm-section@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz#ff97f3863c55ee7f580fd5c41a381e9def4aa577" dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-buffer" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/wasm-gen" "1.11.1" + "@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@1.11.1": - "version" "1.11.1" +"@webassemblyjs/ieee754@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz#bb665c91d0b14fffceb0e38298c329af043c6e3a" dependencies: "@xtuc/ieee754" "^1.2.0" -"@webassemblyjs/leb128@1.11.1": - "version" "1.11.1" +"@webassemblyjs/leb128@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz#70e60e5e82f9ac81118bc25381a0b283893240d7" dependencies: "@xtuc/long" "4.2.2" -"@webassemblyjs/utf8@1.11.1": - "version" "1.11.1" - -"@webassemblyjs/wasm-edit@1.11.1": - "version" "1.11.1" - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-buffer" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/helper-wasm-section" "1.11.1" - "@webassemblyjs/wasm-gen" "1.11.1" - "@webassemblyjs/wasm-opt" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" - "@webassemblyjs/wast-printer" "1.11.1" - -"@webassemblyjs/wasm-gen@1.11.1": - "version" "1.11.1" - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/ieee754" "1.11.1" - "@webassemblyjs/leb128" "1.11.1" - "@webassemblyjs/utf8" "1.11.1" - -"@webassemblyjs/wasm-opt@1.11.1": - "version" "1.11.1" - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-buffer" "1.11.1" - "@webassemblyjs/wasm-gen" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" - -"@webassemblyjs/wasm-parser@1.11.1": - "version" "1.11.1" - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-api-error" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/ieee754" "1.11.1" - "@webassemblyjs/leb128" "1.11.1" - "@webassemblyjs/utf8" "1.11.1" - -"@webassemblyjs/wast-printer@1.11.1": - "version" "1.11.1" - dependencies: - "@webassemblyjs/ast" "1.11.1" +"@webassemblyjs/utf8@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz#90f8bc34c561595fe156603be7253cdbcd0fab5a" + +"@webassemblyjs/wasm-edit@^1.11.5": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz#c72fa8220524c9b416249f3d94c2958dfe70ceab" + dependencies: + "@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@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz#fb5283e0e8b4551cc4e9c3c0d7184a65faf7c268" + dependencies: + "@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@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz#d9a22d651248422ca498b09aa3232a81041487c2" + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-buffer" "1.11.6" + "@webassemblyjs/wasm-gen" "1.11.6" + "@webassemblyjs/wasm-parser" "1.11.6" + +"@webassemblyjs/wasm-parser@1.11.6", "@webassemblyjs/wasm-parser@^1.11.5": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz#bb85378c527df824004812bbdb784eea539174a1" + dependencies: + "@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@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz#a7bf8dd7e362aeb1668ff43f35cb849f188eff20" + dependencies: + "@webassemblyjs/ast" "1.11.6" "@xtuc/long" "4.2.2" "@wry/context@^0.4.0": - "integrity" "sha512-LrKVLove/zw6h2Md/KZyWxIkFM6AoyKp71OqpH9Hiip1csjPVoD3tPxlbQUNxEnHENks3UGgNpSBCAfq9KWuag==" - "resolved" "https://registry.npmjs.org/@wry/context/-/context-0.4.4.tgz" - "version" "0.4.4" + version "0.4.4" + resolved "https://registry.npmjs.org/@wry/context/-/context-0.4.4.tgz" dependencies: "@types/node" ">=6" - "tslib" "^1.9.3" + tslib "^1.9.3" -"@wry/context@^0.6.0": - "version" "0.6.1" +"@wry/context@^0.7.0": + version "0.7.3" + resolved "https://registry.yarnpkg.com/@wry/context/-/context-0.7.3.tgz#240f6dfd4db5ef54f81f6597f6714e58d4f476a1" dependencies: - "tslib" "^2.3.0" + tslib "^2.3.0" "@wry/equality@^0.1.2": - "integrity" "sha512-mwEVBDUVODlsQQ5dfuLUS5/Tf7jqUKyhKYHmVi4fPB6bDMOfWvUPJmKgS1Z7Za/sOI3vzWt4+O7yCiL/70MogA==" - "resolved" "https://registry.npmjs.org/@wry/equality/-/equality-0.1.11.tgz" - "version" "0.1.11" + version "0.1.11" + resolved "https://registry.npmjs.org/@wry/equality/-/equality-0.1.11.tgz" dependencies: - "tslib" "^1.9.3" + tslib "^1.9.3" "@wry/equality@^0.5.0": - "version" "0.5.2" + version "0.5.6" + resolved "https://registry.yarnpkg.com/@wry/equality/-/equality-0.5.6.tgz#cd4a533c72c3752993ab8cbf682d3d20e3cb601e" dependencies: - "tslib" "^2.3.0" + tslib "^2.3.0" "@wry/trie@^0.3.0": - "version" "0.3.1" + version "0.3.2" + resolved "https://registry.yarnpkg.com/@wry/trie/-/trie-0.3.2.tgz#a06f235dc184bd26396ba456711f69f8c35097e6" + dependencies: + tslib "^2.3.0" + +"@wry/trie@^0.4.0": + version "0.4.3" + resolved "https://registry.yarnpkg.com/@wry/trie/-/trie-0.4.3.tgz#077d52c22365871bf3ffcbab8e95cb8bc5689af4" dependencies: - "tslib" "^2.3.0" + tslib "^2.3.0" "@xtuc/ieee754@^1.2.0": - "integrity" "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" - "resolved" "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz" - "version" "1.2.0" + version "1.2.0" + resolved "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz" "@xtuc/long@4.2.2": - "integrity" "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" - "resolved" "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz" - "version" "4.2.2" + version "4.2.2" + resolved "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz" -"abab@^2.0.3", "abab@^2.0.5": - "integrity" "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==" - "resolved" "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz" - "version" "2.0.6" +abab@^2.0.3, abab@^2.0.5: + version "2.0.6" + resolved "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz" -"abort-controller@^3.0.0": - "integrity" "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==" - "resolved" "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz" - "version" "3.0.0" +accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8: + version "1.3.8" + resolved "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz" dependencies: - "event-target-shim" "^5.0.0" + mime-types "~2.1.34" + negotiator "0.6.3" + +acorn-globals@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz" + dependencies: + acorn "^7.1.1" + acorn-walk "^7.1.1" + +acorn-import-assertions@^1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz#507276249d684797c84e0734ef84860334cfb1ac" + +acorn-jsx@^5.3.2: + version "5.3.2" + resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" -"absolute-path@^0.0.0": - "integrity" "sha512-HQiug4c+/s3WOvEnDRxXVmNtSG5s2gJM9r19BTcqjp7BWcE48PB+Y2G6jE65kqI0LpsQeMZygt/b60Gi4KxGyA==" - "resolved" "https://registry.npmjs.org/absolute-path/-/absolute-path-0.0.0.tgz" - "version" "0.0.0" +acorn-walk@^7.1.1: + version "7.2.0" + resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz" -"accepts@^1.3.7", "accepts@~1.3.4", "accepts@~1.3.5", "accepts@~1.3.7", "accepts@~1.3.8": - "integrity" "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==" - "resolved" "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz" - "version" "1.3.8" +acorn@^7.1.1: + version "7.4.1" + resolved "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz" + +acorn@^8.2.4, acorn@^8.7.1, acorn@^8.8.2, acorn@^8.9.0: + version "8.10.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.10.0.tgz#8be5b3907a67221a81ab23c7889c4c5526b62ec5" + +address@^1.0.1, address@^1.1.2: + version "1.2.2" + resolved "https://registry.npmjs.org/address/-/address-1.2.2.tgz" + +adjust-sourcemap-loader@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz" + dependencies: + loader-utils "^2.0.0" + regex-parser "^2.2.11" + +agent-base@6: + version "6.0.2" + resolved "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz" dependencies: - "mime-types" "~2.1.34" - "negotiator" "0.6.3" - -"acorn-globals@^6.0.0": - "integrity" "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==" - "resolved" "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz" - "version" "6.0.0" - dependencies: - "acorn" "^7.1.1" - "acorn-walk" "^7.1.1" - -"acorn-import-assertions@^1.7.6": - "version" "1.8.0" - -"acorn-jsx@^5.3.2": - "integrity" "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==" - "resolved" "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" - "version" "5.3.2" - -"acorn-node@^1.8.2": - "version" "1.8.2" - dependencies: - "acorn" "^7.0.0" - "acorn-walk" "^7.0.0" - "xtend" "^4.0.2" - -"acorn-walk@^7.0.0", "acorn-walk@^7.1.1": - "integrity" "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==" - "resolved" "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz" - "version" "7.2.0" - -"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", "acorn@^8", "acorn@^8.2.4", "acorn@^8.5.0", "acorn@^8.7.1", "acorn@^8.8.0": - "version" "8.8.1" - -"acorn@^7.0.0": - "version" "7.4.1" - -"acorn@^7.1.1": - "integrity" "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" - "resolved" "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz" - "version" "7.4.1" - -"address@^1.0.1", "address@^1.1.2": - "integrity" "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==" - "resolved" "https://registry.npmjs.org/address/-/address-1.2.2.tgz" - "version" "1.2.2" - -"adjust-sourcemap-loader@^4.0.0": - "integrity" "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==" - "resolved" "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "loader-utils" "^2.0.0" - "regex-parser" "^2.2.11" - -"agent-base@6": - "integrity" "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==" - "resolved" "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz" - "version" "6.0.2" - dependencies: - "debug" "4" - -"ajv-formats@^2.1.1": - "integrity" "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==" - "resolved" "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz" - "version" "2.1.1" - dependencies: - "ajv" "^8.0.0" - -"ajv-keywords@^3.4.1", "ajv-keywords@^3.5.2": - "integrity" "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==" - "resolved" "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz" - "version" "3.5.2" - -"ajv-keywords@^5.0.0": - "version" "5.1.0" + debug "4" + +ajv-formats@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz" dependencies: - "fast-deep-equal" "^3.1.3" - -"ajv@^6.10.0", "ajv@^6.12.2", "ajv@^6.12.4", "ajv@^6.12.5", "ajv@^6.9.1": - "integrity" "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==" - "resolved" "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" - "version" "6.12.6" + ajv "^8.0.0" + +ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: + version "3.5.2" + resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz" + +ajv-keywords@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz#69d4d385a4733cdbeab44964a1170a88f87f0e16" dependencies: - "fast-deep-equal" "^3.1.1" - "fast-json-stable-stringify" "^2.0.0" - "json-schema-traverse" "^0.4.1" - "uri-js" "^4.2.2" + fast-deep-equal "^3.1.3" -"ajv@^8.0.0", "ajv@^8.8.0", "ajv@^8.8.2": - "integrity" "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==" - "resolved" "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz" - "version" "8.12.0" +ajv@^6.10.0, ajv@^6.12.2, ajv@^6.12.4, ajv@^6.12.5: + version "6.12.6" + resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" dependencies: - "fast-deep-equal" "^3.1.1" - "json-schema-traverse" "^1.0.0" - "require-from-string" "^2.0.2" - "uri-js" "^4.2.2" + 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@^8.6.0", "ajv@>=8": - "integrity" "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==" - "resolved" "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz" - "version" "8.12.0" +ajv@^8.0.0, ajv@^8.6.0, ajv@^8.9.0: + version "8.12.0" + resolved "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz" dependencies: - "fast-deep-equal" "^3.1.1" - "json-schema-traverse" "^1.0.0" - "require-from-string" "^2.0.2" - "uri-js" "^4.2.2" + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" -"amazon-cognito-identity-js@6.2.0": - "integrity" "sha512-9Fxrp9+MtLdsJvqOwSaE3ll+pneICeuE3pwj2yDkiyGNWuHx97b8bVLR2bOgfDmDJnY0Hq8QoeXtwdM4aaXJjg==" - "resolved" "https://registry.npmjs.org/amazon-cognito-identity-js/-/amazon-cognito-identity-js-6.2.0.tgz" - "version" "6.2.0" +amazon-cognito-identity-js@6.2.0: + version "6.2.0" + resolved "https://registry.npmjs.org/amazon-cognito-identity-js/-/amazon-cognito-identity-js-6.2.0.tgz" dependencies: "@aws-crypto/sha256-js" "1.2.2" - "buffer" "4.9.2" - "fast-base64-decode" "^1.0.0" - "isomorphic-unfetch" "^3.0.0" - "js-cookie" "^2.2.1" - -"amazon-quicksight-embedding-sdk@^1.18.1": - "version" "1.18.1" - -"anser@^1.4.9": - "integrity" "sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==" - "resolved" "https://registry.npmjs.org/anser/-/anser-1.4.10.tgz" - "version" "1.4.10" - -"ansi-escapes@^4.2.1", "ansi-escapes@^4.3.1": - "integrity" "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==" - "resolved" "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz" - "version" "4.3.2" - dependencies: - "type-fest" "^0.21.3" - -"ansi-fragments@^0.2.1": - "integrity" "sha512-DykbNHxuXQwUDRv5ibc2b0x7uw7wmwOGLBUd5RmaQ5z8Lhx19vwvKV+FAsM5rEA6dEcHxX+/Ad5s9eF2k2bB+w==" - "resolved" "https://registry.npmjs.org/ansi-fragments/-/ansi-fragments-0.2.1.tgz" - "version" "0.2.1" - dependencies: - "colorette" "^1.0.7" - "slice-ansi" "^2.0.0" - "strip-ansi" "^5.0.0" - -"ansi-html-community@^0.0.8": - "integrity" "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==" - "resolved" "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz" - "version" "0.0.8" - -"ansi-regex@^4.1.0": - "integrity" "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==" - "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz" - "version" "4.1.1" - -"ansi-regex@^5.0.0", "ansi-regex@^5.0.1": - "integrity" "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" - "version" "5.0.1" - -"ansi-regex@^6.0.1": - "integrity" "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" - "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz" - "version" "6.0.1" - -"ansi-styles@^3.2.0": - "integrity" "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==" - "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" - "version" "3.2.1" - dependencies: - "color-convert" "^1.9.0" - -"ansi-styles@^3.2.1": - "integrity" "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==" - "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" - "version" "3.2.1" - dependencies: - "color-convert" "^1.9.0" - -"ansi-styles@^4.0.0", "ansi-styles@^4.1.0": - "integrity" "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==" - "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" - "version" "4.3.0" - dependencies: - "color-convert" "^2.0.1" - -"ansi-styles@^5.0.0": - "integrity" "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" - "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz" - "version" "5.2.0" - -"anymatch@^3.0.3", "anymatch@~3.1.2": - "integrity" "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==" - "resolved" "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" - "version" "3.1.3" - dependencies: - "normalize-path" "^3.0.0" - "picomatch" "^2.0.4" - -"apexcharts@^3.18.0", "apexcharts@^3.33.2": - "version" "3.33.2" - dependencies: - "svg.draggable.js" "^2.2.2" - "svg.easing.js" "^2.0.0" - "svg.filter.js" "^2.0.2" - "svg.pathmorphing.js" "^0.1.3" - "svg.resize.js" "^1.4.3" - "svg.select.js" "^3.0.1" - -"apollo-boost@^0.4.9": - "integrity" "sha512-05y5BKcDaa8w47f8d81UVwKqrAjn8uKLv6QM9fNdldoNzQ+rnOHgFlnrySUZRz9QIT3vPftQkEz2UEASp1Mi5g==" - "resolved" "https://registry.npmjs.org/apollo-boost/-/apollo-boost-0.4.9.tgz" - "version" "0.4.9" - dependencies: - "apollo-cache" "^1.3.5" - "apollo-cache-inmemory" "^1.6.6" - "apollo-client" "^2.6.10" - "apollo-link" "^1.0.6" - "apollo-link-error" "^1.0.3" - "apollo-link-http" "^1.3.1" - "graphql-tag" "^2.4.2" - "ts-invariant" "^0.4.0" - "tslib" "^1.10.0" - -"apollo-cache-inmemory@^1.6.6": - "integrity" "sha512-L8pToTW/+Xru2FFAhkZ1OA9q4V4nuvfoPecBM34DecAugUZEBhI2Hmpgnzq2hTKZ60LAMrlqiASm0aqAY6F8/A==" - "resolved" "https://registry.npmjs.org/apollo-cache-inmemory/-/apollo-cache-inmemory-1.6.6.tgz" - "version" "1.6.6" - dependencies: - "apollo-cache" "^1.3.5" - "apollo-utilities" "^1.3.4" - "optimism" "^0.10.0" - "ts-invariant" "^0.4.0" - "tslib" "^1.10.0" - -"apollo-cache@^1.3.5", "apollo-cache@1.3.5": - "integrity" "sha512-1XoDy8kJnyWY/i/+gLTEbYLnoiVtS8y7ikBr/IfmML4Qb+CM7dEEbIUOjnY716WqmZ/UpXIxTfJsY7rMcqiCXA==" - "resolved" "https://registry.npmjs.org/apollo-cache/-/apollo-cache-1.3.5.tgz" - "version" "1.3.5" - dependencies: - "apollo-utilities" "^1.3.4" - "tslib" "^1.10.0" - -"apollo-client@^2.6.10": - "integrity" "sha512-jiPlMTN6/5CjZpJOkGeUV0mb4zxx33uXWdj/xQCfAMkuNAC3HN7CvYDyMHHEzmcQ5GV12LszWoQ/VlxET24CtA==" - "resolved" "https://registry.npmjs.org/apollo-client/-/apollo-client-2.6.10.tgz" - "version" "2.6.10" + buffer "4.9.2" + fast-base64-decode "^1.0.0" + isomorphic-unfetch "^3.0.0" + js-cookie "^2.2.1" + +amazon-quicksight-embedding-sdk@^1.18.1: + version "1.20.1" + resolved "https://registry.yarnpkg.com/amazon-quicksight-embedding-sdk/-/amazon-quicksight-embedding-sdk-1.20.1.tgz#bb0f574365b36bc790ac4c43c80ffd6cc2cc0af1" + +ansi-escapes@^4.2.1, ansi-escapes@^4.3.1: + version "4.3.2" + resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz" + dependencies: + type-fest "^0.21.3" + +ansi-html-community@^0.0.8: + version "0.0.8" + resolved "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz" + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" + +ansi-regex@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz" + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" + dependencies: + color-convert "^2.0.1" + +ansi-styles@^5.0.0: + version "5.2.0" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz" + +any-promise@^1.0.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" + +anymatch@^3.0.3, anymatch@~3.1.2: + version "3.1.3" + resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +apexcharts@^3.33.2: + version "3.41.0" + resolved "https://registry.yarnpkg.com/apexcharts/-/apexcharts-3.41.0.tgz#7aef77275c19dfb925552d6fc8e027443a6d1337" + dependencies: + svg.draggable.js "^2.2.2" + svg.easing.js "^2.0.0" + svg.filter.js "^2.0.2" + svg.pathmorphing.js "^0.1.3" + svg.resize.js "^1.4.3" + svg.select.js "^3.0.1" + +apollo-boost@^0.4.9: + version "0.4.9" + resolved "https://registry.npmjs.org/apollo-boost/-/apollo-boost-0.4.9.tgz" + dependencies: + apollo-cache "^1.3.5" + apollo-cache-inmemory "^1.6.6" + apollo-client "^2.6.10" + apollo-link "^1.0.6" + apollo-link-error "^1.0.3" + apollo-link-http "^1.3.1" + graphql-tag "^2.4.2" + ts-invariant "^0.4.0" + tslib "^1.10.0" + +apollo-cache-inmemory@^1.6.6: + version "1.6.6" + resolved "https://registry.npmjs.org/apollo-cache-inmemory/-/apollo-cache-inmemory-1.6.6.tgz" + dependencies: + apollo-cache "^1.3.5" + apollo-utilities "^1.3.4" + optimism "^0.10.0" + ts-invariant "^0.4.0" + tslib "^1.10.0" + +apollo-cache@1.3.5, apollo-cache@^1.3.5: + version "1.3.5" + resolved "https://registry.npmjs.org/apollo-cache/-/apollo-cache-1.3.5.tgz" + dependencies: + apollo-utilities "^1.3.4" + tslib "^1.10.0" + +apollo-client@^2.6.10: + version "2.6.10" + resolved "https://registry.npmjs.org/apollo-client/-/apollo-client-2.6.10.tgz" dependencies: "@types/zen-observable" "^0.8.0" - "apollo-cache" "1.3.5" - "apollo-link" "^1.0.0" - "apollo-utilities" "1.3.4" - "symbol-observable" "^1.0.2" - "ts-invariant" "^0.4.0" - "tslib" "^1.10.0" - "zen-observable" "^0.8.0" - -"apollo-link-error@^1.0.3": - "integrity" "sha512-jAZOOahJU6bwSqb2ZyskEK1XdgUY9nkmeclCrW7Gddh1uasHVqmoYc4CKdb0/H0Y1J9lvaXKle2Wsw/Zx1AyUg==" - "resolved" "https://registry.npmjs.org/apollo-link-error/-/apollo-link-error-1.1.13.tgz" - "version" "1.1.13" - dependencies: - "apollo-link" "^1.2.14" - "apollo-link-http-common" "^0.2.16" - "tslib" "^1.9.3" - -"apollo-link-http-common@^0.2.16": - "integrity" "sha512-2tIhOIrnaF4UbQHf7kjeQA/EmSorB7+HyJIIrUjJOKBgnXwuexi8aMecRlqTIDWcyVXCeqLhUnztMa6bOH/jTg==" - "resolved" "https://registry.npmjs.org/apollo-link-http-common/-/apollo-link-http-common-0.2.16.tgz" - "version" "0.2.16" - dependencies: - "apollo-link" "^1.2.14" - "ts-invariant" "^0.4.0" - "tslib" "^1.9.3" - -"apollo-link-http@^1.3.1": - "integrity" "sha512-uWcqAotbwDEU/9+Dm9e1/clO7hTB2kQ/94JYcGouBVLjoKmTeJTUPQKcJGpPwUjZcSqgYicbFqQSoJIW0yrFvg==" - "resolved" "https://registry.npmjs.org/apollo-link-http/-/apollo-link-http-1.5.17.tgz" - "version" "1.5.17" - dependencies: - "apollo-link" "^1.2.14" - "apollo-link-http-common" "^0.2.16" - "tslib" "^1.9.3" - -"apollo-link@^1.0.0", "apollo-link@^1.0.6", "apollo-link@^1.2.14": - "integrity" "sha512-p67CMEFP7kOG1JZ0ZkYZwRDa369w5PIjtMjvrQd/HnIV8FRsHRqLqK+oAZQnFa1DDdZtOtHTi+aMIW6EatC2jg==" - "resolved" "https://registry.npmjs.org/apollo-link/-/apollo-link-1.2.14.tgz" - "version" "1.2.14" - dependencies: - "apollo-utilities" "^1.3.0" - "ts-invariant" "^0.4.0" - "tslib" "^1.9.3" - "zen-observable-ts" "^0.8.21" - -"apollo-utilities@^1.3.0", "apollo-utilities@^1.3.4", "apollo-utilities@1.3.4": - "integrity" "sha512-pk2hiWrCXMAy2fRPwEyhvka+mqwzeP60Jr1tRYi5xru+3ko94HI9o6lK0CT33/w4RDlxWchmdhDCrvdr+pHCig==" - "resolved" "https://registry.npmjs.org/apollo-utilities/-/apollo-utilities-1.3.4.tgz" - "version" "1.3.4" + apollo-cache "1.3.5" + apollo-link "^1.0.0" + apollo-utilities "1.3.4" + symbol-observable "^1.0.2" + ts-invariant "^0.4.0" + tslib "^1.10.0" + zen-observable "^0.8.0" + +apollo-link-error@^1.0.3: + version "1.1.13" + resolved "https://registry.npmjs.org/apollo-link-error/-/apollo-link-error-1.1.13.tgz" + dependencies: + apollo-link "^1.2.14" + apollo-link-http-common "^0.2.16" + tslib "^1.9.3" + +apollo-link-http-common@^0.2.16: + version "0.2.16" + resolved "https://registry.npmjs.org/apollo-link-http-common/-/apollo-link-http-common-0.2.16.tgz" + dependencies: + apollo-link "^1.2.14" + ts-invariant "^0.4.0" + tslib "^1.9.3" + +apollo-link-http@^1.3.1: + version "1.5.17" + resolved "https://registry.npmjs.org/apollo-link-http/-/apollo-link-http-1.5.17.tgz" + dependencies: + apollo-link "^1.2.14" + apollo-link-http-common "^0.2.16" + tslib "^1.9.3" + +apollo-link@^1.0.0, apollo-link@^1.0.6, apollo-link@^1.2.14: + version "1.2.14" + resolved "https://registry.npmjs.org/apollo-link/-/apollo-link-1.2.14.tgz" + dependencies: + apollo-utilities "^1.3.0" + ts-invariant "^0.4.0" + tslib "^1.9.3" + zen-observable-ts "^0.8.21" + +apollo-utilities@1.3.4, apollo-utilities@^1.3.0, apollo-utilities@^1.3.4: + version "1.3.4" + resolved "https://registry.npmjs.org/apollo-utilities/-/apollo-utilities-1.3.4.tgz" dependencies: "@wry/equality" "^0.1.2" - "fast-json-stable-stringify" "^2.0.0" - "ts-invariant" "^0.4.0" - "tslib" "^1.10.0" - -"appbase-js@^5.2.0": - "integrity" "sha512-4B/xXivn7i6CATxcRZauDplCL3m9imOmbLH7j+cW4xwkqSN3aHDtj/OuvJDQqaMG0Awon8HUiiuwdh0+yY9DAw==" - "resolved" "https://registry.npmjs.org/appbase-js/-/appbase-js-5.2.0.tgz" - "version" "5.2.0" - dependencies: - "cross-fetch" "^3.1.5" - "querystring" "^0.2.0" - "url-parser-lite" "^0.1.0" - -"appdirsjs@^1.2.4": - "integrity" "sha512-Quji6+8kLBC3NnBeo14nPDq0+2jUs5s3/xEye+udFHumHhRk4M7aAMXp/PBJqkKYGuuyR9M/6Dq7d2AViiGmhw==" - "resolved" "https://registry.npmjs.org/appdirsjs/-/appdirsjs-1.2.7.tgz" - "version" "1.2.7" - -"arg@^5.0.2": - "integrity" "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" - "resolved" "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz" - "version" "5.0.2" - -"argparse@^1.0.7": - "integrity" "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==" - "resolved" "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" - "version" "1.0.10" - dependencies: - "sprintf-js" "~1.0.2" - -"argparse@^2.0.1": - "integrity" "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - "resolved" "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" - "version" "2.0.1" - -"aria-query@^4.2.2": - "version" "4.2.2" - dependencies: - "@babel/runtime" "^7.10.2" - "@babel/runtime-corejs3" "^7.10.2" - -"aria-query@^5.0.0": - "version" "5.0.0" - -"arr-diff@^4.0.0": - "integrity" "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==" - "resolved" "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz" - "version" "4.0.0" - -"arr-flatten@^1.1.0": - "integrity" "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" - "resolved" "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz" - "version" "1.1.0" - -"arr-union@^3.1.0": - "integrity" "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==" - "resolved" "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz" - "version" "3.1.0" - -"array-flatten@^2.1.2": - "integrity" "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" - "resolved" "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz" - "version" "2.1.2" - -"array-flatten@1.1.1": - "integrity" "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" - "resolved" "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz" - "version" "1.1.1" - -"array-includes@^3.1.4", "array-includes@^3.1.5", "array-includes@^3.1.6": - "integrity" "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==" - "resolved" "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz" - "version" "3.1.6" - dependencies: - "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-union@^2.1.0": - "integrity" "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" - "resolved" "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" - "version" "2.1.0" - -"array-unique@^0.3.2": - "integrity" "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==" - "resolved" "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz" - "version" "0.3.2" - -"array.prototype.flat@^1.2.5": - "version" "1.3.1" - dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.1.4" - "es-abstract" "^1.20.4" - "es-shim-unscopables" "^1.0.0" - -"array.prototype.flatmap@^1.3.1": - "integrity" "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==" - "resolved" "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz" - "version" "1.3.1" - dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.1.4" - "es-abstract" "^1.20.4" - "es-shim-unscopables" "^1.0.0" - -"array.prototype.reduce@^1.0.5": - "integrity" "sha512-kDdugMl7id9COE8R7MHF5jWk7Dqt/fs4Pv+JXoICnYwqpjjjbUurz6w5fT5IG6brLdJhv6/VoHB0H7oyIBXd+Q==" - "resolved" "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.5.tgz" - "version" "1.0.5" - dependencies: - "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" - -"array.prototype.tosorted@^1.1.1": - "integrity" "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==" - "resolved" "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz" - "version" "1.1.1" - dependencies: - "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" - -"asap@~2.0.6": - "integrity" "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" - "resolved" "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz" - "version" "2.0.6" - -"assign-symbols@^1.0.0": - "integrity" "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==" - "resolved" "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz" - "version" "1.0.0" - -"ast-types-flow@^0.0.7": - "integrity" "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==" - "resolved" "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz" - "version" "0.0.7" - -"ast-types@0.14.2": - "integrity" "sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==" - "resolved" "https://registry.npmjs.org/ast-types/-/ast-types-0.14.2.tgz" - "version" "0.14.2" - dependencies: - "tslib" "^2.0.1" - -"astral-regex@^1.0.0": - "integrity" "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==" - "resolved" "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz" - "version" "1.0.0" - -"async-limiter@~1.0.0": - "integrity" "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" - "resolved" "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz" - "version" "1.0.1" - -"async@^3.2.2", "async@^3.2.3": - "integrity" "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" - "resolved" "https://registry.npmjs.org/async/-/async-3.2.4.tgz" - "version" "3.2.4" - -"asynckit@^0.4.0": - "integrity" "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - "resolved" "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" - "version" "0.4.0" - -"at-least-node@^1.0.0": - "integrity" "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" - "resolved" "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz" - "version" "1.0.0" - -"atob@^2.1.2": - "integrity" "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" - "resolved" "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz" - "version" "2.1.2" - -"attr-accept@^2.2.2": - "integrity" "sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg==" - "resolved" "https://registry.npmjs.org/attr-accept/-/attr-accept-2.2.2.tgz" - "version" "2.2.2" - -"autoprefixer@^10.4.13": - "version" "10.4.13" - dependencies: - "browserslist" "^4.21.4" - "caniuse-lite" "^1.0.30001426" - "fraction.js" "^4.2.0" - "normalize-range" "^0.1.2" - "picocolors" "^1.0.0" - "postcss-value-parser" "^4.2.0" - -"available-typed-arrays@^1.0.5": - "integrity" "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" - "resolved" "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz" - "version" "1.0.5" - -"aws-amplify@^5.2.6": - "integrity" "sha512-Xz3IpvCYrnVbp4AdPOhUuqibDPcZWRrHfuKrbhOme4VjEiUVeEyIZbj/4MEZwteeLFZ1MNYSaEMpyzi+9dwSQQ==" - "resolved" "https://registry.npmjs.org/aws-amplify/-/aws-amplify-5.2.6.tgz" - "version" "5.2.6" + fast-json-stable-stringify "^2.0.0" + ts-invariant "^0.4.0" + tslib "^1.10.0" + +appbase-js@^5.2.0: + version "5.2.0" + resolved "https://registry.npmjs.org/appbase-js/-/appbase-js-5.2.0.tgz" + dependencies: + cross-fetch "^3.1.5" + querystring "^0.2.0" + url-parser-lite "^0.1.0" + +arg@^5.0.2: + version "5.0.2" + resolved "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz" + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" + dependencies: + sprintf-js "~1.0.2" + +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" + +aria-query@5.1.3: + version "5.1.3" + resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.1.3.tgz#19db27cd101152773631396f7a95a3b58c22c35e" + dependencies: + deep-equal "^2.0.5" + +aria-query@^5.0.0, aria-query@^5.1.3: + version "5.3.0" + resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.3.0.tgz#650c569e41ad90b51b3d7df5e5eed1c7549c103e" + dependencies: + dequal "^2.0.3" + +array-buffer-byte-length@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz#fabe8bc193fea865f317fe7807085ee0dee5aead" + dependencies: + call-bind "^1.0.2" + is-array-buffer "^3.0.1" + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz" + +array-flatten@^2.1.2: + version "2.1.2" + resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz" + +array-includes@^3.1.5, array-includes@^3.1.6: + version "3.1.6" + resolved "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz" + dependencies: + 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-union@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" + +array.prototype.flat@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz#ffc6576a7ca3efc2f46a143b9d1dda9b4b3cf5e2" + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + es-shim-unscopables "^1.0.0" + +array.prototype.flatmap@^1.3.1: + version "1.3.1" + resolved "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz" + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + es-shim-unscopables "^1.0.0" + +array.prototype.reduce@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.5.tgz" + dependencies: + 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" + +array.prototype.tosorted@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz" + dependencies: + 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" + +asap@~2.0.6: + version "2.0.6" + resolved "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz" + +ast-types-flow@^0.0.7: + version "0.0.7" + resolved "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz" + +async@^3.2.3: + version "3.2.4" + resolved "https://registry.npmjs.org/async/-/async-3.2.4.tgz" + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" + +at-least-node@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz" + +attr-accept@^2.2.2: + version "2.2.2" + resolved "https://registry.npmjs.org/attr-accept/-/attr-accept-2.2.2.tgz" + +autoprefixer@^10.4.13: + version "10.4.14" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.14.tgz#e28d49902f8e759dd25b153264e862df2705f79d" + dependencies: + 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@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz" + +aws-amplify@^5.2.6: + version "5.2.6" + resolved "https://registry.npmjs.org/aws-amplify/-/aws-amplify-5.2.6.tgz" dependencies: "@aws-amplify/analytics" "6.2.0" "@aws-amplify/api" "5.2.1" @@ -5474,154 +4977,138 @@ "@aws-amplify/predictions" "5.2.3" "@aws-amplify/pubsub" "5.2.1" "@aws-amplify/storage" "5.4.1" - "tslib" "^2.0.0" + tslib "^2.0.0" -"axe-core@^4.4.3": - "version" "4.6.2" +axe-core@^4.6.2: + version "4.7.2" + resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.7.2.tgz#040a7342b20765cb18bb50b628394c21bccc17a0" -"axios@^0.26.1": - "integrity" "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==" - "resolved" "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz" - "version" "0.26.1" +axios@0.26.0: + version "0.26.0" + resolved "https://registry.npmjs.org/axios/-/axios-0.26.0.tgz" dependencies: - "follow-redirects" "^1.14.8" + follow-redirects "^1.14.8" -"axios@0.26.0": - "integrity" "sha512-lKoGLMYtHvFrPVt3r+RBMp9nh34N0M8zEfCWqdWZx6phynIEhQqAdydpyBAAG211zlhX9Rgu08cOamy6XjE5Og==" - "resolved" "https://registry.npmjs.org/axios/-/axios-0.26.0.tgz" - "version" "0.26.0" +axios@^0.26.1: + version "0.26.1" + resolved "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz" dependencies: - "follow-redirects" "^1.14.8" - -"axobject-query@^2.2.0": - "version" "2.2.0" + follow-redirects "^1.14.8" -"babel-core@^7.0.0-bridge.0": - "integrity" "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==" - "resolved" "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz" - "version" "7.0.0-bridge.0" +axobject-query@^3.1.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-3.2.1.tgz#39c378a6e3b06ca679f29138151e45b2b32da62a" + dependencies: + dequal "^2.0.3" -"babel-jest@^27.4.2", "babel-jest@^27.5.1": - "integrity" "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==" - "resolved" "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz" - "version" "27.5.1" +babel-jest@^27.4.2, babel-jest@^27.5.1: + version "27.5.1" + resolved "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz" dependencies: "@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" - -"babel-loader@^8.2.3": - "integrity" "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==" - "resolved" "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz" - "version" "8.3.0" - dependencies: - "find-cache-dir" "^3.3.1" - "loader-utils" "^2.0.0" - "make-dir" "^3.1.0" - "schema-utils" "^2.6.5" - -"babel-plugin-emotion@^10.0.27": - "integrity" "sha512-SMSkGoqTbTyUTDeuVuPIWifPdUGkTk1Kf9BWRiXIOIcuyMfsdp2EjeiiFvOzX8NOBvEh/ypKYvUh2rkgAJMCLA==" - "resolved" "https://registry.npmjs.org/babel-plugin-emotion/-/babel-plugin-emotion-10.2.2.tgz" - "version" "10.2.2" + 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" + +babel-loader@^8.2.3: + version "8.3.0" + resolved "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz" + dependencies: + find-cache-dir "^3.3.1" + loader-utils "^2.0.0" + make-dir "^3.1.0" + schema-utils "^2.6.5" + +babel-plugin-emotion@^10.0.27: + version "10.2.2" + resolved "https://registry.npmjs.org/babel-plugin-emotion/-/babel-plugin-emotion-10.2.2.tgz" dependencies: "@babel/helper-module-imports" "^7.0.0" "@emotion/hash" "0.8.0" "@emotion/memoize" "0.7.4" "@emotion/serialize" "^0.11.16" - "babel-plugin-macros" "^2.0.0" - "babel-plugin-syntax-jsx" "^6.18.0" - "convert-source-map" "^1.5.0" - "escape-string-regexp" "^1.0.5" - "find-root" "^1.1.0" - "source-map" "^0.5.7" - -"babel-plugin-istanbul@^6.1.1": - "integrity" "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==" - "resolved" "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz" - "version" "6.1.1" + babel-plugin-macros "^2.0.0" + babel-plugin-syntax-jsx "^6.18.0" + convert-source-map "^1.5.0" + escape-string-regexp "^1.0.5" + find-root "^1.1.0" + source-map "^0.5.7" + +babel-plugin-istanbul@^6.1.1: + version "6.1.1" + resolved "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz" dependencies: "@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" + istanbul-lib-instrument "^5.0.4" + test-exclude "^6.0.0" -"babel-plugin-jest-hoist@^27.5.1": - "integrity" "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==" - "resolved" "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz" - "version" "27.5.1" +babel-plugin-jest-hoist@^27.5.1: + version "27.5.1" + resolved "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz" dependencies: "@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@^2.0.0": - "integrity" "sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==" - "resolved" "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz" - "version" "2.8.0" +babel-plugin-macros@^2.0.0: + version "2.8.0" + resolved "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz" dependencies: "@babel/runtime" "^7.7.2" - "cosmiconfig" "^6.0.0" - "resolve" "^1.12.0" + cosmiconfig "^6.0.0" + resolve "^1.12.0" -"babel-plugin-macros@^3.1.0": - "integrity" "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==" - "resolved" "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz" - "version" "3.1.0" +babel-plugin-macros@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz" dependencies: "@babel/runtime" "^7.12.5" - "cosmiconfig" "^7.0.0" - "resolve" "^1.19.0" + cosmiconfig "^7.0.0" + resolve "^1.19.0" -"babel-plugin-named-asset-import@^0.3.8": - "integrity" "sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==" - "resolved" "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz" - "version" "0.3.8" +babel-plugin-named-asset-import@^0.3.8: + version "0.3.8" + resolved "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz" -"babel-plugin-polyfill-corejs2@^0.3.3": - "version" "0.3.3" +babel-plugin-polyfill-corejs2@^0.4.4: + version "0.4.4" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.4.tgz#9f9a0e1cd9d645cc246a5e094db5c3aa913ccd2b" dependencies: - "@babel/compat-data" "^7.17.7" - "@babel/helper-define-polyfill-provider" "^0.3.3" - "semver" "^6.1.1" + "@babel/compat-data" "^7.22.6" + "@babel/helper-define-polyfill-provider" "^0.4.1" + "@nicolo-ribaudo/semver-v6" "^6.3.3" -"babel-plugin-polyfill-corejs3@^0.6.0": - "version" "0.6.0" +babel-plugin-polyfill-corejs3@^0.8.2: + version "0.8.2" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.2.tgz#d406c5738d298cd9c66f64a94cf8d5904ce4cc5e" dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.3" - "core-js-compat" "^3.25.1" + "@babel/helper-define-polyfill-provider" "^0.4.1" + core-js-compat "^3.31.0" -"babel-plugin-polyfill-regenerator@^0.4.1": - "version" "0.4.1" +babel-plugin-polyfill-regenerator@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.1.tgz#ace7a5eced6dff7d5060c335c52064778216afd3" dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.3" - -"babel-plugin-syntax-jsx@^6.18.0": - "integrity" "sha512-qrPaCSo9c8RHNRHIotaufGbuOBN8rtdC4QrrFFc43vyWCCz7Kl7GL1PGaXtMGQZUXrkCjNEgxDfmAuAabr/rlw==" - "resolved" "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz" - "version" "6.18.0" + "@babel/helper-define-polyfill-provider" "^0.4.1" -"babel-plugin-syntax-trailing-function-commas@^7.0.0-beta.0": - "integrity" "sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==" - "resolved" "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-7.0.0-beta.0.tgz" - "version" "7.0.0-beta.0" +babel-plugin-syntax-jsx@^6.18.0: + version "6.18.0" + resolved "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz" -"babel-plugin-transform-react-remove-prop-types@^0.4.24": - "integrity" "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==" - "resolved" "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz" - "version" "0.4.24" +babel-plugin-transform-react-remove-prop-types@^0.4.24: + 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" -"babel-preset-current-node-syntax@^1.0.0": - "integrity" "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==" - "resolved" "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz" - "version" "1.0.1" +babel-preset-current-node-syntax@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz" dependencies: "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-syntax-bigint" "^7.8.3" @@ -5636,51 +5123,16 @@ "@babel/plugin-syntax-optional-chaining" "^7.8.3" "@babel/plugin-syntax-top-level-await" "^7.8.3" -"babel-preset-fbjs@^3.4.0": - "integrity" "sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow==" - "resolved" "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-3.4.0.tgz" - "version" "3.4.0" - dependencies: - "@babel/plugin-proposal-class-properties" "^7.0.0" - "@babel/plugin-proposal-object-rest-spread" "^7.0.0" - "@babel/plugin-syntax-class-properties" "^7.0.0" - "@babel/plugin-syntax-flow" "^7.0.0" - "@babel/plugin-syntax-jsx" "^7.0.0" - "@babel/plugin-syntax-object-rest-spread" "^7.0.0" - "@babel/plugin-transform-arrow-functions" "^7.0.0" - "@babel/plugin-transform-block-scoped-functions" "^7.0.0" - "@babel/plugin-transform-block-scoping" "^7.0.0" - "@babel/plugin-transform-classes" "^7.0.0" - "@babel/plugin-transform-computed-properties" "^7.0.0" - "@babel/plugin-transform-destructuring" "^7.0.0" - "@babel/plugin-transform-flow-strip-types" "^7.0.0" - "@babel/plugin-transform-for-of" "^7.0.0" - "@babel/plugin-transform-function-name" "^7.0.0" - "@babel/plugin-transform-literals" "^7.0.0" - "@babel/plugin-transform-member-expression-literals" "^7.0.0" - "@babel/plugin-transform-modules-commonjs" "^7.0.0" - "@babel/plugin-transform-object-super" "^7.0.0" - "@babel/plugin-transform-parameters" "^7.0.0" - "@babel/plugin-transform-property-literals" "^7.0.0" - "@babel/plugin-transform-react-display-name" "^7.0.0" - "@babel/plugin-transform-react-jsx" "^7.0.0" - "@babel/plugin-transform-shorthand-properties" "^7.0.0" - "@babel/plugin-transform-spread" "^7.0.0" - "@babel/plugin-transform-template-literals" "^7.0.0" - "babel-plugin-syntax-trailing-function-commas" "^7.0.0-beta.0" - -"babel-preset-jest@^27.5.1": - "integrity" "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==" - "resolved" "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "babel-plugin-jest-hoist" "^27.5.1" - "babel-preset-current-node-syntax" "^1.0.0" - -"babel-preset-react-app@^10.0.1": - "integrity" "sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg==" - "resolved" "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz" - "version" "10.0.1" +babel-preset-jest@^27.5.1: + version "27.5.1" + resolved "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz" + dependencies: + babel-plugin-jest-hoist "^27.5.1" + babel-preset-current-node-syntax "^1.0.0" + +babel-preset-react-app@^10.0.1: + version "10.0.1" + resolved "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz" dependencies: "@babel/core" "^7.16.0" "@babel/plugin-proposal-class-properties" "^7.16.0" @@ -5696,3688 +5148,2795 @@ "@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" - -"balanced-match@^1.0.0": - "integrity" "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - "resolved" "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" - "version" "1.0.2" - -"base-64@1.0.0": - "integrity" "sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg==" - "resolved" "https://registry.npmjs.org/base-64/-/base-64-1.0.0.tgz" - "version" "1.0.0" - -"base@^0.11.1": - "integrity" "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==" - "resolved" "https://registry.npmjs.org/base/-/base-0.11.2.tgz" - "version" "0.11.2" - dependencies: - "cache-base" "^1.0.1" - "class-utils" "^0.3.5" - "component-emitter" "^1.2.1" - "define-property" "^1.0.0" - "isobject" "^3.0.1" - "mixin-deep" "^1.2.0" - "pascalcase" "^0.1.1" - -"base64-js@^1.0.2", "base64-js@^1.1.2", "base64-js@^1.3.1": - "integrity" "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - "resolved" "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" - "version" "1.5.1" - -"batch@0.6.1": - "integrity" "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" - "resolved" "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz" - "version" "0.6.1" - -"bfj@^7.0.2": - "integrity" "sha512-+e/UqUzwmzJamNF50tBV6tZPTORow7gQ96iFow+8b562OdMpEK0BcJEq2OSPEDmAbSMBQ7PKZ87ubFkgxpYWgw==" - "resolved" "https://registry.npmjs.org/bfj/-/bfj-7.0.2.tgz" - "version" "7.0.2" - dependencies: - "bluebird" "^3.5.5" - "check-types" "^11.1.1" - "hoopy" "^0.1.4" - "tryer" "^1.0.1" - -"big.js@^5.2.2": - "integrity" "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" - "resolved" "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz" - "version" "5.2.2" - -"binary-extensions@^2.0.0": - "integrity" "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" - "resolved" "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" - "version" "2.2.0" - -"bl@^4.1.0": - "integrity" "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==" - "resolved" "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "buffer" "^5.5.0" - "inherits" "^2.0.4" - "readable-stream" "^3.4.0" - -"bluebird@^3.5.5": - "integrity" "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" - "resolved" "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz" - "version" "3.7.2" - -"body-parser@1.20.1": - "integrity" "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==" - "resolved" "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz" - "version" "1.20.1" - dependencies: - "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" - -"bonjour-service@^1.0.11": - "version" "1.0.14" - dependencies: - "array-flatten" "^2.1.2" - "dns-equal" "^1.0.0" - "fast-deep-equal" "^3.1.3" - "multicast-dns" "^7.2.5" - -"boolbase@^1.0.0", "boolbase@~1.0.0": - "integrity" "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" - "resolved" "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz" - "version" "1.0.0" - -"bowser@^2.11.0": - "integrity" "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==" - "resolved" "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz" - "version" "2.11.0" - -"brace-expansion@^1.1.7": - "integrity" "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==" - "resolved" "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" - "version" "1.1.11" - dependencies: - "balanced-match" "^1.0.0" - "concat-map" "0.0.1" - -"brace-expansion@^2.0.1": - "integrity" "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==" - "resolved" "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "balanced-match" "^1.0.0" - -"braces@^2.3.1": - "integrity" "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==" - "resolved" "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz" - "version" "2.3.2" - dependencies: - "arr-flatten" "^1.1.0" - "array-unique" "^0.3.2" - "extend-shallow" "^2.0.1" - "fill-range" "^4.0.0" - "isobject" "^3.0.1" - "repeat-element" "^1.1.2" - "snapdragon" "^0.8.1" - "snapdragon-node" "^2.0.1" - "split-string" "^3.0.2" - "to-regex" "^3.0.1" - -"braces@^3.0.2", "braces@~3.0.2": - "integrity" "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==" - "resolved" "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" - "version" "3.0.2" - dependencies: - "fill-range" "^7.0.1" - -"browser-process-hrtime@^1.0.0": - "integrity" "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" - "resolved" "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz" - "version" "1.0.0" - -"browserslist@^4.0.0", "browserslist@^4.14.5", "browserslist@^4.16.6", "browserslist@^4.18.1", "browserslist@^4.21.3", "browserslist@^4.21.4", "browserslist@>= 4", "browserslist@>= 4.21.0", "browserslist@>=4": - "version" "4.21.4" - dependencies: - "caniuse-lite" "^1.0.30001400" - "electron-to-chromium" "^1.4.251" - "node-releases" "^2.0.6" - "update-browserslist-db" "^1.0.9" - -"bser@2.1.1": - "integrity" "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==" - "resolved" "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz" - "version" "2.1.1" - dependencies: - "node-int64" "^0.4.0" - -"buffer-from@^1.0.0": - "integrity" "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - "resolved" "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" - "version" "1.1.2" - -"buffer@^5.4.3": - "integrity" "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==" - "resolved" "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz" - "version" "5.7.1" - dependencies: - "base64-js" "^1.3.1" - "ieee754" "^1.1.13" - -"buffer@^5.5.0": - "integrity" "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==" - "resolved" "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz" - "version" "5.7.1" - dependencies: - "base64-js" "^1.3.1" - "ieee754" "^1.1.13" - -"buffer@4.9.2": - "integrity" "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==" - "resolved" "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz" - "version" "4.9.2" - dependencies: - "base64-js" "^1.0.2" - "ieee754" "^1.1.4" - "isarray" "^1.0.0" - -"builtin-modules@^3.1.0": - "integrity" "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==" - "resolved" "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz" - "version" "3.3.0" - -"bytes@3.0.0": - "integrity" "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==" - "resolved" "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz" - "version" "3.0.0" - -"bytes@3.1.2": - "integrity" "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" - "resolved" "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz" - "version" "3.1.2" - -"cache-base@^1.0.1": - "integrity" "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==" - "resolved" "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "collection-visit" "^1.0.0" - "component-emitter" "^1.2.1" - "get-value" "^2.0.6" - "has-value" "^1.0.0" - "isobject" "^3.0.1" - "set-value" "^2.0.0" - "to-object-path" "^0.3.0" - "union-value" "^1.0.0" - "unset-value" "^1.0.0" - -"call-bind@^1.0.0", "call-bind@^1.0.2": - "integrity" "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==" - "resolved" "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "function-bind" "^1.1.1" - "get-intrinsic" "^1.0.2" - -"caller-callsite@^2.0.0": - "integrity" "sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==" - "resolved" "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "callsites" "^2.0.0" - -"caller-path@^2.0.0": - "integrity" "sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==" - "resolved" "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "caller-callsite" "^2.0.0" - -"callsites@^2.0.0": - "integrity" "sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==" - "resolved" "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz" - "version" "2.0.0" - -"callsites@^3.0.0": - "integrity" "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" - "resolved" "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" - "version" "3.1.0" - -"camel-case@^4.1.2": - "integrity" "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==" - "resolved" "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz" - "version" "4.1.2" - dependencies: - "pascal-case" "^3.1.2" - "tslib" "^2.0.3" - -"camelcase-css@^2.0.1": - "integrity" "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==" - "resolved" "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz" - "version" "2.0.1" - -"camelcase-keys@6.2.2": - "integrity" "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==" - "resolved" "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz" - "version" "6.2.2" - dependencies: - "camelcase" "^5.3.1" - "map-obj" "^4.0.0" - "quick-lru" "^4.0.1" - -"camelcase@^5.0.0": - "integrity" "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - "resolved" "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" - "version" "5.3.1" - -"camelcase@^5.3.1": - "integrity" "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - "resolved" "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" - "version" "5.3.1" - -"camelcase@^6.0.0", "camelcase@^6.2.0", "camelcase@^6.2.1": - "integrity" "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" - "resolved" "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" - "version" "6.3.0" - -"can-use-dom@^0.1.0": - "integrity" "sha512-ceOhN1DL7Y4O6M0j9ICgmTYziV89WMd96SvSl0REd8PMgrY0B/WBOPoed5S1KUmJqXgUXh8gzSe6E3ae27upsQ==" - "resolved" "https://registry.npmjs.org/can-use-dom/-/can-use-dom-0.1.0.tgz" - "version" "0.1.0" - -"caniuse-api@^3.0.0": - "integrity" "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==" - "resolved" "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "browserslist" "^4.0.0" - "caniuse-lite" "^1.0.0" - "lodash.memoize" "^4.1.2" - "lodash.uniq" "^4.5.0" - -"caniuse-lite@^1.0.0", "caniuse-lite@^1.0.30001400", "caniuse-lite@^1.0.30001426": - "version" "1.0.30001442" - -"case-sensitive-paths-webpack-plugin@^2.4.0": - "integrity" "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==" - "resolved" "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz" - "version" "2.4.0" - -"chalk@^2.0.0": - "integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==" - "resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" - "version" "2.4.2" - dependencies: - "ansi-styles" "^3.2.1" - "escape-string-regexp" "^1.0.5" - "supports-color" "^5.3.0" - -"chalk@^2.4.1": - "integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==" - "resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" - "version" "2.4.2" - dependencies: - "ansi-styles" "^3.2.1" - "escape-string-regexp" "^1.0.5" - "supports-color" "^5.3.0" - -"chalk@^3.0.0": - "integrity" "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==" - "resolved" "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "ansi-styles" "^4.1.0" - "supports-color" "^7.1.0" - -"chalk@^4.0.0", "chalk@^4.0.2", "chalk@^4.1.0", "chalk@^4.1.2": - "integrity" "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==" - "resolved" "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" - "version" "4.1.2" - dependencies: - "ansi-styles" "^4.1.0" - "supports-color" "^7.1.0" - -"char-regex@^1.0.2": - "integrity" "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==" - "resolved" "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz" - "version" "1.0.2" - -"char-regex@^2.0.0": - "integrity" "sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw==" - "resolved" "https://registry.npmjs.org/char-regex/-/char-regex-2.0.1.tgz" - "version" "2.0.1" - -"check-types@^11.1.1": - "integrity" "sha512-HBiYvXvn9Z70Z88XKjz3AEKd4HJhBXsa3j7xFnITAzoS8+q6eIGi8qDB8FKPBAjtuxjI/zFpwuiCb8oDtKOYrA==" - "resolved" "https://registry.npmjs.org/check-types/-/check-types-11.2.2.tgz" - "version" "11.2.2" - -"chokidar@^3.4.2", "chokidar@^3.5.3": - "integrity" "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==" - "resolved" "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz" - "version" "3.5.3" - dependencies: - "anymatch" "~3.1.2" - "braces" "~3.0.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" - optionalDependencies: - "fsevents" "~2.3.2" - -"chrome-trace-event@^1.0.2": - "integrity" "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==" - "resolved" "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz" - "version" "1.0.3" - -"ci-info@^2.0.0": - "integrity" "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" - "resolved" "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz" - "version" "2.0.0" - -"ci-info@^3.2.0": - "version" "3.7.1" - -"cjs-module-lexer@^1.0.0": - "version" "1.2.2" - -"class-utils@^0.3.5": - "integrity" "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==" - "resolved" "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz" - "version" "0.3.6" - dependencies: - "arr-union" "^3.1.0" - "define-property" "^0.2.5" - "isobject" "^3.0.0" - "static-extend" "^0.1.1" - -"classnames@^2.3.1": - "version" "2.3.1" - -"clean-css@^5.2.2": - "version" "5.3.1" - dependencies: - "source-map" "~0.6.0" - -"cli-cursor@^3.1.0": - "integrity" "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==" - "resolved" "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "restore-cursor" "^3.1.0" - -"cli-spinners@^2.5.0": - "integrity" "sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g==" - "resolved" "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.0.tgz" - "version" "2.9.0" - -"cliui@^6.0.0": - "integrity" "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==" - "resolved" "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz" - "version" "6.0.0" - dependencies: - "string-width" "^4.2.0" - "strip-ansi" "^6.0.0" - "wrap-ansi" "^6.2.0" - -"cliui@^7.0.2": - "integrity" "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==" - "resolved" "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz" - "version" "7.0.4" - dependencies: - "string-width" "^4.2.0" - "strip-ansi" "^6.0.0" - "wrap-ansi" "^7.0.0" - -"cliui@^8.0.1": - "integrity" "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==" - "resolved" "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz" - "version" "8.0.1" - dependencies: - "string-width" "^4.2.0" - "strip-ansi" "^6.0.1" - "wrap-ansi" "^7.0.0" - -"clone-deep@^4.0.1": - "integrity" "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==" - "resolved" "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz" - "version" "4.0.1" - dependencies: - "is-plain-object" "^2.0.4" - "kind-of" "^6.0.2" - "shallow-clone" "^3.0.0" - -"clone@^1.0.2": - "integrity" "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==" - "resolved" "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz" - "version" "1.0.4" - -"clsx@^1.1.0", "clsx@^1.1.1", "clsx@^1.2.1": - "integrity" "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==" - "resolved" "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz" - "version" "1.2.1" - -"co@^4.6.0": - "integrity" "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==" - "resolved" "https://registry.npmjs.org/co/-/co-4.6.0.tgz" - "version" "4.6.0" - -"coa@^2.0.2": - "integrity" "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==" - "resolved" "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz" - "version" "2.0.2" - dependencies: - "@types/q" "^1.5.1" - "chalk" "^2.4.1" - "q" "^1.1.2" - -"collect-v8-coverage@^1.0.0": - "integrity" "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==" - "resolved" "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz" - "version" "1.0.1" - -"collection-visit@^1.0.0": - "integrity" "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==" - "resolved" "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "map-visit" "^1.0.0" - "object-visit" "^1.0.0" - -"color-convert@^1.9.0": - "integrity" "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==" - "resolved" "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" - "version" "1.9.3" - dependencies: - "color-name" "1.1.3" - -"color-convert@^2.0.1": - "integrity" "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==" - "resolved" "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "color-name" "~1.1.4" - -"color-name@^1.1.4", "color-name@~1.1.4": - "integrity" "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - "resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" - "version" "1.1.4" - -"color-name@1.1.3": - "integrity" "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - "resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" - "version" "1.1.3" - -"colord@^2.9.1": - "integrity" "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" - "resolved" "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz" - "version" "2.9.3" - -"colorette@^1.0.7": - "integrity" "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==" - "resolved" "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz" - "version" "1.4.0" - -"colorette@^2.0.10": - "version" "2.0.19" - -"combined-stream@^1.0.8": - "integrity" "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==" - "resolved" "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz" - "version" "1.0.8" - dependencies: - "delayed-stream" "~1.0.0" - -"command-exists@^1.2.8": - "integrity" "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==" - "resolved" "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz" - "version" "1.2.9" - -"commander@^2.20.0": - "integrity" "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - "resolved" "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" - "version" "2.20.3" - -"commander@^2.20.3": - "integrity" "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - "resolved" "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" - "version" "2.20.3" - -"commander@^4.0.0": - "integrity" "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==" - "resolved" "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz" - "version" "4.1.1" - -"commander@^7.2.0": - "integrity" "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" - "resolved" "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz" - "version" "7.2.0" - -"commander@^8.3.0": - "integrity" "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==" - "resolved" "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz" - "version" "8.3.0" - -"commander@^9.4.1": - "integrity" "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==" - "resolved" "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz" - "version" "9.5.0" - -"commander@~2.13.0": - "integrity" "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==" - "resolved" "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz" - "version" "2.13.0" - -"common-path-prefix@^3.0.0": - "integrity" "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==" - "resolved" "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz" - "version" "3.0.0" - -"common-tags@^1.8.0": - "integrity" "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==" - "resolved" "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz" - "version" "1.8.2" - -"commondir@^1.0.1": - "integrity" "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" - "resolved" "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz" - "version" "1.0.1" - -"component-emitter@^1.2.1": - "integrity" "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" - "resolved" "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz" - "version" "1.3.0" - -"compressible@~2.0.16": - "integrity" "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==" - "resolved" "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz" - "version" "2.0.18" - dependencies: - "mime-db" ">= 1.43.0 < 2" - -"compression@^1.7.1", "compression@^1.7.4": - "integrity" "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==" - "resolved" "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz" - "version" "1.7.4" - dependencies: - "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" - -"concat-map@0.0.1": - "integrity" "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - "resolved" "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" - "version" "0.0.1" - -"confusing-browser-globals@^1.0.11": - "integrity" "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==" - "resolved" "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz" - "version" "1.0.11" - -"connect-history-api-fallback@^2.0.0": - "integrity" "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==" - "resolved" "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz" - "version" "2.0.0" - -"connect@^3.6.5": - "integrity" "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==" - "resolved" "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz" - "version" "3.7.0" - dependencies: - "debug" "2.6.9" - "finalhandler" "1.1.2" - "parseurl" "~1.3.3" - "utils-merge" "1.0.1" - -"content-disposition@0.5.4": - "integrity" "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==" - "resolved" "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz" - "version" "0.5.4" - dependencies: - "safe-buffer" "5.2.1" - -"content-type@~1.0.4": - "version" "1.0.4" - -"convert-source-map@^1.4.0", "convert-source-map@^1.5.0", "convert-source-map@^1.6.0", "convert-source-map@^1.7.0": - "integrity" "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" - "resolved" "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz" - "version" "1.9.0" - -"cookie-signature@1.0.6": - "integrity" "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" - "resolved" "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz" - "version" "1.0.6" - -"cookie@^0.4.0": - "integrity" "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==" - "resolved" "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz" - "version" "0.4.2" - -"cookie@0.5.0": - "integrity" "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==" - "resolved" "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz" - "version" "0.5.0" - -"copy-descriptor@^0.1.0": - "integrity" "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==" - "resolved" "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz" - "version" "0.1.1" - -"copy-to-clipboard@^3": - "version" "3.3.1" - dependencies: - "toggle-selection" "^1.0.6" - -"core-js-compat@^3.25.1": - "version" "3.27.1" - dependencies: - "browserslist" "^4.21.4" - -"core-js-pure@^3.23.3", "core-js-pure@^3.25.1": - "version" "3.27.1" - -"core-js@^3.0.1": - "version" "3.21.1" - -"core-js@^3.19.2": - "version" "3.27.1" - -"core-util-is@~1.0.0": - "integrity" "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - "resolved" "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz" - "version" "1.0.3" - -"cosmiconfig@^5.0.5": - "integrity" "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==" - "resolved" "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz" - "version" "5.2.1" - dependencies: - "import-fresh" "^2.0.0" - "is-directory" "^0.3.1" - "js-yaml" "^3.13.1" - "parse-json" "^4.0.0" - -"cosmiconfig@^5.1.0": - "integrity" "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==" - "resolved" "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz" - "version" "5.2.1" + babel-plugin-macros "^3.1.0" + babel-plugin-transform-react-remove-prop-types "^0.4.24" + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" + +base-64@1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/base-64/-/base-64-1.0.0.tgz" + +base64-js@^1.0.2, base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" + +batch@0.6.1: + version "0.6.1" + resolved "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz" + +bfj@^7.0.2: + version "7.0.2" + resolved "https://registry.npmjs.org/bfj/-/bfj-7.0.2.tgz" + dependencies: + bluebird "^3.5.5" + check-types "^11.1.1" + hoopy "^0.1.4" + tryer "^1.0.1" + +big.js@^5.2.2: + version "5.2.2" + resolved "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz" + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" + +bluebird@^3.5.5: + version "3.7.2" + resolved "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz" + +body-parser@1.20.1: + version "1.20.1" + resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz" + dependencies: + 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" + +bonjour-service@^1.0.11: + version "1.1.1" + resolved "https://registry.yarnpkg.com/bonjour-service/-/bonjour-service-1.1.1.tgz#960948fa0e0153f5d26743ab15baf8e33752c135" dependencies: - "import-fresh" "^2.0.0" - "is-directory" "^0.3.1" - "js-yaml" "^3.13.1" - "parse-json" "^4.0.0" + array-flatten "^2.1.2" + dns-equal "^1.0.0" + fast-deep-equal "^3.1.3" + multicast-dns "^7.2.5" -"cosmiconfig@^6.0.0": - "integrity" "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==" - "resolved" "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz" - "version" "6.0.0" - dependencies: - "@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" +boolbase@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz" -"cosmiconfig@^7.0.0": - "integrity" "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==" - "resolved" "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz" - "version" "7.1.0" - dependencies: - "@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-env@^5.2.0": - "integrity" "sha512-1yHhtcfAd1r4nwQgknowuUNfIT9E8dOMMspC36g45dN+iD1blloi7xp8X/xAIDnjHWyt1uQ8PHk2fkNaym7soQ==" - "resolved" "https://registry.npmjs.org/cross-env/-/cross-env-5.2.1.tgz" - "version" "5.2.1" - dependencies: - "cross-spawn" "^6.0.5" - -"cross-fetch@^3.0.4", "cross-fetch@^3.1.5": - "integrity" "sha512-riRvo06crlE8HiqOwIpQhxwdOk4fOeR7FVM/wXoxchFEqMNUjvbs3bfo4OTgMEMHzppd4DxFBDbyySj8Cv781g==" - "resolved" "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.6.tgz" - "version" "3.1.6" - dependencies: - "node-fetch" "^2.6.11" - -"cross-spawn@^6.0.0": - "integrity" "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==" - "resolved" "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz" - "version" "6.0.5" - dependencies: - "nice-try" "^1.0.4" - "path-key" "^2.0.1" - "semver" "^5.5.0" - "shebang-command" "^1.2.0" - "which" "^1.2.9" - -"cross-spawn@^6.0.5": - "integrity" "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==" - "resolved" "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz" - "version" "6.0.5" - dependencies: - "nice-try" "^1.0.4" - "path-key" "^2.0.1" - "semver" "^5.5.0" - "shebang-command" "^1.2.0" - "which" "^1.2.9" - -"cross-spawn@^7.0.0", "cross-spawn@^7.0.2", "cross-spawn@^7.0.3": - "integrity" "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==" - "resolved" "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" - "version" "7.0.3" - dependencies: - "path-key" "^3.1.0" - "shebang-command" "^2.0.0" - "which" "^2.0.1" - -"crypto-random-string@^2.0.0": - "integrity" "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==" - "resolved" "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz" - "version" "2.0.0" - -"css-blank-pseudo@^3.0.3": - "integrity" "sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==" - "resolved" "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz" - "version" "3.0.3" - dependencies: - "postcss-selector-parser" "^6.0.9" - -"css-declaration-sorter@^6.3.1": - "version" "6.3.1" - -"css-has-pseudo@^3.0.4": - "integrity" "sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==" - "resolved" "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz" - "version" "3.0.4" - dependencies: - "postcss-selector-parser" "^6.0.9" - -"css-loader@^6.5.1": - "version" "6.7.3" - dependencies: - "icss-utils" "^5.1.0" - "postcss" "^8.4.19" - "postcss-modules-extract-imports" "^3.0.0" - "postcss-modules-local-by-default" "^4.0.0" - "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@^3.2.0": - "integrity" "sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==" - "resolved" "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz" - "version" "3.4.1" - dependencies: - "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" - -"css-prefers-color-scheme@^6.0.3": - "integrity" "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==" - "resolved" "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz" - "version" "6.0.3" - -"css-select-base-adapter@^0.1.1": - "integrity" "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" - "resolved" "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz" - "version" "0.1.1" - -"css-select@^2.0.0": - "integrity" "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==" - "resolved" "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "boolbase" "^1.0.0" - "css-what" "^3.2.1" - "domutils" "^1.7.0" - "nth-check" "^1.0.2" - -"css-select@^4.1.3": - "integrity" "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==" - "resolved" "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz" - "version" "4.3.0" - dependencies: - "boolbase" "^1.0.0" - "css-what" "^6.0.1" - "domhandler" "^4.3.1" - "domutils" "^2.8.0" - "nth-check" "^2.0.1" - -"css-tree@^1.1.2", "css-tree@^1.1.3": - "integrity" "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==" - "resolved" "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz" - "version" "1.1.3" - dependencies: - "mdn-data" "2.0.14" - "source-map" "^0.6.1" - -"css-tree@1.0.0-alpha.37": - "integrity" "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==" - "resolved" "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz" - "version" "1.0.0-alpha.37" - dependencies: - "mdn-data" "2.0.4" - "source-map" "^0.6.1" - -"css-vendor@^2.0.8": - "integrity" "sha512-x9Aq0XTInxrkuFeHKbYC7zWY8ai7qJ04Kxd9MnvbC1uO5DagxoHQjm4JvG+vCdXOoFtCjbL2XSZfxmoYa9uQVQ==" - "resolved" "https://registry.npmjs.org/css-vendor/-/css-vendor-2.0.8.tgz" - "version" "2.0.8" +bowser@^2.11.0: + version "2.11.0" + resolved "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz" + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" dependencies: - "@babel/runtime" "^7.8.3" - "is-in-browser" "^1.0.2" - -"css-what@^3.2.1": - "integrity" "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==" - "resolved" "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz" - "version" "3.4.2" - -"css-what@^6.0.1": - "integrity" "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==" - "resolved" "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz" - "version" "6.1.0" - -"css.escape@^1.5.1": - "integrity" "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==" - "resolved" "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz" - "version" "1.5.1" - -"css@^3.0.0": - "version" "3.0.0" - dependencies: - "inherits" "^2.0.4" - "source-map" "^0.6.1" - "source-map-resolve" "^0.6.0" - -"cssdb@^7.1.0": - "version" "7.2.1" - -"cssesc@^3.0.0": - "integrity" "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" - "resolved" "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz" - "version" "3.0.0" - -"cssfilter@0.0.10": - "integrity" "sha512-FAaLDaplstoRsDR8XGYH51znUN0UY7nMc6Z9/fvE8EXGwvJE9hu7W2vHwx1+bd6gCYnln9nLbzxFTrcO9YQDZw==" - "resolved" "https://registry.npmjs.org/cssfilter/-/cssfilter-0.0.10.tgz" - "version" "0.0.10" - -"cssnano-preset-default@^5.2.13": - "version" "5.2.13" - dependencies: - "css-declaration-sorter" "^6.3.1" - "cssnano-utils" "^3.1.0" - "postcss-calc" "^8.2.3" - "postcss-colormin" "^5.3.0" - "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.3" - "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.1" - "postcss-reduce-transforms" "^5.1.0" - "postcss-svgo" "^5.1.0" - "postcss-unique-selectors" "^5.1.1" - -"cssnano-utils@^3.1.0": - "integrity" "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==" - "resolved" "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz" - "version" "3.1.0" - -"cssnano@^5.0.6": - "version" "5.1.14" - dependencies: - "cssnano-preset-default" "^5.2.13" - "lilconfig" "^2.0.3" - "yaml" "^1.10.2" - -"csso@^4.0.2", "csso@^4.2.0": - "integrity" "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==" - "resolved" "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz" - "version" "4.2.0" - dependencies: - "css-tree" "^1.1.2" - -"cssom@^0.4.4": - "integrity" "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" - "resolved" "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz" - "version" "0.4.4" - -"cssom@~0.3.6": - "integrity" "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" - "resolved" "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz" - "version" "0.3.8" - -"cssstyle@^2.3.0": - "integrity" "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==" - "resolved" "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz" - "version" "2.3.0" - dependencies: - "cssom" "~0.3.6" - -"csstype@^2.5.7": - "version" "2.6.20" - -"csstype@^3.0.11", "csstype@^3.0.2": - "version" "3.0.11" - -"damerau-levenshtein@^1.0.8": - "integrity" "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==" - "resolved" "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz" - "version" "1.0.8" - -"data-urls@^2.0.0": - "integrity" "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==" - "resolved" "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "abab" "^2.0.3" - "whatwg-mimetype" "^2.3.0" - "whatwg-url" "^8.0.0" - -"date-fns@^2.0.0", "date-fns@^2.25.0", "date-fns@^2.28.0": - "version" "2.28.0" - -"dayjs@^1.10.7", "dayjs@^1.11.0", "dayjs@^1.11.7", "dayjs@^1.8.15", "dayjs@^1.8.17": - "integrity" "sha512-LcgxzFoWMEPO7ggRv1Y2N31hUf2R0Vj7fuy/m+Bg1K8rr+KAs1AEy4y9jd5DXe8pbHgX+srkHNS7TH6Q6ZhYeQ==" - "resolved" "https://registry.npmjs.org/dayjs/-/dayjs-1.11.8.tgz" - "version" "1.11.8" - -"debug@^2.2.0": - "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" - "resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" - "version" "2.6.9" - dependencies: - "ms" "2.0.0" - -"debug@^2.3.3": - "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" - "resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" - "version" "2.6.9" - dependencies: - "ms" "2.0.0" - -"debug@^2.6.0": - "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" - "resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" - "version" "2.6.9" - dependencies: - "ms" "2.0.0" - -"debug@^2.6.9": - "version" "2.6.9" + balanced-match "^1.0.0" + concat-map "0.0.1" + +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz" dependencies: - "ms" "2.0.0" + balanced-match "^1.0.0" -"debug@^3.2.7": - "integrity" "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==" - "resolved" "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" - "version" "3.2.7" +braces@^3.0.2, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" dependencies: - "ms" "^2.1.1" + fill-range "^7.0.1" + +browser-process-hrtime@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz" + +browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.18.1, browserslist@^4.21.4, browserslist@^4.21.5, browserslist@^4.21.9: + version "4.21.9" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.9.tgz#e11bdd3c313d7e2a9e87e8b4b0c7872b13897635" + dependencies: + caniuse-lite "^1.0.30001503" + electron-to-chromium "^1.4.431" + node-releases "^2.0.12" + update-browserslist-db "^1.0.11" -"debug@^4.1.0", "debug@^4.1.1", "debug@^4.3.2", "debug@^4.3.4", "debug@4": - "integrity" "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==" - "resolved" "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" - "version" "4.3.4" +bser@2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz" dependencies: - "ms" "2.1.2" + node-int64 "^0.4.0" + +buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" + +buffer@4.9.2: + version "4.9.2" + resolved "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz" + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + isarray "^1.0.0" -"debug@2.6.9": - "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" - "resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" - "version" "2.6.9" +buffer@^5.4.3: + version "5.7.1" + resolved "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz" dependencies: - "ms" "2.0.0" + base64-js "^1.3.1" + ieee754 "^1.1.13" + +builtin-modules@^3.1.0: + version "3.3.0" + resolved "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz" + +bytes@3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz" -"decamelize@^1.2.0": - "integrity" "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==" - "resolved" "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" - "version" "1.2.0" +bytes@3.1.2: + version "3.1.2" + resolved "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz" -"decimal.js@^10.2.1": - "integrity" "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==" - "resolved" "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz" - "version" "10.4.3" +call-bind@^1.0.0, call-bind@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz" + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.2" -"decode-uri-component@^0.2.0": - "integrity" "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==" - "resolved" "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz" - "version" "0.2.2" +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" -"dedent@^0.7.0": - "integrity" "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==" - "resolved" "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz" - "version" "0.7.0" +camel-case@^4.1.2: + version "4.1.2" + resolved "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz" + dependencies: + pascal-case "^3.1.2" + tslib "^2.0.3" + +camelcase-css@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz" -"deep-is@^0.1.3", "deep-is@~0.1.3": - "integrity" "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" - "resolved" "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" - "version" "0.1.4" +camelcase-keys@6.2.2: + version "6.2.2" + resolved "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz" + dependencies: + camelcase "^5.3.1" + map-obj "^4.0.0" + quick-lru "^4.0.1" -"deepmerge@^2.1.1": - "integrity" "sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA==" - "resolved" "https://registry.npmjs.org/deepmerge/-/deepmerge-2.2.1.tgz" - "version" "2.2.1" +camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" -"deepmerge@^3.2.0": - "integrity" "sha512-GRQOafGHwMHpjPx9iCvTgpu9NojZ49q794EEL94JVEw6VaeA8XTUyBKvAkOOjBX9oJNiV6G3P+T+tihFjo2TqA==" - "resolved" "https://registry.npmjs.org/deepmerge/-/deepmerge-3.3.0.tgz" - "version" "3.3.0" +camelcase@^6.2.0, camelcase@^6.2.1: + version "6.3.0" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" -"deepmerge@^4.2.2": - "version" "4.2.2" +can-use-dom@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/can-use-dom/-/can-use-dom-0.1.0.tgz" -"default-gateway@^6.0.3": - "integrity" "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==" - "resolved" "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz" - "version" "6.0.3" +caniuse-api@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz" dependencies: - "execa" "^5.0.0" + browserslist "^4.0.0" + caniuse-lite "^1.0.0" + lodash.memoize "^4.1.2" + lodash.uniq "^4.5.0" + +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001464, caniuse-lite@^1.0.30001503: + version "1.0.30001514" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001514.tgz#e2a7e184a23affc9367b7c8d734e7ec4628c1309" -"defaults@^1.0.3": - "integrity" "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==" - "resolved" "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz" - "version" "1.0.4" +case-sensitive-paths-webpack-plugin@^2.4.0: + version "2.4.0" + resolved "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz" + +chalk@^2.0.0, chalk@^2.4.1: + version "2.4.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" dependencies: - "clone" "^1.0.2" + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" -"define-lazy-prop@^2.0.0": - "integrity" "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==" - "resolved" "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz" - "version" "2.0.0" +chalk@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz" + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" -"define-properties@^1.1.3", "define-properties@^1.1.4": - "version" "1.1.4" +chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.2: + version "4.1.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" dependencies: - "has-property-descriptors" "^1.0.0" - "object-keys" "^1.1.1" + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +char-regex@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz" + +char-regex@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/char-regex/-/char-regex-2.0.1.tgz" + +check-types@^11.1.1: + version "11.2.2" + resolved "https://registry.npmjs.org/check-types/-/check-types-11.2.2.tgz" + +chokidar@^3.4.2, chokidar@^3.5.3: + version "3.5.3" + resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz" + dependencies: + anymatch "~3.1.2" + braces "~3.0.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" + optionalDependencies: + fsevents "~2.3.2" -"define-property@^0.2.5": - "integrity" "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==" - "resolved" "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz" - "version" "0.2.5" - dependencies: - "is-descriptor" "^0.1.0" +chrome-trace-event@^1.0.2: + version "1.0.3" + resolved "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz" -"define-property@^1.0.0": - "integrity" "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==" - "resolved" "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "is-descriptor" "^1.0.0" +ci-info@^3.2.0: + version "3.8.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.8.0.tgz#81408265a5380c929f0bc665d62256628ce9ef91" -"define-property@^2.0.2": - "integrity" "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==" - "resolved" "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz" - "version" "2.0.2" - dependencies: - "is-descriptor" "^1.0.2" - "isobject" "^3.0.1" - -"defined@^1.0.0": - "version" "1.0.1" - -"delayed-stream@~1.0.0": - "integrity" "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" - "resolved" "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" - "version" "1.0.0" - -"denodeify@^1.2.1": - "integrity" "sha512-KNTihKNmQENUZeKu5fzfpzRqR5S2VMp4gl9RFHiWzj9DfvYQPMJ6XHKNaQxaGCXwPk6y9yme3aUoaiAe+KX+vg==" - "resolved" "https://registry.npmjs.org/denodeify/-/denodeify-1.2.1.tgz" - "version" "1.2.1" - -"depd@~1.1.2": - "integrity" "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==" - "resolved" "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz" - "version" "1.1.2" - -"depd@2.0.0": - "integrity" "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" - "resolved" "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz" - "version" "2.0.0" - -"deprecated-react-native-prop-types@^3.0.1": - "integrity" "sha512-J0jCJcsk4hMlIb7xwOZKLfMpuJn6l8UtrPEzzQV5ewz5gvKNYakhBuq9h2rWX7YwHHJZFhU5W8ye7dB9oN8VcQ==" - "resolved" "https://registry.npmjs.org/deprecated-react-native-prop-types/-/deprecated-react-native-prop-types-3.0.1.tgz" - "version" "3.0.1" - dependencies: - "@react-native/normalize-color" "*" - "invariant" "*" - "prop-types" "*" - -"destroy@1.2.0": - "integrity" "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" - "resolved" "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz" - "version" "1.2.0" - -"detect-newline@^3.0.0": - "integrity" "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==" - "resolved" "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz" - "version" "3.1.0" +cjs-module-lexer@^1.0.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz#6c370ab19f8a3394e318fe682686ec0ac684d107" -"detect-node@^2.0.4": - "integrity" "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" - "resolved" "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz" - "version" "2.1.0" +classnames@^2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.2.tgz#351d813bf0137fcc6a76a16b88208d2560a0d924" -"detect-port-alt@^1.1.6": - "integrity" "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==" - "resolved" "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz" - "version" "1.1.6" +clean-css@^5.2.2: + version "5.3.2" + resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-5.3.2.tgz#70ecc7d4d4114921f5d298349ff86a31a9975224" dependencies: - "address" "^1.0.1" - "debug" "^2.6.0" + source-map "~0.6.0" -"detective@^5.2.1": - "version" "5.2.1" +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz" dependencies: - "acorn-node" "^1.8.2" - "defined" "^1.0.0" - "minimist" "^1.2.6" + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^7.0.0" -"didyoumean@^1.2.2": - "integrity" "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" - "resolved" "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz" - "version" "1.2.2" +clsx@^1.1.0, clsx@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz" -"diff-sequences@^27.5.1": - "integrity" "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==" - "resolved" "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz" - "version" "27.5.1" +co@^4.6.0: + version "4.6.0" + resolved "https://registry.npmjs.org/co/-/co-4.6.0.tgz" -"dir-glob@^3.0.1": - "integrity" "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==" - "resolved" "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" - "version" "3.0.1" - dependencies: - "path-type" "^4.0.0" - -"dlv@^1.1.3": - "integrity" "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" - "resolved" "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz" - "version" "1.1.3" - -"dns-equal@^1.0.0": - "integrity" "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==" - "resolved" "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz" - "version" "1.0.0" - -"dns-packet@^5.2.2": - "version" "5.4.0" +coa@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz" dependencies: - "@leichtgewicht/ip-codec" "^2.0.1" + "@types/q" "^1.5.1" + chalk "^2.4.1" + q "^1.1.2" + +collect-v8-coverage@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz" -"doctrine@^2.1.0": - "integrity" "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==" - "resolved" "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz" - "version" "2.1.0" +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" dependencies: - "esutils" "^2.0.2" + color-name "1.1.3" -"doctrine@^3.0.0": - "integrity" "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==" - "resolved" "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" - "version" "3.0.0" +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" dependencies: - "esutils" "^2.0.2" + color-name "~1.1.4" -"dom-accessibility-api@^0.5.6", "dom-accessibility-api@^0.5.9": - "version" "0.5.13" +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" -"dom-converter@^0.2.0": - "integrity" "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==" - "resolved" "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz" - "version" "0.2.0" - dependencies: - "utila" "~0.4" +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" -"dom-helpers@^5.0.1": - "integrity" "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==" - "resolved" "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz" - "version" "5.2.1" - dependencies: - "@babel/runtime" "^7.8.7" - "csstype" "^3.0.2" - -"dom-serializer@^1.0.1": - "integrity" "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==" - "resolved" "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz" - "version" "1.4.1" - dependencies: - "domelementtype" "^2.0.1" - "domhandler" "^4.2.0" - "entities" "^2.0.0" - -"dom-serializer@0": - "integrity" "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==" - "resolved" "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz" - "version" "0.2.2" - dependencies: - "domelementtype" "^2.0.1" - "entities" "^2.0.0" +colord@^2.9.1: + version "2.9.3" + resolved "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz" -"domelementtype@^2.0.1", "domelementtype@^2.2.0": - "integrity" "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" - "resolved" "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz" - "version" "2.3.0" - -"domelementtype@1": - "integrity" "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" - "resolved" "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz" - "version" "1.3.1" - -"domexception@^2.0.1": - "integrity" "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==" - "resolved" "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "webidl-conversions" "^5.0.0" - -"domhandler@^4.0.0", "domhandler@^4.2.0", "domhandler@^4.3.1": - "integrity" "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==" - "resolved" "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz" - "version" "4.3.1" - dependencies: - "domelementtype" "^2.2.0" - -"domutils@^1.7.0": - "integrity" "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==" - "resolved" "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz" - "version" "1.7.0" - dependencies: - "dom-serializer" "0" - "domelementtype" "1" - -"domutils@^2.5.2", "domutils@^2.8.0": - "integrity" "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==" - "resolved" "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz" - "version" "2.8.0" - dependencies: - "dom-serializer" "^1.0.1" - "domelementtype" "^2.2.0" - "domhandler" "^4.2.0" - -"dot-case@^3.0.4": - "integrity" "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==" - "resolved" "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz" - "version" "3.0.4" - dependencies: - "no-case" "^3.0.4" - "tslib" "^2.0.3" - -"dotenv-expand@^5.1.0": - "integrity" "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" - "resolved" "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz" - "version" "5.1.0" - -"dotenv@^10.0.0": - "integrity" "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==" - "resolved" "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz" - "version" "10.0.0" - -"downshift@^1.31.2": - "integrity" "sha512-RskXmiGSoz0EHAyBrmTBGSLHg6+NYDGuLu2W3GpmuOe6hmZEWhCiQrq5g6DWzhnUaJD41xHbbfC6j1Fe86YqgA==" - "resolved" "https://registry.npmjs.org/downshift/-/downshift-1.31.16.tgz" - "version" "1.31.16" - -"duplexer@^0.1.2": - "integrity" "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" - "resolved" "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz" - "version" "0.1.2" - -"echarts-for-react@^3.0.2": - "integrity" "sha512-DRwIiTzx8JfwPOVgGttDytBqdp5VzCSyMRIxubgU/g2n9y3VLUmF2FK7Icmg/sNVkv4+rktmrLN9w22U2yy3fA==" - "resolved" "https://registry.npmjs.org/echarts-for-react/-/echarts-for-react-3.0.2.tgz" - "version" "3.0.2" - dependencies: - "fast-deep-equal" "^3.1.3" - "size-sensor" "^1.0.1" - -"echarts@^3.0.0 || ^4.0.0 || ^5.0.0", "echarts@^5.3.3": - "integrity" "sha512-2W3vw3oI2tWJdyAz+b8DuWS0nfXtSDqlDmqgin/lfzbkB01cuMEN66KWBlmur3YMp5nEDEEt5s23pllnAzB4EA==" - "resolved" "https://registry.npmjs.org/echarts/-/echarts-5.4.2.tgz" - "version" "5.4.2" - dependencies: - "tslib" "2.3.0" - "zrender" "5.4.3" - -"ee-first@1.1.1": - "integrity" "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" - "resolved" "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" - "version" "1.1.1" - -"ejs@^3.1.6": - "version" "3.1.8" - dependencies: - "jake" "^10.8.5" - -"electron-to-chromium@^1.4.251": - "version" "1.4.284" - -"emittery@^0.10.2": - "integrity" "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==" - "resolved" "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz" - "version" "0.10.2" - -"emittery@^0.8.1": - "integrity" "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==" - "resolved" "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz" - "version" "0.8.1" - -"emoji-regex@^8.0.0": - "integrity" "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - "resolved" "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" - "version" "8.0.0" - -"emoji-regex@^9.2.2": - "integrity" "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" - "resolved" "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz" - "version" "9.2.2" - -"emojis-list@^3.0.0": - "integrity" "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" - "resolved" "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz" - "version" "3.0.0" - -"emotion-theming@^10.0.27": - "integrity" "sha512-mXiD2Oj7N9b6+h/dC6oLf9hwxbtKHQjoIqtodEyL8CpkN4F3V4IK/BT4D0C7zSs4BBFOu4UlPJbvvBLa88SGEA==" - "resolved" "https://registry.npmjs.org/emotion-theming/-/emotion-theming-10.3.0.tgz" - "version" "10.3.0" - dependencies: - "@babel/runtime" "^7.5.5" - "@emotion/weak-memoize" "0.2.5" - "hoist-non-react-statics" "^3.3.0" - -"encodeurl@~1.0.2": - "integrity" "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" - "resolved" "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz" - "version" "1.0.2" - -"end-of-stream@^1.1.0": - "integrity" "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==" - "resolved" "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz" - "version" "1.4.4" - dependencies: - "once" "^1.4.0" - -"enhanced-resolve@^5.10.0": - "version" "5.12.0" - dependencies: - "graceful-fs" "^4.2.4" - "tapable" "^2.2.0" - -"entities@^2.0.0", "entities@2.2.0": - "integrity" "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" - "resolved" "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz" - "version" "2.2.0" - -"env-cmd@^10.1.0": - "integrity" "sha512-mMdWTT9XKN7yNth/6N6g2GuKuJTsKMDHlQFUDacb/heQRRWOTIZ42t1rMHnQu4jYxU1ajdTeJM+9eEETlqToMA==" - "resolved" "https://registry.npmjs.org/env-cmd/-/env-cmd-10.1.0.tgz" - "version" "10.1.0" - dependencies: - "commander" "^4.0.0" - "cross-spawn" "^7.0.0" - -"envinfo@^7.7.2": - "integrity" "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==" - "resolved" "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz" - "version" "7.8.1" - -"error-ex@^1.3.1": - "integrity" "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==" - "resolved" "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" - "version" "1.3.2" - dependencies: - "is-arrayish" "^0.2.1" - -"error-stack-parser@^2.0.6": - "integrity" "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==" - "resolved" "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz" - "version" "2.1.4" - dependencies: - "stackframe" "^1.3.4" - -"errorhandler@^1.5.0": - "integrity" "sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==" - "resolved" "https://registry.npmjs.org/errorhandler/-/errorhandler-1.5.1.tgz" - "version" "1.5.1" - dependencies: - "accepts" "~1.3.7" - "escape-html" "~1.0.3" - -"es-abstract@^1.17.2", "es-abstract@^1.19.0", "es-abstract@^1.20.4": - "version" "1.21.0" - dependencies: - "call-bind" "^1.0.2" - "es-set-tostringtag" "^2.0.0" - "es-to-primitive" "^1.2.1" - "function-bind" "^1.1.1" - "function.prototype.name" "^1.1.5" - "get-intrinsic" "^1.1.3" - "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.4" - "is-array-buffer" "^3.0.0" - "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.2" - "object-keys" "^1.1.1" - "object.assign" "^4.1.4" - "regexp.prototype.flags" "^1.4.3" - "safe-regex-test" "^1.0.0" - "string.prototype.trimend" "^1.0.6" - "string.prototype.trimstart" "^1.0.6" - "typed-array-length" "^1.0.4" - "unbox-primitive" "^1.0.2" - "which-typed-array" "^1.1.9" - -"es-array-method-boxes-properly@^1.0.0": - "integrity" "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==" - "resolved" "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz" - "version" "1.0.0" - -"es-module-lexer@^0.9.0": - "version" "0.9.3" - -"es-set-tostringtag@^2.0.0": - "version" "2.0.1" - dependencies: - "get-intrinsic" "^1.1.3" - "has" "^1.0.3" - "has-tostringtag" "^1.0.0" - -"es-shim-unscopables@^1.0.0": - "integrity" "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==" - "resolved" "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "has" "^1.0.3" - -"es-to-primitive@^1.2.1": - "integrity" "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==" - "resolved" "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz" - "version" "1.2.1" - dependencies: - "is-callable" "^1.1.4" - "is-date-object" "^1.0.1" - "is-symbol" "^1.0.2" - -"escalade@^3.1.1": - "integrity" "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" - "resolved" "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" - "version" "3.1.1" - -"escape-html@~1.0.3": - "integrity" "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" - "resolved" "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz" - "version" "1.0.3" - -"escape-string-regexp@^1.0.5": - "integrity" "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" - "version" "1.0.5" - -"escape-string-regexp@^2.0.0": - "integrity" "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" - "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz" - "version" "2.0.0" - -"escape-string-regexp@^4.0.0": - "integrity" "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" - "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" - "version" "4.0.0" - -"escodegen@^2.0.0": - "integrity" "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==" - "resolved" "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "esprima" "^4.0.1" - "estraverse" "^5.2.0" - "esutils" "^2.0.2" - "optionator" "^0.8.1" - optionalDependencies: - "source-map" "~0.6.1" +colorette@^2.0.10: + version "2.0.20" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" -"eslint-config-react-app@^7.0.1": - "integrity" "sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==" - "resolved" "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz" - "version" "7.0.1" - dependencies: - "@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" - -"eslint-import-resolver-node@^0.3.6": - "version" "0.3.6" - dependencies: - "debug" "^3.2.7" - "resolve" "^1.20.0" - -"eslint-module-utils@^2.7.3": - "version" "2.7.4" - dependencies: - "debug" "^3.2.7" - -"eslint-plugin-flowtype@^8.0.3": - "integrity" "sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==" - "resolved" "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz" - "version" "8.0.3" - dependencies: - "lodash" "^4.17.21" - "string-natural-compare" "^3.0.1" - -"eslint-plugin-import@^2.25.3": - "version" "2.26.0" - dependencies: - "array-includes" "^3.1.4" - "array.prototype.flat" "^1.2.5" - "debug" "^2.6.9" - "doctrine" "^2.1.0" - "eslint-import-resolver-node" "^0.3.6" - "eslint-module-utils" "^2.7.3" - "has" "^1.0.3" - "is-core-module" "^2.8.1" - "is-glob" "^4.0.3" - "minimatch" "^3.1.2" - "object.values" "^1.1.5" - "resolve" "^1.22.0" - "tsconfig-paths" "^3.14.1" - -"eslint-plugin-jest@^25.3.0": - "integrity" "sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==" - "resolved" "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz" - "version" "25.7.0" +combined-stream@^1.0.8: + version "1.0.8" + resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz" dependencies: - "@typescript-eslint/experimental-utils" "^5.0.0" + delayed-stream "~1.0.0" -"eslint-plugin-jsx-a11y@^6.5.1": - "version" "6.6.1" - dependencies: - "@babel/runtime" "^7.18.9" - "aria-query" "^4.2.2" - "array-includes" "^3.1.5" - "ast-types-flow" "^0.0.7" - "axe-core" "^4.4.3" - "axobject-query" "^2.2.0" - "damerau-levenshtein" "^1.0.8" - "emoji-regex" "^9.2.2" - "has" "^1.0.3" - "jsx-ast-utils" "^3.3.2" - "language-tags" "^1.0.5" - "minimatch" "^3.1.2" - "semver" "^6.3.0" - -"eslint-plugin-react-hooks@^4.3.0": - "integrity" "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==" - "resolved" "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz" - "version" "4.6.0" - -"eslint-plugin-react@^7.27.1": - "version" "7.31.11" - dependencies: - "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.3" - "semver" "^6.3.0" - "string.prototype.matchall" "^4.0.8" - -"eslint-plugin-testing-library@^5.0.1": - "version" "5.9.1" - dependencies: - "@typescript-eslint/utils" "^5.13.0" - -"eslint-scope@^5.1.1", "eslint-scope@5.1.1": - "integrity" "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==" - "resolved" "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" - "version" "5.1.1" - dependencies: - "esrecurse" "^4.3.0" - "estraverse" "^4.1.1" - -"eslint-scope@^7.1.1": - "version" "7.1.1" - dependencies: - "esrecurse" "^4.3.0" - "estraverse" "^5.2.0" - -"eslint-utils@^3.0.0": - "version" "3.0.0" - dependencies: - "eslint-visitor-keys" "^2.0.0" - -"eslint-visitor-keys@^2.0.0": - "version" "2.1.0" - -"eslint-visitor-keys@^2.1.0": - "integrity" "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==" - "resolved" "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz" - "version" "2.1.0" - -"eslint-visitor-keys@^3.3.0": - "version" "3.3.0" - -"eslint-webpack-plugin@^3.1.1": - "integrity" "sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==" - "resolved" "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz" - "version" "3.2.0" - dependencies: - "@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" +commander@^2.20.0, commander@^2.20.3: + version "2.20.3" + resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" -"eslint@*", "eslint@^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8", "eslint@^3 || ^4 || ^5 || ^6 || ^7 || ^8", "eslint@^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0", "eslint@^6.0.0 || ^7.0.0 || ^8.0.0", "eslint@^7.0.0 || ^8.0.0", "eslint@^7.5.0 || ^8.0.0", "eslint@^8.0.0", "eslint@^8.1.0", "eslint@^8.3.0", "eslint@>= 6", "eslint@>=5": - "version" "8.31.0" - dependencies: - "@eslint/eslintrc" "^1.4.1" - "@humanwhocodes/config-array" "^0.11.8" - "@humanwhocodes/module-importer" "^1.0.1" - "@nodelib/fs.walk" "^1.2.8" - "ajv" "^6.10.0" - "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.1.1" - "eslint-utils" "^3.0.0" - "eslint-visitor-keys" "^3.3.0" - "espree" "^9.4.0" - "esquery" "^1.4.0" - "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" - "grapheme-splitter" "^1.0.4" - "ignore" "^5.2.0" - "import-fresh" "^3.0.0" - "imurmurhash" "^0.1.4" - "is-glob" "^4.0.0" - "is-path-inside" "^3.0.3" - "js-sdsl" "^4.1.4" - "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.1" - "regexpp" "^3.2.0" - "strip-ansi" "^6.0.1" - "strip-json-comments" "^3.1.0" - "text-table" "^0.2.0" - -"espree@^9.4.0": - "version" "9.4.1" - dependencies: - "acorn" "^8.8.0" - "acorn-jsx" "^5.3.2" - "eslint-visitor-keys" "^3.3.0" - -"esprima@^4.0.0", "esprima@^4.0.1", "esprima@~4.0.0": - "integrity" "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - "resolved" "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" - "version" "4.0.1" - -"esquery@^1.4.0": - "version" "1.4.0" - dependencies: - "estraverse" "^5.1.0" - -"esrecurse@^4.3.0": - "integrity" "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==" - "resolved" "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" - "version" "4.3.0" - dependencies: - "estraverse" "^5.2.0" - -"estraverse@^4.1.1": - "integrity" "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" - "resolved" "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" - "version" "4.3.0" - -"estraverse@^5.1.0", "estraverse@^5.2.0", "estraverse@^5.3.0": - "integrity" "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" - "resolved" "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" - "version" "5.3.0" - -"estree-walker@^1.0.1": - "integrity" "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==" - "resolved" "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz" - "version" "1.0.1" - -"esutils@^2.0.2": - "integrity" "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" - "resolved" "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" - "version" "2.0.3" - -"etag@~1.8.1": - "integrity" "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" - "resolved" "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz" - "version" "1.8.1" - -"event-target-shim@^5.0.0", "event-target-shim@^5.0.1": - "integrity" "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==" - "resolved" "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz" - "version" "5.0.1" - -"eventemitter3@^4.0.0": - "integrity" "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" - "resolved" "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz" - "version" "4.0.7" - -"events@^3.1.0", "events@^3.2.0": - "integrity" "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" - "resolved" "https://registry.npmjs.org/events/-/events-3.3.0.tgz" - "version" "3.3.0" - -"execa@^1.0.0": - "integrity" "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==" - "resolved" "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "cross-spawn" "^6.0.0" - "get-stream" "^4.0.0" - "is-stream" "^1.1.0" - "npm-run-path" "^2.0.0" - "p-finally" "^1.0.0" - "signal-exit" "^3.0.0" - "strip-eof" "^1.0.0" - -"execa@^5.0.0": - "integrity" "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==" - "resolved" "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz" - "version" "5.1.1" - dependencies: - "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@^0.1.2": - "integrity" "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==" - "resolved" "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz" - "version" "0.1.2" - -"expand-brackets@^2.1.4": - "integrity" "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==" - "resolved" "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz" - "version" "2.1.4" - dependencies: - "debug" "^2.3.3" - "define-property" "^0.2.5" - "extend-shallow" "^2.0.1" - "posix-character-classes" "^0.1.0" - "regex-not" "^1.0.0" - "snapdragon" "^0.8.1" - "to-regex" "^3.0.1" - -"expect@^27.5.1": - "integrity" "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==" - "resolved" "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@jest/types" "^27.5.1" - "jest-get-type" "^27.5.1" - "jest-matcher-utils" "^27.5.1" - "jest-message-util" "^27.5.1" - -"express@^4.17.3": - "integrity" "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==" - "resolved" "https://registry.npmjs.org/express/-/express-4.18.2.tgz" - "version" "4.18.2" - dependencies: - "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" - -"extend-shallow@^2.0.1": - "integrity" "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==" - "resolved" "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "is-extendable" "^0.1.0" - -"extend-shallow@^3.0.0", "extend-shallow@^3.0.2": - "integrity" "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==" - "resolved" "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz" - "version" "3.0.2" - dependencies: - "assign-symbols" "^1.0.0" - "is-extendable" "^1.0.1" - -"extglob@^2.0.4": - "integrity" "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==" - "resolved" "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz" - "version" "2.0.4" - dependencies: - "array-unique" "^0.3.2" - "define-property" "^1.0.0" - "expand-brackets" "^2.1.4" - "extend-shallow" "^2.0.1" - "fragment-cache" "^0.2.1" - "regex-not" "^1.0.0" - "snapdragon" "^0.8.1" - "to-regex" "^3.0.1" - -"fast-base64-decode@^1.0.0": - "integrity" "sha512-qwaScUgUGBYeDNRnbc/KyllVU88Jk1pRHPStuF/lO7B0/RTRLj7U0lkdTAutlBblY08rwZDff6tNU9cjv6j//Q==" - "resolved" "https://registry.npmjs.org/fast-base64-decode/-/fast-base64-decode-1.0.0.tgz" - "version" "1.0.0" - -"fast-deep-equal@^3.1.1", "fast-deep-equal@^3.1.3": - "integrity" "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - "resolved" "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" - "version" "3.1.3" - -"fast-glob@^3.2.12", "fast-glob@^3.2.9": - "integrity" "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==" - "resolved" "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz" - "version" "3.2.12" - dependencies: - "@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" +commander@^4.0.0: + version "4.1.1" + resolved "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz" -"fast-json-stable-stringify@^2.0.0", "fast-json-stable-stringify@^2.1.0": - "integrity" "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - "resolved" "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" - "version" "2.1.0" +commander@^7.2.0: + version "7.2.0" + resolved "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz" -"fast-levenshtein@^2.0.6", "fast-levenshtein@~2.0.6": - "integrity" "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" - "resolved" "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" - "version" "2.0.6" +commander@^8.3.0: + version "8.3.0" + resolved "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz" -"fast-xml-parser@^4.0.12", "fast-xml-parser@4.2.4": - "integrity" "sha512-fbfMDvgBNIdDJLdLOwacjFAPYt67tr31H9ZhWSm45CDAxvd0I6WTlSOUo7K2P/K5sA5JgMKG64PI3DMcaFdWpQ==" - "resolved" "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.4.tgz" - "version" "4.2.4" - dependencies: - "strnum" "^1.0.5" - -"fastq@^1.6.0": - "integrity" "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==" - "resolved" "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz" - "version" "1.15.0" - dependencies: - "reusify" "^1.0.4" - -"faye-websocket@^0.11.3": - "integrity" "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==" - "resolved" "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz" - "version" "0.11.4" - dependencies: - "websocket-driver" ">=0.5.1" - -"fb-watchman@^2.0.0": - "integrity" "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==" - "resolved" "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz" - "version" "2.0.2" - dependencies: - "bser" "2.1.1" - -"fflate@0.7.3": - "integrity" "sha512-0Zz1jOzJWERhyhsimS54VTqOteCNwRtIlh8isdL0AXLo0g7xNTfTL7oWrkmCnPhZGocKIkWHBistBrrpoNH3aw==" - "resolved" "https://registry.npmjs.org/fflate/-/fflate-0.7.3.tgz" - "version" "0.7.3" - -"file-entry-cache@^6.0.1": - "integrity" "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==" - "resolved" "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" - "version" "6.0.1" - dependencies: - "flat-cache" "^3.0.4" - -"file-loader@^6.2.0": - "integrity" "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==" - "resolved" "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz" - "version" "6.2.0" - dependencies: - "loader-utils" "^2.0.0" - "schema-utils" "^3.0.0" - -"file-selector@^0.4.0": - "version" "0.4.0" - dependencies: - "tslib" "^2.0.3" - -"filelist@^1.0.1": - "version" "1.0.4" - dependencies: - "minimatch" "^5.0.1" - -"filesize@^8.0.6": - "integrity" "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==" - "resolved" "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz" - "version" "8.0.7" - -"fill-range@^4.0.0": - "integrity" "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==" - "resolved" "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "extend-shallow" "^2.0.1" - "is-number" "^3.0.0" - "repeat-string" "^1.6.1" - "to-regex-range" "^2.1.0" - -"fill-range@^7.0.1": - "integrity" "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==" - "resolved" "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" - "version" "7.0.1" - dependencies: - "to-regex-range" "^5.0.1" - -"finalhandler@1.1.2": - "integrity" "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==" - "resolved" "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz" - "version" "1.1.2" - dependencies: - "debug" "2.6.9" - "encodeurl" "~1.0.2" - "escape-html" "~1.0.3" - "on-finished" "~2.3.0" - "parseurl" "~1.3.3" - "statuses" "~1.5.0" - "unpipe" "~1.0.0" - -"finalhandler@1.2.0": - "integrity" "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==" - "resolved" "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz" - "version" "1.2.0" - dependencies: - "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" - -"find-cache-dir@^2.0.0": - "integrity" "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==" - "resolved" "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "commondir" "^1.0.1" - "make-dir" "^2.0.0" - "pkg-dir" "^3.0.0" - -"find-cache-dir@^3.3.1": - "integrity" "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==" - "resolved" "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz" - "version" "3.3.2" - dependencies: - "commondir" "^1.0.1" - "make-dir" "^3.0.2" - "pkg-dir" "^4.1.0" - -"find-root@^1.1.0": - "integrity" "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" - "resolved" "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz" - "version" "1.1.0" - -"find-up@^3.0.0": - "integrity" "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==" - "resolved" "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "locate-path" "^3.0.0" - -"find-up@^4.0.0": - "integrity" "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==" - "resolved" "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "locate-path" "^5.0.0" - "path-exists" "^4.0.0" - -"find-up@^4.1.0": - "integrity" "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==" - "resolved" "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "locate-path" "^5.0.0" - "path-exists" "^4.0.0" - -"find-up@^5.0.0": - "integrity" "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==" - "resolved" "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" - "version" "5.0.0" - dependencies: - "locate-path" "^6.0.0" - "path-exists" "^4.0.0" - -"flat-cache@^3.0.4": - "integrity" "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==" - "resolved" "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz" - "version" "3.0.4" - dependencies: - "flatted" "^3.1.0" - "rimraf" "^3.0.2" - -"flatted@^3.1.0": - "integrity" "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==" - "resolved" "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz" - "version" "3.2.7" - -"flow-parser@^0.185.0", "flow-parser@0.*": - "integrity" "sha512-2hJ5ACYeJCzNtiVULov6pljKOLygy0zddoqSI1fFetM+XRPpRshFdGEijtqlamA1XwyZ+7rhryI6FQFzvtLWUQ==" - "resolved" "https://registry.npmjs.org/flow-parser/-/flow-parser-0.185.2.tgz" - "version" "0.185.2" - -"follow-redirects@^1.0.0": - "integrity" "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" - "resolved" "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz" - "version" "1.15.2" - -"follow-redirects@^1.14.8": - "version" "1.14.9" - -"for-each@^0.3.3": - "integrity" "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==" - "resolved" "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz" - "version" "0.3.3" - dependencies: - "is-callable" "^1.1.3" - -"for-in@^1.0.2": - "integrity" "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==" - "resolved" "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz" - "version" "1.0.2" - -"fork-ts-checker-webpack-plugin@^6.5.0": - "version" "6.5.2" +common-path-prefix@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz" + +common-tags@^1.8.0: + version "1.8.2" + resolved "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz" + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz" + +compressible@~2.0.16: + version "2.0.18" + resolved "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz" dependencies: - "@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" - -"form-data@^3.0.0": - "integrity" "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==" - "resolved" "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz" - "version" "3.0.1" - dependencies: - "asynckit" "^0.4.0" - "combined-stream" "^1.0.8" - "mime-types" "^2.1.12" - -"formik@^2.2.9": - "version" "2.2.9" - dependencies: - "deepmerge" "^2.1.1" - "hoist-non-react-statics" "^3.3.0" - "lodash" "^4.17.21" - "lodash-es" "^4.17.21" - "react-fast-compare" "^2.0.1" - "tiny-warning" "^1.0.2" - "tslib" "^1.10.0" - -"forwarded@0.2.0": - "integrity" "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" - "resolved" "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz" - "version" "0.2.0" - -"fraction.js@^4.2.0": - "integrity" "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==" - "resolved" "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz" - "version" "4.2.0" - -"fragment-cache@^0.2.1": - "integrity" "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==" - "resolved" "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz" - "version" "0.2.1" - dependencies: - "map-cache" "^0.2.2" - -"fresh@0.5.2": - "integrity" "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" - "resolved" "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz" - "version" "0.5.2" - -"fs-extra@^10.0.0": - "integrity" "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==" - "resolved" "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz" - "version" "10.1.0" - dependencies: - "graceful-fs" "^4.2.0" - "jsonfile" "^6.0.1" - "universalify" "^2.0.0" - -"fs-extra@^8.1.0": - "integrity" "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==" - "resolved" "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz" - "version" "8.1.0" - dependencies: - "graceful-fs" "^4.2.0" - "jsonfile" "^4.0.0" - "universalify" "^0.1.0" - -"fs-extra@^9.0.0", "fs-extra@^9.0.1": - "integrity" "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==" - "resolved" "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz" - "version" "9.1.0" - dependencies: - "at-least-node" "^1.0.0" - "graceful-fs" "^4.2.0" - "jsonfile" "^6.0.1" - "universalify" "^2.0.0" - -"fs-monkey@^1.0.3": - "version" "1.0.3" - -"fs.realpath@^1.0.0": - "integrity" "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - "resolved" "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" - "version" "1.0.0" - -"fsevents@^2.3.2", "fsevents@~2.3.2": - "integrity" "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==" - "resolved" "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz" - "version" "2.3.2" - -"function-bind@^1.1.1": - "integrity" "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - "resolved" "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" - "version" "1.1.1" - -"function.prototype.name@^1.1.5": - "integrity" "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==" - "resolved" "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz" - "version" "1.1.5" - dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.1.3" - "es-abstract" "^1.19.0" - "functions-have-names" "^1.2.2" - -"functions-have-names@^1.2.2": - "integrity" "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==" - "resolved" "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz" - "version" "1.2.3" - -"gensync@^1.0.0-beta.2": - "integrity" "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" - "resolved" "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" - "version" "1.0.0-beta.2" - -"get-caller-file@^2.0.1", "get-caller-file@^2.0.5": - "integrity" "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" - "resolved" "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" - "version" "2.0.5" - -"get-intrinsic@^1.0.2", "get-intrinsic@^1.1.1", "get-intrinsic@^1.1.3": - "version" "1.1.3" - dependencies: - "function-bind" "^1.1.1" - "has" "^1.0.3" - "has-symbols" "^1.0.3" - -"get-own-enumerable-property-symbols@^3.0.0": - "integrity" "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" - "resolved" "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz" - "version" "3.0.2" - -"get-package-type@^0.1.0": - "integrity" "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==" - "resolved" "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz" - "version" "0.1.0" - -"get-stream@^4.0.0": - "integrity" "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==" - "resolved" "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "pump" "^3.0.0" - -"get-stream@^6.0.0": - "integrity" "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" - "resolved" "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" - "version" "6.0.1" - -"get-symbol-description@^1.0.0": - "integrity" "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==" - "resolved" "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "call-bind" "^1.0.2" - "get-intrinsic" "^1.1.1" - -"get-value@^2.0.3", "get-value@^2.0.6": - "integrity" "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==" - "resolved" "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz" - "version" "2.0.6" - -"glob-parent@^5.1.2", "glob-parent@~5.1.2": - "integrity" "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==" - "resolved" "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" - "version" "5.1.2" - dependencies: - "is-glob" "^4.0.1" - -"glob-parent@^6.0.2": - "integrity" "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==" - "resolved" "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" - "version" "6.0.2" - dependencies: - "is-glob" "^4.0.3" - -"glob-to-regexp@^0.4.1": - "integrity" "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" - "resolved" "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz" - "version" "0.4.1" - -"glob@^7.1.1", "glob@^7.1.2", "glob@^7.1.3", "glob@^7.1.4", "glob@^7.1.6": - "integrity" "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==" - "resolved" "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" - "version" "7.2.3" - dependencies: - "fs.realpath" "^1.0.0" - "inflight" "^1.0.4" - "inherits" "2" - "minimatch" "^3.1.1" - "once" "^1.3.0" - "path-is-absolute" "^1.0.0" - -"global-modules@^2.0.0": - "integrity" "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==" - "resolved" "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "global-prefix" "^3.0.0" - -"global-prefix@^3.0.0": - "integrity" "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==" - "resolved" "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "ini" "^1.3.5" - "kind-of" "^6.0.2" - "which" "^1.3.1" - -"globals@^11.1.0": - "integrity" "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" - "resolved" "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" - "version" "11.12.0" - -"globals@^13.19.0": - "version" "13.19.0" - dependencies: - "type-fest" "^0.20.2" - -"globalthis@^1.0.3": - "integrity" "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==" - "resolved" "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz" - "version" "1.0.3" - dependencies: - "define-properties" "^1.1.3" - -"globby@^11.0.4", "globby@^11.1.0": - "integrity" "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==" - "resolved" "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" - "version" "11.1.0" - dependencies: - "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" - -"gopd@^1.0.1": - "integrity" "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==" - "resolved" "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "get-intrinsic" "^1.1.3" - -"graceful-fs@^4.1.11", "graceful-fs@^4.1.2", "graceful-fs@^4.1.3", "graceful-fs@^4.1.6", "graceful-fs@^4.2.0", "graceful-fs@^4.2.4", "graceful-fs@^4.2.6", "graceful-fs@^4.2.9": - "version" "4.2.10" - -"grapheme-splitter@^1.0.4": - "integrity" "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==" - "resolved" "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz" - "version" "1.0.4" - -"graphql-tag@^2.12.3", "graphql-tag@^2.12.6", "graphql-tag@^2.4.2": - "integrity" "sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==" - "resolved" "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.6.tgz" - "version" "2.12.6" - dependencies: - "tslib" "^2.1.0" - -"graphql@^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0", "graphql@^0.11.3 || ^0.12.3 || ^0.13.0 || ^14.0.0 || ^15.0.0", "graphql@^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0", "graphql@^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0", "graphql@^14.0.0 || ^15.0.0 || ^16.0.0", "graphql@15.8.0": - "integrity" "sha512-5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw==" - "resolved" "https://registry.npmjs.org/graphql/-/graphql-15.8.0.tgz" - "version" "15.8.0" - -"gzip-size@^6.0.0": - "integrity" "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==" - "resolved" "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz" - "version" "6.0.0" - dependencies: - "duplexer" "^0.1.2" - -"handle-thing@^2.0.0": - "integrity" "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" - "resolved" "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz" - "version" "2.0.1" - -"harmony-reflect@^1.4.6": - "integrity" "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==" - "resolved" "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz" - "version" "1.6.2" - -"has-bigints@^1.0.1", "has-bigints@^1.0.2": - "integrity" "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==" - "resolved" "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz" - "version" "1.0.2" - -"has-flag@^3.0.0": - "integrity" "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" - "resolved" "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" - "version" "3.0.0" - -"has-flag@^4.0.0": - "integrity" "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - "resolved" "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" - "version" "4.0.0" - -"has-property-descriptors@^1.0.0": - "integrity" "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==" - "resolved" "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "get-intrinsic" "^1.1.1" - -"has-proto@^1.0.1": - "integrity" "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" - "resolved" "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz" - "version" "1.0.1" - -"has-symbols@^1.0.1", "has-symbols@^1.0.2", "has-symbols@^1.0.3": - "integrity" "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - "resolved" "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" - "version" "1.0.3" + mime-db ">= 1.43.0 < 2" -"has-tostringtag@^1.0.0": - "integrity" "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==" - "resolved" "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "has-symbols" "^1.0.2" - -"has-value@^0.3.1": - "integrity" "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==" - "resolved" "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz" - "version" "0.3.1" - dependencies: - "get-value" "^2.0.3" - "has-values" "^0.1.4" - "isobject" "^2.0.0" - -"has-value@^1.0.0": - "integrity" "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==" - "resolved" "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "get-value" "^2.0.6" - "has-values" "^1.0.0" - "isobject" "^3.0.0" - -"has-values@^0.1.4": - "integrity" "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==" - "resolved" "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz" - "version" "0.1.4" - -"has-values@^1.0.0": - "integrity" "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==" - "resolved" "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "is-number" "^3.0.0" - "kind-of" "^4.0.0" - -"has@^1.0.3": - "integrity" "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==" - "resolved" "https://registry.npmjs.org/has/-/has-1.0.3.tgz" - "version" "1.0.3" - dependencies: - "function-bind" "^1.1.1" - -"he@^1.2.0": - "integrity" "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" - "resolved" "https://registry.npmjs.org/he/-/he-1.2.0.tgz" - "version" "1.2.0" - -"hermes-estree@0.8.0": - "integrity" "sha512-W6JDAOLZ5pMPMjEiQGLCXSSV7pIBEgRR5zGkxgmzGSXHOxqV5dC/M1Zevqpbm9TZDE5tu358qZf8Vkzmsc+u7Q==" - "resolved" "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.8.0.tgz" - "version" "0.8.0" - -"hermes-parser@0.8.0": - "integrity" "sha512-yZKalg1fTYG5eOiToLUaw69rQfZq/fi+/NtEXRU7N87K/XobNRhRWorh80oSge2lWUiZfTgUvRJH+XgZWrhoqA==" - "resolved" "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.8.0.tgz" - "version" "0.8.0" - dependencies: - "hermes-estree" "0.8.0" - -"hermes-profile-transformer@^0.0.6": - "integrity" "sha512-cnN7bQUm65UWOy6cbGcCcZ3rpwW8Q/j4OP5aWRhEry4Z2t2aR1cjrbp0BS+KiBN0smvP1caBgAuxutvyvJILzQ==" - "resolved" "https://registry.npmjs.org/hermes-profile-transformer/-/hermes-profile-transformer-0.0.6.tgz" - "version" "0.0.6" - dependencies: - "source-map" "^0.7.3" - -"history@^5.0.3": - "integrity" "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==" - "resolved" "https://registry.npmjs.org/history/-/history-5.3.0.tgz" - "version" "5.3.0" +compression@^1.7.4: + version "1.7.4" + resolved "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz" dependencies: - "@babel/runtime" "^7.7.6" + 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" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + +confusing-browser-globals@^1.0.11: + version "1.0.11" + resolved "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz" + +connect-history-api-fallback@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz" -"hoist-non-react-statics@^3.2.1", "hoist-non-react-statics@^3.3.0", "hoist-non-react-statics@^3.3.1", "hoist-non-react-statics@^3.3.2": - "integrity" "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==" - "resolved" "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz" - "version" "3.3.2" +content-disposition@0.5.4: + version "0.5.4" + resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz" dependencies: - "react-is" "^16.7.0" + safe-buffer "5.2.1" -"hoopy@^0.1.4": - "integrity" "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==" - "resolved" "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz" - "version" "0.1.4" +content-type@~1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" -"hotkeys-js@^3.8.7": - "version" "3.8.7" +convert-source-map@^1.4.0, convert-source-map@^1.5.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: + version "1.9.0" + resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz" -"hpack.js@^2.1.6": - "integrity" "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==" - "resolved" "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz" - "version" "2.1.6" +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz" + +cookie@0.5.0: + version "0.5.0" + resolved "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz" + +cookie@^0.4.0: + version "0.4.2" + resolved "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz" + +copy-to-clipboard@^3.3.1: + version "3.3.3" + resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz#55ac43a1db8ae639a4bd99511c148cdd1b83a1b0" dependencies: - "inherits" "^2.0.1" - "obuf" "^1.0.0" - "readable-stream" "^2.0.1" - "wbuf" "^1.1.0" + toggle-selection "^1.0.6" -"html-encoding-sniffer@^2.0.1": - "integrity" "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==" - "resolved" "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz" - "version" "2.0.1" +core-js-compat@^3.31.0: + version "3.31.1" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.31.1.tgz#5084ad1a46858df50ff89ace152441a63ba7aae0" dependencies: - "whatwg-encoding" "^1.0.5" + browserslist "^4.21.9" -"html-entities@^2.1.0", "html-entities@^2.3.2": - "version" "2.3.3" +core-js-pure@^3.23.3: + version "3.31.1" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.31.1.tgz#73d154958881873bc19381df80bddb20c8d0cdb5" -"html-escaper@^2.0.0": - "integrity" "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" - "resolved" "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz" - "version" "2.0.2" +core-js@^3.0.1, core-js@^3.19.2: + version "3.31.1" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.31.1.tgz#f2b0eea9be9da0def2c5fece71064a7e5d687653" -"html-minifier-terser@^6.0.2": - "integrity" "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==" - "resolved" "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz" - "version" "6.1.0" - dependencies: - "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" +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz" -"html-webpack-plugin@^5.5.0": - "version" "5.5.0" +cosmiconfig@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz" dependencies: - "@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@^6.1.0": - "integrity" "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==" - "resolved" "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz" - "version" "6.1.0" - dependencies: - "domelementtype" "^2.0.1" - "domhandler" "^4.0.0" - "domutils" "^2.5.2" - "entities" "^2.0.0" - -"http-deceiver@^1.2.7": - "integrity" "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==" - "resolved" "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz" - "version" "1.2.7" - -"http-errors@~1.6.2": - "integrity" "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==" - "resolved" "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz" - "version" "1.6.3" - dependencies: - "depd" "~1.1.2" - "inherits" "2.0.3" - "setprototypeof" "1.1.0" - "statuses" ">= 1.4.0 < 2" - -"http-errors@2.0.0": - "integrity" "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==" - "resolved" "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "depd" "2.0.0" - "inherits" "2.0.4" - "setprototypeof" "1.2.0" - "statuses" "2.0.1" - "toidentifier" "1.0.1" - -"http-parser-js@>=0.5.1": - "integrity" "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" - "resolved" "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz" - "version" "0.5.8" - -"http-proxy-agent@^4.0.1": - "integrity" "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==" - "resolved" "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz" - "version" "4.0.1" + "@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" + +cosmiconfig@^7.0.0: + version "7.1.0" + resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz" dependencies: - "@tootallnate/once" "1" - "agent-base" "6" - "debug" "4" + "@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-env@^5.2.0: + version "5.2.1" + resolved "https://registry.npmjs.org/cross-env/-/cross-env-5.2.1.tgz" + dependencies: + cross-spawn "^6.0.5" + +cross-fetch@^3.0.4, cross-fetch@^3.1.5: + version "3.1.6" + resolved "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.6.tgz" + dependencies: + node-fetch "^2.6.11" + +cross-spawn@^6.0.5: + version "6.0.5" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz" + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: + version "7.0.3" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +crypto-random-string@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz" + +css-blank-pseudo@^3.0.3: + version "3.0.3" + resolved "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz" + dependencies: + postcss-selector-parser "^6.0.9" + +css-declaration-sorter@^6.3.1: + version "6.4.1" + resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz#28beac7c20bad7f1775be3a7129d7eae409a3a71" + +css-has-pseudo@^3.0.4: + version "3.0.4" + resolved "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz" + dependencies: + postcss-selector-parser "^6.0.9" + +css-loader@^6.5.1: + version "6.8.1" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.8.1.tgz#0f8f52699f60f5e679eab4ec0fcd68b8e8a50a88" + dependencies: + 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@^3.2.0: + version "3.4.1" + resolved "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz" + dependencies: + 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" + +css-prefers-color-scheme@^6.0.3: + version "6.0.3" + resolved "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz" + +css-select-base-adapter@^0.1.1: + version "0.1.1" + resolved "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz" + +css-select@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz" + dependencies: + boolbase "^1.0.0" + css-what "^3.2.1" + domutils "^1.7.0" + nth-check "^1.0.2" + +css-select@^4.1.3: + version "4.3.0" + resolved "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz" + dependencies: + boolbase "^1.0.0" + css-what "^6.0.1" + domhandler "^4.3.1" + domutils "^2.8.0" + nth-check "^2.0.1" -"http-proxy-middleware@^2.0.3": - "integrity" "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==" - "resolved" "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz" - "version" "2.0.6" +css-tree@1.0.0-alpha.37: + version "1.0.0-alpha.37" + resolved "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz" dependencies: - "@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" - -"http-proxy@^1.18.1": - "integrity" "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==" - "resolved" "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz" - "version" "1.18.1" - dependencies: - "eventemitter3" "^4.0.0" - "follow-redirects" "^1.0.0" - "requires-port" "^1.0.0" - -"https-proxy-agent@^5.0.0": - "integrity" "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==" - "resolved" "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "agent-base" "6" - "debug" "4" - -"human-signals@^2.1.0": - "integrity" "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" - "resolved" "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" - "version" "2.1.0" - -"hyphenate-style-name@^1.0.3": - "integrity" "sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==" - "resolved" "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz" - "version" "1.0.4" - -"iconv-lite@^0.6.3": - "integrity" "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==" - "resolved" "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz" - "version" "0.6.3" - dependencies: - "safer-buffer" ">= 2.1.2 < 3.0.0" - -"iconv-lite@0.4.24": - "integrity" "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==" - "resolved" "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" - "version" "0.4.24" - dependencies: - "safer-buffer" ">= 2.1.2 < 3" - -"icss-utils@^5.0.0", "icss-utils@^5.1.0": - "integrity" "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==" - "resolved" "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz" - "version" "5.1.0" - -"idb@^7.0.1": - "integrity" "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==" - "resolved" "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz" - "version" "7.1.1" - -"idb@5.0.6": - "integrity" "sha512-/PFvOWPzRcEPmlDt5jEvzVZVs0wyd/EvGvkDIcbBpGuMMLQKrTPG0TxvE2UJtgZtCQCmOtM2QD7yQJBVEjKGOw==" - "resolved" "https://registry.npmjs.org/idb/-/idb-5.0.6.tgz" - "version" "5.0.6" - -"identity-obj-proxy@^3.0.0": - "integrity" "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==" - "resolved" "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "harmony-reflect" "^1.4.6" - -"ieee754@^1.1.13", "ieee754@^1.1.4": - "integrity" "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" - "resolved" "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" - "version" "1.2.1" - -"ignore@^5.2.0": - "integrity" "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==" - "resolved" "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz" - "version" "5.2.4" - -"image-size@^0.6.0": - "integrity" "sha512-47xSUiQioGaB96nqtp5/q55m0aBQSQdyIloMOc/x+QVTDZLNmXE892IIDrJ0hM1A5vcNUDD5tDffkSP5lCaIIA==" - "resolved" "https://registry.npmjs.org/image-size/-/image-size-0.6.3.tgz" - "version" "0.6.3" - -"immer@^9.0.7": - "version" "9.0.17" - -"immer@9.0.6": - "integrity" "sha512-G95ivKpy+EvVAnAab4fVa4YGYn24J1SpEktnJX7JJ45Bd7xqME/SCplFzYFmTbrkwZbQ4xJK1xMTUYBkN6pWsQ==" - "resolved" "https://registry.npmjs.org/immer/-/immer-9.0.6.tgz" - "version" "9.0.6" - -"import-fresh@^2.0.0": - "integrity" "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==" - "resolved" "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "caller-path" "^2.0.0" - "resolve-from" "^3.0.0" - -"import-fresh@^3.0.0", "import-fresh@^3.1.0", "import-fresh@^3.2.1": - "integrity" "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==" - "resolved" "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" - "version" "3.3.0" - dependencies: - "parent-module" "^1.0.0" - "resolve-from" "^4.0.0" - -"import-local@^3.0.2": - "integrity" "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==" - "resolved" "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "pkg-dir" "^4.2.0" - "resolve-cwd" "^3.0.0" - -"imurmurhash@^0.1.4": - "integrity" "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==" - "resolved" "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" - "version" "0.1.4" - -"indent-string@^4.0.0": - "integrity" "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" - "resolved" "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz" - "version" "4.0.0" - -"inflight@^1.0.4": - "integrity" "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==" - "resolved" "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" - "version" "1.0.6" - dependencies: - "once" "^1.3.0" - "wrappy" "1" - -"inherits@^2.0.1", "inherits@^2.0.3", "inherits@^2.0.4", "inherits@~2.0.3", "inherits@2", "inherits@2.0.4": - "integrity" "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" - "version" "2.0.4" + mdn-data "2.0.4" + source-map "^0.6.1" + +css-tree@^1.1.2, css-tree@^1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz" + dependencies: + mdn-data "2.0.14" + source-map "^0.6.1" + +css-vendor@^2.0.8: + version "2.0.8" + resolved "https://registry.npmjs.org/css-vendor/-/css-vendor-2.0.8.tgz" + dependencies: + "@babel/runtime" "^7.8.3" + is-in-browser "^1.0.2" + +css-what@^3.2.1: + version "3.4.2" + resolved "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz" + +css-what@^6.0.1: + version "6.1.0" + resolved "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz" + +css.escape@^1.5.1: + version "1.5.1" + resolved "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz" + +cssdb@^7.1.0: + version "7.6.0" + resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-7.6.0.tgz#beac8f7a5f676db62d3c33da517ef4c9eb008f8b" + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz" + +cssfilter@0.0.10: + version "0.0.10" + resolved "https://registry.npmjs.org/cssfilter/-/cssfilter-0.0.10.tgz" + +cssnano-preset-default@^5.2.14: + version "5.2.14" + resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz#309def4f7b7e16d71ab2438052093330d9ab45d8" + dependencies: + 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@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz" + +cssnano@^5.0.6: + version "5.1.15" + resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-5.1.15.tgz#ded66b5480d5127fcb44dac12ea5a983755136bf" + dependencies: + cssnano-preset-default "^5.2.14" + lilconfig "^2.0.3" + yaml "^1.10.2" + +csso@^4.0.2, csso@^4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz" + dependencies: + css-tree "^1.1.2" + +cssom@^0.4.4: + version "0.4.4" + resolved "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz" + +cssom@~0.3.6: + version "0.3.8" + resolved "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz" + +cssstyle@^2.3.0: + version "2.3.0" + resolved "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz" + dependencies: + cssom "~0.3.6" + +csstype@^2.5.7: + version "2.6.21" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.21.tgz#2efb85b7cc55c80017c66a5ad7cbd931fda3a90e" + +csstype@^3.0.2, csstype@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.2.tgz#1d4bf9d572f11c14031f0436e1c10bc1f571f50b" + +damerau-levenshtein@^1.0.8: + version "1.0.8" + resolved "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz" + +data-urls@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz" + dependencies: + abab "^2.0.3" + whatwg-mimetype "^2.3.0" + whatwg-url "^8.0.0" + +date-fns@^2.28.0: + version "2.30.0" + resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.30.0.tgz#f367e644839ff57894ec6ac480de40cae4b0f4d0" + dependencies: + "@babel/runtime" "^7.21.0" -"inherits@2.0.3": - "integrity" "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" - "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" - "version" "2.0.3" +dayjs@^1.11.0, dayjs@^1.11.7: + version "1.11.8" + resolved "https://registry.npmjs.org/dayjs/-/dayjs-1.11.8.tgz" + +debug@2.6.9, debug@^2.6.0: + version "2.6.9" + resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + dependencies: + ms "2.0.0" -"ini@^1.3.5": - "integrity" "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - "resolved" "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" - "version" "1.3.8" - -"internal-slot@^1.0.3", "internal-slot@^1.0.4": - "version" "1.0.4" +debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4: + version "4.3.4" + resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" dependencies: - "get-intrinsic" "^1.1.3" - "has" "^1.0.3" - "side-channel" "^1.0.4" + ms "2.1.2" + +debug@^3.2.7: + version "3.2.7" + resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" + dependencies: + ms "^2.1.1" + +decimal.js@^10.2.1: + version "10.4.3" + resolved "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz" + +dedent@^0.7.0: + version "0.7.0" + resolved "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz" -"invariant@*", "invariant@^2.2.4": - "integrity" "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==" - "resolved" "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz" - "version" "2.2.4" +deep-equal@^2.0.5: + version "2.2.1" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-2.2.1.tgz#c72ab22f3a7d3503a4ca87dde976fe9978816739" dependencies: - "loose-envify" "^1.0.0" + array-buffer-byte-length "^1.0.0" + call-bind "^1.0.2" + es-get-iterator "^1.1.3" + get-intrinsic "^1.2.0" + is-arguments "^1.1.1" + is-array-buffer "^3.0.2" + is-date-object "^1.0.5" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.2" + isarray "^2.0.5" + object-is "^1.1.5" + object-keys "^1.1.1" + object.assign "^4.1.4" + regexp.prototype.flags "^1.5.0" + side-channel "^1.0.4" + which-boxed-primitive "^1.0.2" + which-collection "^1.0.1" + which-typed-array "^1.1.9" -"ip@^1.1.5": - "integrity" "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==" - "resolved" "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz" - "version" "1.1.8" +deep-is@^0.1.3, deep-is@~0.1.3: + version "0.1.4" + resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" -"ipaddr.js@^2.0.1": - "version" "2.0.1" +deepmerge@^2.1.1: + version "2.2.1" + resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-2.2.1.tgz" -"ipaddr.js@1.9.1": - "integrity" "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" - "resolved" "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz" - "version" "1.9.1" +deepmerge@^4.2.2: + version "4.3.1" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" -"is-accessor-descriptor@^0.1.6": - "integrity" "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==" - "resolved" "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz" - "version" "0.1.6" +default-gateway@^6.0.3: + version "6.0.3" + resolved "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz" dependencies: - "kind-of" "^3.0.2" + execa "^5.0.0" -"is-accessor-descriptor@^1.0.0": - "integrity" "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==" - "resolved" "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "kind-of" "^6.0.0" +define-lazy-prop@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz" -"is-array-buffer@^3.0.0": - "version" "3.0.1" +define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.0.tgz#52988570670c9eacedd8064f4a990f2405849bd5" dependencies: - "call-bind" "^1.0.2" - "get-intrinsic" "^1.1.3" - "is-typed-array" "^1.1.10" + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" -"is-arrayish@^0.2.1": - "integrity" "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" - "resolved" "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" - "version" "0.2.1" - -"is-bigint@^1.0.1": - "integrity" "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==" - "resolved" "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz" - "version" "1.0.4" - dependencies: - "has-bigints" "^1.0.1" - -"is-binary-path@~2.1.0": - "integrity" "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==" - "resolved" "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "binary-extensions" "^2.0.0" +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" + +depd@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz" + +depd@~1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz" + +dequal@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" + +destroy@1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz" + +detect-newline@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz" + +detect-node@^2.0.4: + version "2.1.0" + resolved "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz" -"is-boolean-object@^1.1.0": - "integrity" "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==" - "resolved" "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz" - "version" "1.1.2" +detect-port-alt@^1.1.6: + version "1.1.6" + resolved "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz" dependencies: - "call-bind" "^1.0.2" - "has-tostringtag" "^1.0.0" - -"is-buffer@^1.1.5": - "integrity" "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - "resolved" "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz" - "version" "1.1.6" - -"is-callable@^1.1.3", "is-callable@^1.1.4", "is-callable@^1.2.7": - "integrity" "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" - "resolved" "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz" - "version" "1.2.7" + address "^1.0.1" + debug "^2.6.0" + +didyoumean@^1.2.2: + version "1.2.2" + resolved "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz" + +diff-sequences@^27.5.1: + version "27.5.1" + resolved "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz" + +diff-sequences@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.4.3.tgz#9314bc1fabe09267ffeca9cbafc457d8499a13f2" + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" + dependencies: + path-type "^4.0.0" + +dlv@^1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz" + +dns-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz" -"is-core-module@^2.8.1", "is-core-module@^2.9.0": - "version" "2.11.0" +dns-packet@^5.2.2: + version "5.6.0" + resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-5.6.0.tgz#2202c947845c7a63c23ece58f2f70ff6ab4c2f7d" dependencies: - "has" "^1.0.3" + "@leichtgewicht/ip-codec" "^2.0.1" -"is-data-descriptor@^0.1.4": - "integrity" "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==" - "resolved" "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz" - "version" "0.1.4" +doctrine@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz" dependencies: - "kind-of" "^3.0.2" - -"is-data-descriptor@^1.0.0": - "integrity" "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==" - "resolved" "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "kind-of" "^6.0.0" - -"is-date-object@^1.0.1": - "integrity" "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==" - "resolved" "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz" - "version" "1.0.5" - dependencies: - "has-tostringtag" "^1.0.0" + esutils "^2.0.2" -"is-descriptor@^0.1.0": - "integrity" "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==" - "resolved" "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz" - "version" "0.1.6" - dependencies: - "is-accessor-descriptor" "^0.1.6" - "is-data-descriptor" "^0.1.4" - "kind-of" "^5.0.0" - -"is-descriptor@^1.0.0", "is-descriptor@^1.0.2": - "integrity" "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==" - "resolved" "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "is-accessor-descriptor" "^1.0.0" - "is-data-descriptor" "^1.0.0" - "kind-of" "^6.0.2" - -"is-directory@^0.3.1": - "integrity" "sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==" - "resolved" "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz" - "version" "0.3.1" - -"is-docker@^2.0.0", "is-docker@^2.1.1": - "integrity" "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" - "resolved" "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz" - "version" "2.2.1" - -"is-extendable@^0.1.0", "is-extendable@^0.1.1": - "integrity" "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" - "resolved" "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz" - "version" "0.1.1" - -"is-extendable@^0.1.1": - "integrity" "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" - "resolved" "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz" - "version" "0.1.1" - -"is-extendable@^1.0.1": - "integrity" "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==" - "resolved" "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "is-plain-object" "^2.0.4" - -"is-extglob@^2.1.1": - "integrity" "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" - "resolved" "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" - "version" "2.1.1" - -"is-fullwidth-code-point@^2.0.0": - "integrity" "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==" - "resolved" "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz" - "version" "2.0.0" - -"is-fullwidth-code-point@^3.0.0": - "integrity" "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - "resolved" "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" - "version" "3.0.0" - -"is-generator-fn@^2.0.0": - "integrity" "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==" - "resolved" "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz" - "version" "2.1.0" - -"is-glob@^4.0.0", "is-glob@^4.0.1", "is-glob@^4.0.3", "is-glob@~4.0.1": - "integrity" "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==" - "resolved" "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" - "version" "4.0.3" - dependencies: - "is-extglob" "^2.1.1" - -"is-in-browser@^1.0.2", "is-in-browser@^1.1.3": - "integrity" "sha512-FeXIBgG/CPGd/WUxuEyvgGTEfwiG9Z4EKGxjNMRqviiIIfsmgrpnHLffEDdwUHqNva1VEW91o3xBT/m8Elgl9g==" - "resolved" "https://registry.npmjs.org/is-in-browser/-/is-in-browser-1.1.3.tgz" - "version" "1.1.3" - -"is-interactive@^1.0.0": - "integrity" "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==" - "resolved" "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz" - "version" "1.0.0" - -"is-module@^1.0.0": - "integrity" "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==" - "resolved" "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz" - "version" "1.0.0" - -"is-negative-zero@^2.0.2": - "integrity" "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==" - "resolved" "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz" - "version" "2.0.2" - -"is-number-object@^1.0.4": - "integrity" "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==" - "resolved" "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz" - "version" "1.0.7" - dependencies: - "has-tostringtag" "^1.0.0" - -"is-number@^3.0.0": - "integrity" "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==" - "resolved" "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "kind-of" "^3.0.2" - -"is-number@^7.0.0": - "integrity" "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - "resolved" "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" - "version" "7.0.0" - -"is-obj@^1.0.1": - "integrity" "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==" - "resolved" "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz" - "version" "1.0.1" - -"is-path-inside@^3.0.3": - "integrity" "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==" - "resolved" "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz" - "version" "3.0.3" - -"is-plain-obj@^3.0.0": - "integrity" "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==" - "resolved" "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz" - "version" "3.0.0" - -"is-plain-object@^2.0.3", "is-plain-object@^2.0.4": - "integrity" "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==" - "resolved" "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz" - "version" "2.0.4" - dependencies: - "isobject" "^3.0.1" - -"is-potential-custom-element-name@^1.0.1": - "integrity" "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" - "resolved" "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz" - "version" "1.0.1" - -"is-regex@^1.1.4": - "integrity" "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==" - "resolved" "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz" - "version" "1.1.4" - dependencies: - "call-bind" "^1.0.2" - "has-tostringtag" "^1.0.0" - -"is-regexp@^1.0.0": - "integrity" "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==" - "resolved" "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz" - "version" "1.0.0" - -"is-root@^2.1.0": - "integrity" "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==" - "resolved" "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz" - "version" "2.1.0" - -"is-shared-array-buffer@^1.0.2": - "integrity" "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==" - "resolved" "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "call-bind" "^1.0.2" - -"is-stream@^1.1.0": - "integrity" "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==" - "resolved" "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz" - "version" "1.1.0" - -"is-stream@^2.0.0": - "integrity" "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" - "resolved" "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" - "version" "2.0.1" - -"is-string@^1.0.5", "is-string@^1.0.7": - "integrity" "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==" - "resolved" "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz" - "version" "1.0.7" - dependencies: - "has-tostringtag" "^1.0.0" - -"is-symbol@^1.0.2", "is-symbol@^1.0.3": - "integrity" "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==" - "resolved" "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz" - "version" "1.0.4" - dependencies: - "has-symbols" "^1.0.2" - -"is-typed-array@^1.1.10", "is-typed-array@^1.1.9": - "integrity" "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==" - "resolved" "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz" - "version" "1.1.10" - dependencies: - "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" - -"is-typedarray@^1.0.0": - "integrity" "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" - "resolved" "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" - "version" "1.0.0" - -"is-unicode-supported@^0.1.0": - "integrity" "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==" - "resolved" "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz" - "version" "0.1.0" - -"is-weakref@^1.0.2": - "integrity" "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==" - "resolved" "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "call-bind" "^1.0.2" - -"is-windows@^1.0.2": - "integrity" "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" - "resolved" "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz" - "version" "1.0.2" - -"is-wsl@^1.1.0": - "integrity" "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==" - "resolved" "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz" - "version" "1.1.0" - -"is-wsl@^2.2.0": - "integrity" "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==" - "resolved" "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz" - "version" "2.2.0" - dependencies: - "is-docker" "^2.0.0" - -"isarray@^1.0.0", "isarray@~1.0.0", "isarray@1.0.0": - "integrity" "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - "resolved" "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" - "version" "1.0.0" - -"isexe@^2.0.0": - "integrity" "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - "resolved" "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" - "version" "2.0.0" - -"isobject@^2.0.0": - "integrity" "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==" - "resolved" "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "isarray" "1.0.0" - -"isobject@^3.0.0", "isobject@^3.0.1": - "integrity" "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==" - "resolved" "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz" - "version" "3.0.1" - -"isomorphic-unfetch@^3.0.0": - "integrity" "sha512-geDJjpoZ8N0kWexiwkX8F9NkTsXhetLPVbZFQ+JTW239QNOwvB0gniuR1Wc6f0AMTn7/mFGyXvHTifrCp/GH8Q==" - "resolved" "https://registry.npmjs.org/isomorphic-unfetch/-/isomorphic-unfetch-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "node-fetch" "^2.6.1" - "unfetch" "^4.2.0" - -"istanbul-lib-coverage@^3.0.0", "istanbul-lib-coverage@^3.2.0": - "integrity" "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==" - "resolved" "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz" - "version" "3.2.0" - -"istanbul-lib-instrument@^5.0.4", "istanbul-lib-instrument@^5.1.0": - "integrity" "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==" - "resolved" "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz" - "version" "5.2.1" +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" dependencies: - "@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" + esutils "^2.0.2" -"istanbul-lib-report@^3.0.0": - "integrity" "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==" - "resolved" "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz" - "version" "3.0.0" +dom-accessibility-api@^0.5.6, dom-accessibility-api@^0.5.9: + version "0.5.16" + resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz#5a7429e6066eb3664d911e33fb0e45de8eb08453" + +dom-converter@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz" dependencies: - "istanbul-lib-coverage" "^3.0.0" - "make-dir" "^3.0.0" - "supports-color" "^7.1.0" + utila "~0.4" -"istanbul-lib-source-maps@^4.0.0": - "integrity" "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==" - "resolved" "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz" - "version" "4.0.1" +dom-helpers@^5.0.1: + version "5.2.1" + resolved "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz" dependencies: - "debug" "^4.1.1" - "istanbul-lib-coverage" "^3.0.0" - "source-map" "^0.6.1" + "@babel/runtime" "^7.8.7" + csstype "^3.0.2" -"istanbul-reports@^3.1.3": - "integrity" "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==" - "resolved" "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz" - "version" "3.1.5" +dom-serializer@0: + version "0.2.2" + resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz" dependencies: - "html-escaper" "^2.0.0" - "istanbul-lib-report" "^3.0.0" + domelementtype "^2.0.1" + entities "^2.0.0" -"jake@^10.8.5": - "version" "10.8.5" +dom-serializer@^1.0.1: + version "1.4.1" + resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz" dependencies: - "async" "^3.2.3" - "chalk" "^4.0.2" - "filelist" "^1.0.1" - "minimatch" "^3.0.4" + domelementtype "^2.0.1" + domhandler "^4.2.0" + entities "^2.0.0" + +domelementtype@1: + version "1.3.1" + resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz" + +domelementtype@^2.0.1, domelementtype@^2.2.0: + version "2.3.0" + resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz" -"jest-changed-files@^27.5.1": - "integrity" "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==" - "resolved" "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz" - "version" "27.5.1" +domexception@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz" dependencies: - "@jest/types" "^27.5.1" - "execa" "^5.0.0" - "throat" "^6.0.1" + webidl-conversions "^5.0.0" -"jest-circus@^27.5.1": - "integrity" "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==" - "resolved" "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz" - "version" "27.5.1" +domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.1: + version "4.3.1" + resolved "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz" dependencies: - "@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" - -"jest-cli@^27.5.1": - "integrity" "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==" - "resolved" "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz" - "version" "27.5.1" + domelementtype "^2.2.0" + +domutils@^1.7.0: + version "1.7.0" + resolved "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz" dependencies: - "@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" - -"jest-config@^27.5.1": - "integrity" "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==" - "resolved" "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz" - "version" "27.5.1" + dom-serializer "0" + domelementtype "1" + +domutils@^2.5.2, domutils@^2.8.0: + version "2.8.0" + resolved "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz" dependencies: - "@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" - -"jest-diff@^27.5.1": - "integrity" "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==" - "resolved" "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "chalk" "^4.0.0" - "diff-sequences" "^27.5.1" - "jest-get-type" "^27.5.1" - "pretty-format" "^27.5.1" - -"jest-docblock@^27.5.1": - "integrity" "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==" - "resolved" "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "detect-newline" "^3.0.0" - -"jest-each@^27.5.1": - "integrity" "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==" - "resolved" "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz" - "version" "27.5.1" + dom-serializer "^1.0.1" + domelementtype "^2.2.0" + domhandler "^4.2.0" + +dot-case@^3.0.4: + version "3.0.4" + resolved "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz" dependencies: - "@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" + no-case "^3.0.4" + tslib "^2.0.3" + +dotenv-expand@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz" -"jest-environment-jsdom@^27.5.1": - "integrity" "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==" - "resolved" "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz" - "version" "27.5.1" +dotenv@^10.0.0: + version "10.0.0" + resolved "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz" + +downshift@^1.31.2: + version "1.31.16" + resolved "https://registry.npmjs.org/downshift/-/downshift-1.31.16.tgz" + +duplexer@^0.1.2: + version "0.1.2" + resolved "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz" + +echarts-for-react@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/echarts-for-react/-/echarts-for-react-3.0.2.tgz" dependencies: - "@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" + fast-deep-equal "^3.1.3" + size-sensor "^1.0.1" -"jest-environment-node@^27.5.1": - "integrity" "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==" - "resolved" "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz" - "version" "27.5.1" +echarts@^5.3.3: + version "5.4.2" + resolved "https://registry.npmjs.org/echarts/-/echarts-5.4.2.tgz" dependencies: - "@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" + tslib "2.3.0" + zrender "5.4.3" + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" -"jest-environment-node@^29.2.1": - "integrity" "sha512-ExxuIK/+yQ+6PRGaHkKewYtg6hto2uGCgvKdb2nfJfKXgZ17DfXjvbZ+jA1Qt9A8EQSfPnt5FKIfnOO3u1h9qw==" - "resolved" "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.5.0.tgz" - "version" "29.5.0" +ejs@^3.1.6: + version "3.1.9" + resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.9.tgz#03c9e8777fe12686a9effcef22303ca3d8eeb361" dependencies: - "@jest/environment" "^29.5.0" - "@jest/fake-timers" "^29.5.0" - "@jest/types" "^29.5.0" - "@types/node" "*" - "jest-mock" "^29.5.0" - "jest-util" "^29.5.0" + jake "^10.8.5" + +electron-to-chromium@^1.4.431: + version "1.4.454" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.454.tgz#774dc7cb5e58576d0125939ec34a4182f3ccc87d" + +emittery@^0.10.2: + version "0.10.2" + resolved "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz" + +emittery@^0.8.1: + version "0.8.1" + resolved "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz" -"jest-get-type@^26.3.0": - "integrity" "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==" - "resolved" "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz" - "version" "26.3.0" +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" -"jest-get-type@^27.5.1": - "integrity" "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==" - "resolved" "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz" - "version" "27.5.1" +emoji-regex@^9.2.2: + version "9.2.2" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz" -"jest-haste-map@^27.5.1": - "integrity" "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==" - "resolved" "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz" - "version" "27.5.1" +emojis-list@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz" + +emotion-theming@^10.0.27: + version "10.3.0" + resolved "https://registry.npmjs.org/emotion-theming/-/emotion-theming-10.3.0.tgz" dependencies: - "@jest/types" "^27.5.1" - "@types/graceful-fs" "^4.1.2" - "@types/node" "*" - "anymatch" "^3.0.3" - "fb-watchman" "^2.0.0" - "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" + "@babel/runtime" "^7.5.5" + "@emotion/weak-memoize" "0.2.5" + hoist-non-react-statics "^3.3.0" + +encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz" + +enhanced-resolve@^5.15.0: + version "5.15.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz#1af946c7d93603eb88e9896cee4904dc012e9c35" + dependencies: + graceful-fs "^4.2.4" + tapable "^2.2.0" + +entities@2.2.0, entities@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz" + +env-cmd@^10.1.0: + version "10.1.0" + resolved "https://registry.npmjs.org/env-cmd/-/env-cmd-10.1.0.tgz" + dependencies: + commander "^4.0.0" + cross-spawn "^7.0.0" + +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" + dependencies: + is-arrayish "^0.2.1" + +error-stack-parser@^2.0.6: + version "2.1.4" + resolved "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz" + dependencies: + stackframe "^1.3.4" + +es-abstract@^1.17.2, es-abstract@^1.19.0, es-abstract@^1.20.4, es-abstract@^1.21.2: + version "1.21.2" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.21.2.tgz#a56b9695322c8a185dc25975aa3b8ec31d0e7eff" + dependencies: + array-buffer-byte-length "^1.0.0" + 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.0" + 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.4.3" + 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-length "^1.0.4" + unbox-primitive "^1.0.2" + which-typed-array "^1.1.9" + +es-array-method-boxes-properly@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz" + +es-get-iterator@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/es-get-iterator/-/es-get-iterator-1.1.3.tgz#3ef87523c5d464d41084b2c3c9c214f1199763d6" + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.3" + has-symbols "^1.0.3" + is-arguments "^1.1.1" + is-map "^2.0.2" + is-set "^2.0.2" + is-string "^1.0.7" + isarray "^2.0.5" + stop-iteration-iterator "^1.0.0" + +es-module-lexer@^1.2.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.3.0.tgz#6be9c9e0b4543a60cd166ff6f8b4e9dae0b0c16f" + +es-set-tostringtag@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz#338d502f6f674301d710b80c8592de8a15f09cd8" + dependencies: + get-intrinsic "^1.1.3" + has "^1.0.3" + has-tostringtag "^1.0.0" + +es-shim-unscopables@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz" + dependencies: + has "^1.0.3" + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz" + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz" + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + +escape-string-regexp@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz" + +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" + +escodegen@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz" + dependencies: + esprima "^4.0.1" + estraverse "^5.2.0" + esutils "^2.0.2" + optionator "^0.8.1" optionalDependencies: - "fsevents" "^2.3.2" + source-map "~0.6.1" -"jest-jasmine2@^27.5.1": - "integrity" "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==" - "resolved" "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz" - "version" "27.5.1" +eslint-config-react-app@^7.0.1: + version "7.0.1" + resolved "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz" + dependencies: + "@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" + +eslint-import-resolver-node@^0.3.7: + version "0.3.7" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz#83b375187d412324a1963d84fa664377a23eb4d7" + dependencies: + debug "^3.2.7" + is-core-module "^2.11.0" + resolve "^1.22.1" + +eslint-module-utils@^2.7.4: + version "2.8.0" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz#e439fee65fc33f6bba630ff621efc38ec0375c49" + dependencies: + debug "^3.2.7" + +eslint-plugin-flowtype@^8.0.3: + version "8.0.3" + resolved "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz" + dependencies: + lodash "^4.17.21" + string-natural-compare "^3.0.1" + +eslint-plugin-import@^2.25.3: + version "2.27.5" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz#876a6d03f52608a3e5bb439c2550588e51dd6c65" + dependencies: + array-includes "^3.1.6" + 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.7.4" + has "^1.0.3" + is-core-module "^2.11.0" + is-glob "^4.0.3" + minimatch "^3.1.2" + object.values "^1.1.6" + resolve "^1.22.1" + semver "^6.3.0" + tsconfig-paths "^3.14.1" + +eslint-plugin-jest@^25.3.0: + version "25.7.0" + resolved "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz" + dependencies: + "@typescript-eslint/experimental-utils" "^5.0.0" + +eslint-plugin-jsx-a11y@^6.5.1: + version "6.7.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz#fca5e02d115f48c9a597a6894d5bcec2f7a76976" + dependencies: + "@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" + +eslint-plugin-react-hooks@^4.3.0: + version "4.6.0" + resolved "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz" + +eslint-plugin-react@^7.27.1: + version "7.32.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz#e71f21c7c265ebce01bcbc9d0955170c55571f10" + dependencies: + 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.0" + string.prototype.matchall "^4.0.8" + +eslint-plugin-testing-library@^5.0.1: + version "5.11.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.11.0.tgz#0bad7668e216e20dd12f8c3652ca353009163121" + dependencies: + "@typescript-eslint/utils" "^5.58.0" + +eslint-scope@5.1.1, eslint-scope@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +eslint-scope@^7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.0.tgz#f21ebdafda02352f103634b96dd47d9f81ca117b" + dependencies: + esrecurse "^4.3.0" + estraverse "^5.2.0" + +eslint-visitor-keys@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz" + +eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1: + version "3.4.1" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz#c22c48f48942d08ca824cc526211ae400478a994" + +eslint-webpack-plugin@^3.1.1: + version "3.2.0" + resolved "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz" + dependencies: + "@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" + +eslint@^8.3.0: + version "8.44.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.44.0.tgz#51246e3889b259bbcd1d7d736a0c10add4f0e500" + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@eslint-community/regexpp" "^4.4.0" + "@eslint/eslintrc" "^2.1.0" + "@eslint/js" "8.44.0" + "@humanwhocodes/config-array" "^0.11.10" + "@humanwhocodes/module-importer" "^1.0.1" + "@nodelib/fs.walk" "^1.2.8" + ajv "^6.10.0" + 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.0" + eslint-visitor-keys "^3.4.1" + espree "^9.6.0" + 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" + import-fresh "^3.0.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" + strip-json-comments "^3.1.0" + text-table "^0.2.0" + +espree@^9.6.0: + version "9.6.0" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.0.tgz#80869754b1c6560f32e3b6929194a3fe07c5b82f" + dependencies: + acorn "^8.9.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^3.4.1" + +esprima@^4.0.0, esprima@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" + +esquery@^1.4.2: + version "1.5.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" + +estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: + version "5.3.0" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" + +estree-walker@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz" + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" + +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz" + +eventemitter3@^4.0.0: + version "4.0.7" + resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz" + +events@^3.1.0, events@^3.2.0: + version "3.3.0" + resolved "https://registry.npmjs.org/events/-/events-3.3.0.tgz" + +execa@^5.0.0: + version "5.1.1" + resolved "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz" + dependencies: + 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@^0.1.2: + version "0.1.2" + resolved "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz" + +expect@^27.5.1: + version "27.5.1" + resolved "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz" dependencies: - "@jest/environment" "^27.5.1" - "@jest/source-map" "^27.5.1" - "@jest/test-result" "^27.5.1" "@jest/types" "^27.5.1" + jest-get-type "^27.5.1" + jest-matcher-utils "^27.5.1" + jest-message-util "^27.5.1" + +expect@^29.0.0: + version "29.6.1" + resolved "https://registry.yarnpkg.com/expect/-/expect-29.6.1.tgz#64dd1c8f75e2c0b209418f2b8d36a07921adfdf1" + dependencies: + "@jest/expect-utils" "^29.6.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" - -"jest-leak-detector@^27.5.1": - "integrity" "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==" - "resolved" "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "jest-get-type" "^27.5.1" - "pretty-format" "^27.5.1" - -"jest-matcher-utils@^27.0.0", "jest-matcher-utils@^27.5.1": - "integrity" "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==" - "resolved" "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "chalk" "^4.0.0" - "jest-diff" "^27.5.1" - "jest-get-type" "^27.5.1" - "pretty-format" "^27.5.1" - -"jest-message-util@^27.5.1": - "integrity" "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==" - "resolved" "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz" - "version" "27.5.1" + jest-get-type "^29.4.3" + jest-matcher-utils "^29.6.1" + jest-message-util "^29.6.1" + jest-util "^29.6.1" + +express@^4.17.3: + version "4.18.2" + resolved "https://registry.npmjs.org/express/-/express-4.18.2.tgz" + dependencies: + 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" + +fast-base64-decode@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/fast-base64-decode/-/fast-base64-decode-1.0.0.tgz" + +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" + +fast-glob@^3.2.12, fast-glob@^3.2.9: + version "3.2.12" + resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz" dependencies: - "@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" - -"jest-message-util@^28.1.3": - "integrity" "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==" - "resolved" "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz" - "version" "28.1.3" + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" + +fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: + version "2.0.6" + resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" + +fast-xml-parser@4.2.4: + version "4.2.4" + resolved "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.4.tgz" dependencies: - "@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" - -"jest-message-util@^29.5.0": - "integrity" "sha512-Kijeg9Dag6CKtIDA7O21zNTACqD5MD/8HfIV8pdD94vFyFuer52SigdC3IQMhab3vACxXMiFk+yMHNdbqtyTGA==" - "resolved" "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.5.0.tgz" - "version" "29.5.0" + strnum "^1.0.5" + +fastq@^1.6.0: + version "1.15.0" + resolved "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz" dependencies: - "@babel/code-frame" "^7.12.13" - "@jest/types" "^29.5.0" - "@types/stack-utils" "^2.0.0" - "chalk" "^4.0.0" - "graceful-fs" "^4.2.9" - "micromatch" "^4.0.4" - "pretty-format" "^29.5.0" - "slash" "^3.0.0" - "stack-utils" "^2.0.3" - -"jest-mock@^27.5.1": - "integrity" "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==" - "resolved" "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz" - "version" "27.5.1" + reusify "^1.0.4" + +faye-websocket@^0.11.3: + version "0.11.4" + resolved "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz" dependencies: - "@jest/types" "^27.5.1" - "@types/node" "*" + websocket-driver ">=0.5.1" -"jest-mock@^29.5.0": - "integrity" "sha512-GqOzvdWDE4fAV2bWQLQCkujxYWL7RxjCnj71b5VhDAGOevB3qj3Ovg26A5NI84ZpODxyzaozXLOh2NCgkbvyaw==" - "resolved" "https://registry.npmjs.org/jest-mock/-/jest-mock-29.5.0.tgz" - "version" "29.5.0" +fb-watchman@^2.0.0: + version "2.0.2" + resolved "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz" dependencies: - "@jest/types" "^29.5.0" - "@types/node" "*" - "jest-util" "^29.5.0" + bser "2.1.1" -"jest-pnp-resolver@^1.2.2": - "integrity" "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==" - "resolved" "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz" - "version" "1.2.3" +fflate@0.7.3: + version "0.7.3" + resolved "https://registry.npmjs.org/fflate/-/fflate-0.7.3.tgz" + +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" + dependencies: + flat-cache "^3.0.4" -"jest-regex-util@^27.0.6", "jest-regex-util@^27.5.1": - "integrity" "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==" - "resolved" "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz" - "version" "27.5.1" +file-loader@^6.2.0: + version "6.2.0" + resolved "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz" + dependencies: + loader-utils "^2.0.0" + schema-utils "^3.0.0" -"jest-regex-util@^28.0.0": - "integrity" "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==" - "resolved" "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz" - "version" "28.0.2" +file-selector@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/file-selector/-/file-selector-0.5.0.tgz#21c7126dc9728b31a2742d91cab20d55e67e4fb4" + dependencies: + tslib "^2.0.3" -"jest-resolve-dependencies@^27.5.1": - "integrity" "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==" - "resolved" "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz" - "version" "27.5.1" +filelist@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.4.tgz#f78978a1e944775ff9e62e744424f215e58352b5" dependencies: - "@jest/types" "^27.5.1" - "jest-regex-util" "^27.5.1" - "jest-snapshot" "^27.5.1" + minimatch "^5.0.1" + +filesize@^8.0.6: + version "8.0.7" + resolved "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" + dependencies: + to-regex-range "^5.0.1" + +finalhandler@1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz" + dependencies: + 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" + +find-cache-dir@^3.3.1: + version "3.3.2" + resolved "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz" + dependencies: + commondir "^1.0.1" + make-dir "^3.0.2" + pkg-dir "^4.1.0" + +find-root@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz" + +find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz" + dependencies: + locate-path "^3.0.0" + +find-up@^4.0.0, find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +flat-cache@^3.0.4: + version "3.0.4" + resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz" + dependencies: + flatted "^3.1.0" + rimraf "^3.0.2" + +flatted@^3.1.0: + version "3.2.7" + resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz" + +follow-redirects@^1.0.0, follow-redirects@^1.14.8: + version "1.15.2" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" + +for-each@^0.3.3: + version "0.3.3" + resolved "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz" + dependencies: + is-callable "^1.1.3" + +fork-ts-checker-webpack-plugin@^6.5.0: + version "6.5.3" + resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz#eda2eff6e22476a2688d10661688c47f611b37f3" + dependencies: + "@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" + +form-data@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz" + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + +formik@^2.2.9: + version "2.4.2" + resolved "https://registry.yarnpkg.com/formik/-/formik-2.4.2.tgz#a1115457cfb012a5c782cea3ad4b40b2fe36fa18" + dependencies: + deepmerge "^2.1.1" + hoist-non-react-statics "^3.3.0" + lodash "^4.17.21" + lodash-es "^4.17.21" + react-fast-compare "^2.0.1" + tiny-warning "^1.0.2" + tslib "^2.0.0" + +forwarded@0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz" + +fraction.js@^4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz" + +fresh@0.5.2: + version "0.5.2" + resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz" + +fs-extra@^10.0.0: + version "10.1.0" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz" + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-extra@^9.0.0, fs-extra@^9.0.1: + version "9.1.0" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz" + dependencies: + at-least-node "^1.0.0" + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-monkey@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.4.tgz#ee8c1b53d3fe8bb7e5d2c5c5dfc0168afdd2f747" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" + +fsevents@^2.3.2, fsevents@~2.3.2: + version "2.3.2" + resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz" + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" + +function.prototype.name@^1.1.5: + version "1.1.5" + resolved "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz" + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.0" + functions-have-names "^1.2.2" + +functions-have-names@^1.2.2, functions-have-names@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" + +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" + +get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" + +get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.1.tgz#d295644fed4505fc9cde952c37ee12b477a83d82" + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-proto "^1.0.1" + has-symbols "^1.0.3" + +get-own-enumerable-property-symbols@^3.0.0: + version "3.0.2" + resolved "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz" + +get-package-type@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz" + +get-stream@^6.0.0: + version "6.0.1" + resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" + +get-symbol-description@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz" + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + +glob-parent@^5.1.2, glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" + dependencies: + is-glob "^4.0.1" + +glob-parent@^6.0.2: + version "6.0.2" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" + dependencies: + is-glob "^4.0.3" + +glob-to-regexp@^0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz" + +glob@7.1.6: + version "7.1.6" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" + dependencies: + 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@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: + version "7.2.3" + resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + +global-modules@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz" + dependencies: + global-prefix "^3.0.0" + +global-prefix@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz" + dependencies: + ini "^1.3.5" + kind-of "^6.0.2" + which "^1.3.1" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" + +globals@^13.19.0: + version "13.20.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.20.0.tgz#ea276a1e508ffd4f1612888f9d1bad1e2717bf82" + dependencies: + type-fest "^0.20.2" + +globalthis@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz" + dependencies: + define-properties "^1.1.3" + +globby@^11.0.4, globby@^11.1.0: + version "11.1.0" + resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" + dependencies: + 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" + +gopd@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz" + dependencies: + get-intrinsic "^1.1.3" + +graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: + version "4.2.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" + +graphemer@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" + +graphql-tag@^2.12.6, graphql-tag@^2.4.2: + version "2.12.6" + resolved "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.6.tgz" + dependencies: + tslib "^2.1.0" + +graphql@15.8.0: + version "15.8.0" + resolved "https://registry.npmjs.org/graphql/-/graphql-15.8.0.tgz" + +gzip-size@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz" + dependencies: + duplexer "^0.1.2" + +handle-thing@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz" + +harmony-reflect@^1.4.6: + version "1.6.2" + resolved "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz" + +has-bigints@^1.0.1, has-bigints@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz" + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" + +has-property-descriptors@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz" + dependencies: + get-intrinsic "^1.1.1" + +has-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz" + +has-symbols@^1.0.1, has-symbols@^1.0.2, has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" + +has-tostringtag@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz" + dependencies: + has-symbols "^1.0.2" + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz" + dependencies: + function-bind "^1.1.1" + +he@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/he/-/he-1.2.0.tgz" + +history@^5.0.3: + version "5.3.0" + resolved "https://registry.npmjs.org/history/-/history-5.3.0.tgz" + dependencies: + "@babel/runtime" "^7.7.6" + +hoist-non-react-statics@^3.2.1, hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.1, hoist-non-react-statics@^3.3.2: + version "3.3.2" + resolved "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz" + dependencies: + react-is "^16.7.0" + +hoopy@^0.1.4: + version "0.1.4" + resolved "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz" + +hotkeys-js@^3.8.7: + version "3.11.1" + resolved "https://registry.yarnpkg.com/hotkeys-js/-/hotkeys-js-3.11.1.tgz#63d374faaddd1a28b8c3013e3a486d5cf78e968a" + +hpack.js@^2.1.6: + version "2.1.6" + resolved "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz" + dependencies: + inherits "^2.0.1" + obuf "^1.0.0" + readable-stream "^2.0.1" + wbuf "^1.1.0" + +html-encoding-sniffer@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz" + dependencies: + whatwg-encoding "^1.0.5" + +html-entities@^2.1.0, html-entities@^2.3.2: + version "2.4.0" + resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-2.4.0.tgz#edd0cee70402584c8c76cc2c0556db09d1f45061" + +html-escaper@^2.0.0: + version "2.0.2" + resolved "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz" + +html-minifier-terser@^6.0.2: + version "6.1.0" + resolved "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz" + dependencies: + 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" + +html-webpack-plugin@^5.5.0: + version "5.5.3" + resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-5.5.3.tgz#72270f4a78e222b5825b296e5e3e1328ad525a3e" + dependencies: + "@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@^6.1.0: + version "6.1.0" + resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz" + dependencies: + domelementtype "^2.0.1" + domhandler "^4.0.0" + domutils "^2.5.2" + entities "^2.0.0" + +http-deceiver@^1.2.7: + version "1.2.7" + resolved "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz" + +http-errors@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz" + dependencies: + depd "2.0.0" + inherits "2.0.4" + setprototypeof "1.2.0" + statuses "2.0.1" + toidentifier "1.0.1" + +http-errors@~1.6.2: + version "1.6.3" + resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz" + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.0" + statuses ">= 1.4.0 < 2" + +http-parser-js@>=0.5.1: + version "0.5.8" + resolved "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz" + +http-proxy-agent@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz" + dependencies: + "@tootallnate/once" "1" + agent-base "6" + debug "4" + +http-proxy-middleware@^2.0.3: + version "2.0.6" + resolved "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz" + dependencies: + "@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" + +http-proxy@^1.18.1: + version "1.18.1" + resolved "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz" + dependencies: + eventemitter3 "^4.0.0" + follow-redirects "^1.0.0" + requires-port "^1.0.0" + +https-proxy-agent@^5.0.0: + version "5.0.1" + resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz" + dependencies: + agent-base "6" + debug "4" + +human-signals@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" + +hyphenate-style-name@^1.0.3: + version "1.0.4" + resolved "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz" + +iconv-lite@0.4.24: + version "0.4.24" + resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" + dependencies: + safer-buffer ">= 2.1.2 < 3" + +iconv-lite@^0.6.3: + version "0.6.3" + resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz" + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + +icss-utils@^5.0.0, icss-utils@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz" + +idb@5.0.6: + version "5.0.6" + resolved "https://registry.npmjs.org/idb/-/idb-5.0.6.tgz" + +idb@^7.0.1: + version "7.1.1" + resolved "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz" + +identity-obj-proxy@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz" + dependencies: + harmony-reflect "^1.4.6" + +ieee754@^1.1.13, ieee754@^1.1.4: + version "1.2.1" + resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" + +ignore@^5.2.0: + version "5.2.4" + resolved "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz" + +immer@9.0.6: + version "9.0.6" + resolved "https://registry.npmjs.org/immer/-/immer-9.0.6.tgz" + +immer@^9.0.21, immer@^9.0.7: + version "9.0.21" + resolved "https://registry.yarnpkg.com/immer/-/immer-9.0.21.tgz#1e025ea31a40f24fb064f1fef23e931496330176" + +import-fresh@^3.0.0, import-fresh@^3.1.0, import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +import-local@^3.0.2: + version "3.1.0" + resolved "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz" + dependencies: + pkg-dir "^4.2.0" + resolve-cwd "^3.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" + +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz" + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" + +inherits@2.0.3: + version "2.0.3" + resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" + +ini@^1.3.5: + version "1.3.8" + resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" + +internal-slot@^1.0.3, internal-slot@^1.0.4, internal-slot@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.5.tgz#f2a2ee21f668f8627a4667f309dc0f4fb6674986" + dependencies: + get-intrinsic "^1.2.0" + has "^1.0.3" + side-channel "^1.0.4" + +invariant@^2.2.4: + version "2.2.4" + resolved "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz" + dependencies: + loose-envify "^1.0.0" + +ipaddr.js@1.9.1: + version "1.9.1" + resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz" + +ipaddr.js@^2.0.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.1.0.tgz#2119bc447ff8c257753b196fc5f1ce08a4cdf39f" + +is-arguments@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.2.tgz#f2653ced8412081638ecb0ebbd0c41c6e0aecbbe" + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.0" + is-typed-array "^1.1.10" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" + +is-bigint@^1.0.1: + version "1.0.4" + resolved "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz" + dependencies: + has-bigints "^1.0.1" + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" + dependencies: + binary-extensions "^2.0.0" + +is-boolean-object@^1.1.0: + version "1.1.2" + resolved "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz" + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: + version "1.2.7" + resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz" + +is-core-module@^2.11.0, is-core-module@^2.9.0: + version "2.12.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.12.1.tgz#0c0b6885b6f80011c71541ce15c8d66cf5a4f9fd" + dependencies: + has "^1.0.3" + +is-date-object@^1.0.1, is-date-object@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" + dependencies: + has-tostringtag "^1.0.0" + +is-docker@^2.0.0, is-docker@^2.1.1: + version "2.2.1" + resolved "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz" + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" + +is-generator-fn@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz" + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" + dependencies: + is-extglob "^2.1.1" + +is-in-browser@^1.0.2, is-in-browser@^1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/is-in-browser/-/is-in-browser-1.1.3.tgz" -"jest-resolve@*", "jest-resolve@^27.4.2", "jest-resolve@^27.5.1": - "integrity" "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==" - "resolved" "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz" - "version" "27.5.1" +is-map@^2.0.1, is-map@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.2.tgz#00922db8c9bf73e81b7a335827bc2a43f2b91127" + +is-module@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz" + +is-negative-zero@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz" + +is-number-object@^1.0.4: + version "1.0.7" + resolved "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz" + dependencies: + has-tostringtag "^1.0.0" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" + +is-obj@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz" + +is-path-inside@^3.0.3: + version "3.0.3" + resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz" + +is-plain-obj@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz" + +is-potential-custom-element-name@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz" + +is-regex@^1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz" + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz" + +is-root@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz" + +is-set@^2.0.1, is-set@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.2.tgz#90755fa4c2562dc1c5d4024760d6119b94ca18ec" + +is-shared-array-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz" + dependencies: + call-bind "^1.0.2" + +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" + +is-string@^1.0.5, is-string@^1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz" + dependencies: + has-tostringtag "^1.0.0" + +is-symbol@^1.0.2, is-symbol@^1.0.3: + version "1.0.4" + resolved "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz" + dependencies: + has-symbols "^1.0.2" + +is-typed-array@^1.1.10, is-typed-array@^1.1.9: + version "1.1.10" + resolved "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz" + dependencies: + 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" + +is-typedarray@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" + +is-weakmap@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.1.tgz#5008b59bdc43b698201d18f62b37b2ca243e8cf2" + +is-weakref@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz" + dependencies: + call-bind "^1.0.2" + +is-weakset@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.2.tgz#4569d67a747a1ce5a994dfd4ef6dcea76e7c0a1d" + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + +is-wsl@^2.2.0: + version "2.2.0" + resolved "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz" + dependencies: + is-docker "^2.0.0" + +isarray@^1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" + +isarray@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" + +isomorphic-unfetch@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/isomorphic-unfetch/-/isomorphic-unfetch-3.1.0.tgz" + dependencies: + node-fetch "^2.6.1" + unfetch "^4.2.0" + +istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: + version "3.2.0" + resolved "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz" + +istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0: + version "5.2.1" + resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz" + dependencies: + "@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" + +istanbul-lib-report@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz" + dependencies: + istanbul-lib-coverage "^3.0.0" + make-dir "^3.0.0" + supports-color "^7.1.0" + +istanbul-lib-source-maps@^4.0.0: + version "4.0.1" + resolved "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz" + dependencies: + debug "^4.1.1" + istanbul-lib-coverage "^3.0.0" + source-map "^0.6.1" + +istanbul-reports@^3.1.3: + version "3.1.5" + resolved "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz" + dependencies: + html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" + +jake@^10.8.5: + version "10.8.7" + resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.7.tgz#63a32821177940c33f356e0ba44ff9d34e1c7d8f" + dependencies: + async "^3.2.3" + chalk "^4.0.2" + filelist "^1.0.4" + minimatch "^3.1.2" + +jest-changed-files@^27.5.1: + version "27.5.1" + resolved "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz" dependencies: "@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" - -"jest-runner@^27.5.1": - "integrity" "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==" - "resolved" "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz" - "version" "27.5.1" + execa "^5.0.0" + throat "^6.0.1" + +jest-circus@^27.5.1: + version "27.5.1" + resolved "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz" dependencies: - "@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" - -"jest-runtime@^27.5.1": - "integrity" "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==" - "resolved" "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz" - "version" "27.5.1" + 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" + +jest-cli@^27.5.1: + version "27.5.1" + resolved "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz" dependencies: - "@jest/environment" "^27.5.1" - "@jest/fake-timers" "^27.5.1" - "@jest/globals" "^27.5.1" - "@jest/source-map" "^27.5.1" + "@jest/core" "^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" - -"jest-serializer@^27.0.6", "jest-serializer@^27.5.1": - "integrity" "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==" - "resolved" "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz" - "version" "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" + +jest-config@^27.5.1: + version "27.5.1" + resolved "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz" dependencies: - "@types/node" "*" - "graceful-fs" "^4.2.9" - -"jest-snapshot@^27.5.1": - "integrity" "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==" - "resolved" "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@babel/core" "^7.7.2" + "@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" + +jest-diff@^27.5.1: + version "27.5.1" + resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz" + dependencies: + chalk "^4.0.0" + diff-sequences "^27.5.1" + jest-get-type "^27.5.1" + pretty-format "^27.5.1" + +jest-diff@^29.6.1: + version "29.6.1" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.6.1.tgz#13df6db0a89ee6ad93c747c75c85c70ba941e545" + dependencies: + chalk "^4.0.0" + diff-sequences "^29.4.3" + jest-get-type "^29.4.3" + pretty-format "^29.6.1" + +jest-docblock@^27.5.1: + version "27.5.1" + resolved "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz" + dependencies: + detect-newline "^3.0.0" + +jest-each@^27.5.1: + version "27.5.1" + resolved "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz" + dependencies: + "@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" + +jest-environment-jsdom@^27.5.1: + version "27.5.1" + resolved "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz" + dependencies: + "@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" + +jest-environment-node@^27.5.1: + version "27.5.1" + resolved "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz" + dependencies: + "@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" + +jest-get-type@^27.5.1: + version "27.5.1" + resolved "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz" + +jest-get-type@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.4.3.tgz#1ab7a5207c995161100b5187159ca82dd48b3dd5" + +jest-haste-map@^27.5.1: + version "27.5.1" + resolved "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz" + dependencies: + "@jest/types" "^27.5.1" + "@types/graceful-fs" "^4.1.2" + "@types/node" "*" + anymatch "^3.0.3" + fb-watchman "^2.0.0" + 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" + optionalDependencies: + fsevents "^2.3.2" + +jest-jasmine2@^27.5.1: + version "27.5.1" + resolved "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz" + dependencies: + "@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" + +jest-leak-detector@^27.5.1: + version "27.5.1" + resolved "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz" + dependencies: + jest-get-type "^27.5.1" + pretty-format "^27.5.1" + +jest-matcher-utils@^27.5.1: + version "27.5.1" + resolved "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz" + dependencies: + chalk "^4.0.0" + jest-diff "^27.5.1" + jest-get-type "^27.5.1" + pretty-format "^27.5.1" + +jest-matcher-utils@^29.6.1: + version "29.6.1" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.6.1.tgz#6c60075d84655d6300c5d5128f46531848160b53" + dependencies: + chalk "^4.0.0" + jest-diff "^29.6.1" + jest-get-type "^29.4.3" + pretty-format "^29.6.1" + +jest-message-util@^27.5.1: + version "27.5.1" + resolved "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz" + dependencies: + "@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" + +jest-message-util@^28.1.3: + version "28.1.3" + resolved "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz" + dependencies: + "@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" + +jest-message-util@^29.6.1: + version "29.6.1" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.6.1.tgz#d0b21d87f117e1b9e165e24f245befd2ff34ff8d" + dependencies: + "@babel/code-frame" "^7.12.13" + "@jest/types" "^29.6.1" + "@types/stack-utils" "^2.0.0" + chalk "^4.0.0" + graceful-fs "^4.2.9" + micromatch "^4.0.4" + pretty-format "^29.6.1" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-mock@^27.5.1: + version "27.5.1" + resolved "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz" + dependencies: + "@jest/types" "^27.5.1" + "@types/node" "*" + +jest-pnp-resolver@^1.2.2: + version "1.2.3" + resolved "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz" + +jest-regex-util@^27.5.1: + version "27.5.1" + resolved "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz" + +jest-regex-util@^28.0.0: + version "28.0.2" + resolved "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz" + +jest-resolve-dependencies@^27.5.1: + version "27.5.1" + resolved "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz" + dependencies: + "@jest/types" "^27.5.1" + jest-regex-util "^27.5.1" + jest-snapshot "^27.5.1" + +jest-resolve@^27.4.2, jest-resolve@^27.5.1: + version "27.5.1" + resolved "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz" + dependencies: + "@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" + +jest-runner@^27.5.1: + version "27.5.1" + resolved "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz" + dependencies: + "@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" + +jest-runtime@^27.5.1: + version "27.5.1" + resolved "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz" + dependencies: + "@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" + +jest-serializer@^27.5.1: + version "27.5.1" + resolved "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz" + dependencies: + "@types/node" "*" + graceful-fs "^4.2.9" + +jest-snapshot@^27.5.1: + version "27.5.1" + resolved "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz" + dependencies: + "@babel/core" "^7.7.2" "@babel/generator" "^7.7.2" "@babel/plugin-syntax-typescript" "^7.7.2" "@babel/traverse" "^7.7.2" @@ -9386,4649 +7945,3199 @@ "@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" - -"jest-util@^27.2.0", "jest-util@^27.5.1": - "integrity" "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==" - "resolved" "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz" - "version" "27.5.1" + 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" + +jest-util@^27.5.1: + version "27.5.1" + resolved "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz" dependencies: "@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" + chalk "^4.0.0" + ci-info "^3.2.0" + graceful-fs "^4.2.9" + picomatch "^2.2.3" + +jest-util@^28.1.3: + version "28.1.3" + resolved "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz" + dependencies: + "@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-util@^29.6.1: + version "29.6.1" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.6.1.tgz#c9e29a87a6edbf1e39e6dee2b4689b8a146679cb" + dependencies: + "@jest/types" "^29.6.1" + "@types/node" "*" + chalk "^4.0.0" + ci-info "^3.2.0" + graceful-fs "^4.2.9" + picomatch "^2.2.3" + +jest-validate@^27.5.1: + version "27.5.1" + resolved "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz" + dependencies: + "@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" + +jest-watch-typeahead@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-1.1.0.tgz" + dependencies: + 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" + +jest-watcher@^27.5.1: + version "27.5.1" + resolved "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz" + dependencies: + "@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" + +jest-watcher@^28.0.0: + version "28.1.3" + resolved "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz" + dependencies: + "@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" + +jest-worker@^26.2.1: + version "26.6.2" + resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz" + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^7.0.0" + +jest-worker@^27.0.2, jest-worker@^27.4.5, jest-worker@^27.5.1: + version "27.5.1" + resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz" + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +jest-worker@^28.0.2: + version "28.1.3" + resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz" + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +jest@^27.4.3: + version "27.5.1" + resolved "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz" + dependencies: + "@jest/core" "^27.5.1" + import-local "^3.0.2" + jest-cli "^27.5.1" + +jiti@^1.18.2: + version "1.19.1" + resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.19.1.tgz#fa99e4b76a23053e0e7cde098efe1704a14c16f1" + +js-cookie@^2.2.1: + version "2.2.1" + resolved "https://registry.npmjs.org/js-cookie/-/js-cookie-2.2.1.tgz" + +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" + +js-yaml@^3.13.1: + version "3.14.1" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" + dependencies: + argparse "^2.0.1" + +jsdom@^16.6.0: + version "16.7.0" + resolved "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz" + dependencies: + 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@^2.5.1: + version "2.5.2" + resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz" + +json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: + version "2.3.1" + resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" + +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" + +json-schema@^0.4.0: + version "0.4.0" + resolved "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz" + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" + +json5@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" + dependencies: + minimist "^1.2.0" + +json5@^2.1.2, json5@^2.2.0, json5@^2.2.2: + version "2.2.3" + resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" + +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz" + dependencies: + universalify "^2.0.0" + optionalDependencies: + graceful-fs "^4.1.6" + +jsonpointer@^5.0.0: + version "5.0.1" + resolved "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz" + +jss-plugin-camel-case@^10.10.0: + version "10.10.0" + resolved "https://registry.yarnpkg.com/jss-plugin-camel-case/-/jss-plugin-camel-case-10.10.0.tgz#27ea159bab67eb4837fa0260204eb7925d4daa1c" + dependencies: + "@babel/runtime" "^7.3.1" + hyphenate-style-name "^1.0.3" + jss "10.10.0" + +jss-plugin-default-unit@^10.10.0: + version "10.10.0" + resolved "https://registry.yarnpkg.com/jss-plugin-default-unit/-/jss-plugin-default-unit-10.10.0.tgz#db3925cf6a07f8e1dd459549d9c8aadff9804293" + dependencies: + "@babel/runtime" "^7.3.1" + jss "10.10.0" + +jss-plugin-global@^10.10.0: + version "10.10.0" + resolved "https://registry.yarnpkg.com/jss-plugin-global/-/jss-plugin-global-10.10.0.tgz#1c55d3c35821fab67a538a38918292fc9c567efd" + dependencies: + "@babel/runtime" "^7.3.1" + jss "10.10.0" + +jss-plugin-nested@^10.10.0: + version "10.10.0" + resolved "https://registry.yarnpkg.com/jss-plugin-nested/-/jss-plugin-nested-10.10.0.tgz#db872ed8925688806e77f1fc87f6e62264513219" + dependencies: + "@babel/runtime" "^7.3.1" + jss "10.10.0" + tiny-warning "^1.0.2" + +jss-plugin-props-sort@^10.10.0: + version "10.10.0" + resolved "https://registry.yarnpkg.com/jss-plugin-props-sort/-/jss-plugin-props-sort-10.10.0.tgz#67f4dd4c70830c126f4ec49b4b37ccddb680a5d7" + dependencies: + "@babel/runtime" "^7.3.1" + jss "10.10.0" + +jss-plugin-rule-value-function@^10.10.0: + version "10.10.0" + resolved "https://registry.yarnpkg.com/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.10.0.tgz#7d99e3229e78a3712f78ba50ab342e881d26a24b" + dependencies: + "@babel/runtime" "^7.3.1" + jss "10.10.0" + tiny-warning "^1.0.2" + +jss-plugin-vendor-prefixer@^10.10.0: + version "10.10.0" + resolved "https://registry.yarnpkg.com/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.10.0.tgz#c01428ef5a89f2b128ec0af87a314d0c767931c7" + dependencies: + "@babel/runtime" "^7.3.1" + css-vendor "^2.0.8" + jss "10.10.0" + +jss@10.10.0, jss@^10.10.0: + version "10.10.0" + resolved "https://registry.yarnpkg.com/jss/-/jss-10.10.0.tgz#a75cc85b0108c7ac8c7b7d296c520a3e4fbc6ccc" + dependencies: + "@babel/runtime" "^7.3.1" + csstype "^3.0.2" + is-in-browser "^1.1.3" + tiny-warning "^1.0.2" + +"jsx-ast-utils@^2.4.1 || ^3.0.0": + version "3.3.3" + resolved "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz" + dependencies: + array-includes "^3.1.5" + object.assign "^4.1.3" + +jsx-ast-utils@^3.3.3: + version "3.3.4" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.4.tgz#b896535fed5b867650acce5a9bd4135ffc7b3bf9" + dependencies: + array-includes "^3.1.6" + array.prototype.flat "^1.3.1" + object.assign "^4.1.4" + object.values "^1.1.6" + +jwt-decode@^3.1.2: + version "3.1.2" + resolved "https://registry.npmjs.org/jwt-decode/-/jwt-decode-3.1.2.tgz" + +kind-of@^6.0.2: + version "6.0.3" + resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" + +kleur@^3.0.3: + version "3.0.3" + resolved "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz" + +klona@^2.0.4, klona@^2.0.5: + version "2.0.6" + resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.6.tgz#85bffbf819c03b2f53270412420a4555ef882e22" + +language-subtag-registry@~0.3.2: + version "0.3.22" + resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz#2e1500861b2e457eba7e7ae86877cbd08fa1fd1d" + +language-tags@=1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.5.tgz#d321dbc4da30ba8bf3024e040fa5c14661f9193a" + dependencies: + language-subtag-registry "~0.3.2" + +launch-editor@^2.6.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/launch-editor/-/launch-editor-2.6.0.tgz#4c0c1a6ac126c572bd9ff9a30da1d2cae66defd7" + dependencies: + picocolors "^1.0.0" + shell-quote "^1.7.3" + +leven@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz" + +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + +levn@~0.3.0: + version "0.3.0" + resolved "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz" + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +lilconfig@^2.0.3, lilconfig@^2.0.5, lilconfig@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52" + +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" + +loader-runner@^4.2.0: + version "4.3.0" + resolved "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz" + +loader-utils@^2.0.0, loader-utils@^2.0.4: + version "2.0.4" + resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz" + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^2.1.2" + +loader-utils@^3.2.0: + version "3.2.1" + resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz" + +locate-path@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz" + dependencies: + p-locate "^3.0.0" + path-exists "^3.0.0" + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" + dependencies: + p-locate "^4.1.0" + +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" + dependencies: + p-locate "^5.0.0" + +lodash-es@^4.17.21: + version "4.17.21" + resolved "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz" + +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz" + +lodash.memoize@^4.1.2: + version "4.1.2" + resolved "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz" + +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" + +lodash.sortby@^4.7.0: + version "4.7.0" + resolved "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz" + +lodash.throttle@^4.1.1: + version "4.1.1" + resolved "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz" + +lodash.uniq@^4.5.0: + version "4.5.0" + resolved "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz" + +lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.7.0: + version "4.17.21" + resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" + +loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +lower-case@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz" + dependencies: + tslib "^2.0.3" + +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" + dependencies: + yallist "^3.0.2" + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" + dependencies: + yallist "^4.0.0" + +lz-string@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.5.0.tgz#c1ab50f77887b712621201ba9fd4e3a6ed099941" + +magic-string@^0.25.0, magic-string@^0.25.7: + version "0.25.9" + resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz" + dependencies: + sourcemap-codec "^1.4.8" + +make-dir@^3.0.0, make-dir@^3.0.2, make-dir@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz" + dependencies: + semver "^6.0.0" + +makeerror@1.0.12: + version "1.0.12" + resolved "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz" + dependencies: + tmpl "1.0.5" + +map-obj@^4.0.0: + version "4.3.0" + resolved "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz" + +mdn-data@2.0.14: + version "2.0.14" + resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz" + +mdn-data@2.0.4: + version "2.0.4" + resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz" + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" + +memfs@^3.1.2, memfs@^3.4.3: + version "3.6.0" + resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.6.0.tgz#d7a2110f86f79dd950a8b6df6d57bc984aa185f6" + dependencies: + fs-monkey "^1.0.4" + +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz" + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" + +merge2@^1.3.0, merge2@^1.4.1: + version "1.4.1" + resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" + +methods@~1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz" + +micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: + version "4.0.5" + resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + +mime-db@1.52.0, "mime-db@>= 1.43.0 < 2": + version "1.52.0" + resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" + +mime-types@^2.1.12, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.24, mime-types@~2.1.34: + version "2.1.35" + resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" + dependencies: + mime-db "1.52.0" + +mime@1.6.0: + version "1.6.0" + resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" + +min-indent@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz" + +mini-css-extract-plugin@^2.4.5: + version "2.7.6" + resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.6.tgz#282a3d38863fddcd2e0c220aaed5b90bc156564d" + dependencies: + schema-utils "^4.0.0" + +minimalistic-assert@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz" + +minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: + version "3.1.2" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" + dependencies: + brace-expansion "^1.1.7" + +minimatch@^5.0.1: + version "5.1.6" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" + dependencies: + brace-expansion "^2.0.1" + +minimist@^1.2.0, minimist@^1.2.6: + version "1.2.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" + +mkdirp@~0.5.1: + version "0.5.6" + resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz" + dependencies: + minimist "^1.2.6" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" + +ms@2.1.3, ms@^2.1.1: + version "2.1.3" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" + +multicast-dns@^7.2.5: + version "7.2.5" + resolved "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz" + dependencies: + dns-packet "^5.2.2" + thunky "^1.0.2" + +mz@^2.7.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" + dependencies: + any-promise "^1.0.0" + object-assign "^4.0.1" + thenify-all "^1.0.0" + +nanoclone@^0.2.1: + version "0.2.1" + resolved "https://registry.npmjs.org/nanoclone/-/nanoclone-0.2.1.tgz" + +nanoid@^3.3.6: + version "3.3.6" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c" + +natural-compare-lite@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz" + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" + +negotiator@0.6.3: + version "0.6.3" + resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz" + +neo-async@^2.6.2: + version "2.6.2" + resolved "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz" + +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz" + +no-case@^3.0.4: + version "3.0.4" + resolved "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz" + dependencies: + lower-case "^2.0.2" + tslib "^2.0.3" + +node-fetch@^2.6.1, node-fetch@^2.6.11: + version "2.6.11" + resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.11.tgz" + dependencies: + whatwg-url "^5.0.0" + +node-forge@^1: + version "1.3.1" + resolved "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz" + +node-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz" + +node-releases@^2.0.12: + version "2.0.13" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.13.tgz#d5ed1627c23e3461e819b02e57b75e4899b1c81d" + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" + +normalize-range@^0.1.2: + version "0.1.2" + resolved "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz" + +normalize-url@^6.0.1: + version "6.1.0" + resolved "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz" + +notistack@^2.0.3: + version "2.0.8" + resolved "https://registry.yarnpkg.com/notistack/-/notistack-2.0.8.tgz#78cdf34c64e311bf1d1d71c2123396bcdea5e95b" + dependencies: + clsx "^1.1.0" + hoist-non-react-statics "^3.3.0" + +npm-run-path@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" + dependencies: + path-key "^3.0.0" + +nprogress@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz" + +nth-check@^1.0.2, nth-check@^2.0.1: + version "2.1.1" + resolved "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz" + dependencies: + boolbase "^1.0.0" + +nwsapi@^2.2.0: + version "2.2.7" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.7.tgz#738e0707d3128cb750dddcfe90e4610482df0f30" + +object-assign@^4.0.1, object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" + +object-hash@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz" + +object-inspect@^1.12.3, object-inspect@^1.9.0: + version "1.12.3" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" + +object-is@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" + +object.assign@^4.0.4, object.assign@^4.1.3, object.assign@^4.1.4: + version "4.1.4" + resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz" + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + has-symbols "^1.0.3" + object-keys "^1.1.1" + +object.entries@^1.1.6: + version "1.1.6" + resolved "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz" + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + +object.fromentries@^2.0.6: + version "2.0.6" + resolved "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz" + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + +object.getownpropertydescriptors@^2.1.0: + version "2.1.6" + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.6.tgz#5e5c384dd209fa4efffead39e3a0512770ccc312" + dependencies: + 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" + +object.hasown@^1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz" + dependencies: + define-properties "^1.1.4" + es-abstract "^1.20.4" + +object.values@^1.1.0, object.values@^1.1.6: + version "1.1.6" + resolved "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz" + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + +obuf@^1.0.0, obuf@^1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz" + +on-finished@2.4.1: + version "2.4.1" + resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz" + dependencies: + ee-first "1.1.1" + +on-headers@~1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz" + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" + dependencies: + wrappy "1" + +onetime@^5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" + dependencies: + mimic-fn "^2.1.0" + +open@^8.0.9, open@^8.4.0: + version "8.4.2" + resolved "https://registry.yarnpkg.com/open/-/open-8.4.2.tgz#5b5ffe2a8f793dcd2aad73e550cb87b59cb084f9" + dependencies: + define-lazy-prop "^2.0.0" + is-docker "^2.1.1" + is-wsl "^2.2.0" + +optimism@^0.10.0: + version "0.10.3" + resolved "https://registry.npmjs.org/optimism/-/optimism-0.10.3.tgz" + dependencies: + "@wry/context" "^0.4.0" + +optimism@^0.16.2: + version "0.16.2" + resolved "https://registry.yarnpkg.com/optimism/-/optimism-0.16.2.tgz#519b0c78b3b30954baed0defe5143de7776bf081" + dependencies: + "@wry/context" "^0.7.0" + "@wry/trie" "^0.3.0" + +optionator@^0.8.1: + version "0.8.3" + resolved "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz" + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.6" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + word-wrap "~1.2.3" + +optionator@^0.9.3: + version "0.9.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64" + dependencies: + "@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@^2.0.0, p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" + dependencies: + p-try "^2.0.0" + +p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" + dependencies: + yocto-queue "^0.1.0" + +p-locate@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz" + dependencies: + p-limit "^2.0.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" + dependencies: + p-limit "^2.2.0" + +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" + dependencies: + p-limit "^3.0.2" + +p-retry@^4.5.0: + version "4.6.2" + resolved "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz" + dependencies: + "@types/retry" "0.12.0" + retry "^0.13.1" + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" + +pako@2.0.4: + version "2.0.4" + resolved "https://registry.npmjs.org/pako/-/pako-2.0.4.tgz" + +param-case@^3.0.4: + version "3.0.4" + resolved "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz" + dependencies: + dot-case "^3.0.4" + tslib "^2.0.3" + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" + dependencies: + callsites "^3.0.0" + +parse-json@^5.0.0, parse-json@^5.2.0: + version "5.2.0" + resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" + dependencies: + "@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@6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz" + +parseurl@~1.3.2, parseurl@~1.3.3: + version "1.3.3" + resolved "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz" + +pascal-case@^3.1.2: + version "3.1.2" + resolved "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz" + dependencies: + no-case "^3.0.4" + tslib "^2.0.3" + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz" + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" + +path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz" + +path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" + +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz" + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" + +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz" + +picocolors@^0.2.1: + version "0.2.1" + resolved "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz" + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" + +pify@^2.3.0: + version "2.3.0" + resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" + +pirates@^4.0.1: + version "4.0.6" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9" + +pirates@^4.0.4: + version "4.0.5" + resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz" + +pkg-dir@^4.1.0, pkg-dir@^4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" + dependencies: + find-up "^4.0.0" + +pkg-up@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz" + dependencies: + find-up "^3.0.0" + +polished@^1.9.3: + version "1.9.3" + resolved "https://registry.npmjs.org/polished/-/polished-1.9.3.tgz" + +postcss-attribute-case-insensitive@^5.0.2: + version "5.0.2" + resolved "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz" + dependencies: + postcss-selector-parser "^6.0.10" + +postcss-browser-comments@^4: + version "4.0.0" + resolved "https://registry.npmjs.org/postcss-browser-comments/-/postcss-browser-comments-4.0.0.tgz" + +postcss-calc@^8.2.3: + version "8.2.4" + resolved "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz" + dependencies: + postcss-selector-parser "^6.0.9" + postcss-value-parser "^4.2.0" + +postcss-clamp@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz" + dependencies: + postcss-value-parser "^4.2.0" + +postcss-color-functional-notation@^4.2.4: + version "4.2.4" + resolved "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz" + dependencies: + postcss-value-parser "^4.2.0" + +postcss-color-hex-alpha@^8.0.4: + version "8.0.4" + resolved "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz" + dependencies: + postcss-value-parser "^4.2.0" + +postcss-color-rebeccapurple@^7.1.1: + version "7.1.1" + resolved "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz" + dependencies: + postcss-value-parser "^4.2.0" + +postcss-colormin@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-5.3.1.tgz#86c27c26ed6ba00d96c79e08f3ffb418d1d1988f" + dependencies: + browserslist "^4.21.4" + caniuse-api "^3.0.0" + colord "^2.9.1" + postcss-value-parser "^4.2.0" + +postcss-convert-values@^5.1.3: + version "5.1.3" + resolved "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz" + dependencies: + browserslist "^4.21.4" + postcss-value-parser "^4.2.0" + +postcss-custom-media@^8.0.2: + version "8.0.2" + resolved "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz" + dependencies: + postcss-value-parser "^4.2.0" + +postcss-custom-properties@^12.1.10: + version "12.1.11" + resolved "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz" + dependencies: + postcss-value-parser "^4.2.0" + +postcss-custom-selectors@^6.0.3: + version "6.0.3" + resolved "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz" + dependencies: + postcss-selector-parser "^6.0.4" + +postcss-dir-pseudo-class@^6.0.5: + version "6.0.5" + resolved "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz" + dependencies: + postcss-selector-parser "^6.0.10" + +postcss-discard-comments@^5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz" + +postcss-discard-duplicates@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz" + +postcss-discard-empty@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz" + +postcss-discard-overridden@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz" + +postcss-double-position-gradients@^3.1.2: + version "3.1.2" + resolved "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz" + dependencies: + "@csstools/postcss-progressive-custom-properties" "^1.1.0" + postcss-value-parser "^4.2.0" + +postcss-env-function@^4.0.6: + version "4.0.6" + resolved "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-4.0.6.tgz" + dependencies: + postcss-value-parser "^4.2.0" + +postcss-flexbugs-fixes@^5.0.2: + version "5.0.2" + resolved "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz" + +postcss-focus-visible@^6.0.4: + version "6.0.4" + resolved "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz" + dependencies: + postcss-selector-parser "^6.0.9" + +postcss-focus-within@^5.0.4: + version "5.0.4" + resolved "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz" + dependencies: + postcss-selector-parser "^6.0.9" + +postcss-font-variant@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz" + +postcss-gap-properties@^3.0.5: + version "3.0.5" + resolved "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz" + +postcss-image-set-function@^4.0.7: + version "4.0.7" + resolved "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz" + dependencies: + postcss-value-parser "^4.2.0" + +postcss-import@^15.1.0: + version "15.1.0" + resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-15.1.0.tgz#41c64ed8cc0e23735a9698b3249ffdbf704adc70" + dependencies: + postcss-value-parser "^4.0.0" + read-cache "^1.0.0" + resolve "^1.1.7" + +postcss-initial@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz" + +postcss-js@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-4.0.1.tgz#61598186f3703bab052f1c4f7d805f3991bee9d2" + dependencies: + camelcase-css "^2.0.1" + +postcss-lab-function@^4.2.1: + version "4.2.1" + resolved "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz" + dependencies: + "@csstools/postcss-progressive-custom-properties" "^1.1.0" + postcss-value-parser "^4.2.0" + +postcss-load-config@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-4.0.1.tgz#152383f481c2758274404e4962743191d73875bd" + dependencies: + lilconfig "^2.0.5" + yaml "^2.1.1" + +postcss-loader@^6.2.1: + version "6.2.1" + resolved "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz" + dependencies: + cosmiconfig "^7.0.0" + klona "^2.0.5" + semver "^7.3.5" + +postcss-logical@^5.0.4: + version "5.0.4" + resolved "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz" + +postcss-media-minmax@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz" + +postcss-merge-longhand@^5.1.7: + version "5.1.7" + resolved "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz" + dependencies: + postcss-value-parser "^4.2.0" + stylehacks "^5.1.1" + +postcss-merge-rules@^5.1.4: + version "5.1.4" + resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz#2f26fa5cacb75b1402e213789f6766ae5e40313c" + dependencies: + browserslist "^4.21.4" + caniuse-api "^3.0.0" + cssnano-utils "^3.1.0" + postcss-selector-parser "^6.0.5" + +postcss-minify-font-values@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz" + dependencies: + postcss-value-parser "^4.2.0" + +postcss-minify-gradients@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz" + dependencies: + colord "^2.9.1" + cssnano-utils "^3.1.0" + postcss-value-parser "^4.2.0" + +postcss-minify-params@^5.1.4: + version "5.1.4" + resolved "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz" + dependencies: + browserslist "^4.21.4" + cssnano-utils "^3.1.0" + postcss-value-parser "^4.2.0" + +postcss-minify-selectors@^5.2.1: + version "5.2.1" + resolved "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz" + dependencies: + postcss-selector-parser "^6.0.5" + +postcss-modules-extract-imports@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz" + +postcss-modules-local-by-default@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz#b08eb4f083050708998ba2c6061b50c2870ca524" + dependencies: + icss-utils "^5.0.0" + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.1.0" + +postcss-modules-scope@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz" + dependencies: + postcss-selector-parser "^6.0.4" + +postcss-modules-values@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz" + dependencies: + icss-utils "^5.0.0" + +postcss-nested@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-6.0.1.tgz#f83dc9846ca16d2f4fa864f16e9d9f7d0961662c" + dependencies: + postcss-selector-parser "^6.0.11" -"jest-util@^28.1.3": - "integrity" "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==" - "resolved" "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz" - "version" "28.1.3" +postcss-nesting@^10.2.0: + version "10.2.0" + resolved "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.2.0.tgz" dependencies: - "@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" + "@csstools/selector-specificity" "^2.0.0" + postcss-selector-parser "^6.0.10" -"jest-util@^29.5.0": - "integrity" "sha512-RYMgG/MTadOr5t8KdhejfvUU82MxsCu5MF6KuDUHl+NuwzUt+Sm6jJWxTJVrDR1j5M/gJVCPKQEpWXY+yIQ6lQ==" - "resolved" "https://registry.npmjs.org/jest-util/-/jest-util-29.5.0.tgz" - "version" "29.5.0" +postcss-normalize-charset@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz" + +postcss-normalize-display-values@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz" dependencies: - "@jest/types" "^29.5.0" - "@types/node" "*" - "chalk" "^4.0.0" - "ci-info" "^3.2.0" - "graceful-fs" "^4.2.9" - "picomatch" "^2.2.3" - -"jest-validate@^26.5.2": - "integrity" "sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ==" - "resolved" "https://registry.npmjs.org/jest-validate/-/jest-validate-26.6.2.tgz" - "version" "26.6.2" - dependencies: - "@jest/types" "^26.6.2" - "camelcase" "^6.0.0" - "chalk" "^4.0.0" - "jest-get-type" "^26.3.0" - "leven" "^3.1.0" - "pretty-format" "^26.6.2" - -"jest-validate@^27.5.1": - "integrity" "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==" - "resolved" "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz" - "version" "27.5.1" + postcss-value-parser "^4.2.0" + +postcss-normalize-positions@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz" dependencies: - "@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" - -"jest-watch-typeahead@^1.0.0": - "integrity" "sha512-Va5nLSJTN7YFtC2jd+7wsoe1pNe5K4ShLux/E5iHEwlB9AxaxmggY7to9KUqKojhaJw3aXqt5WAb4jGPOolpEw==" - "resolved" "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-1.1.0.tgz" - "version" "1.1.0" - dependencies: - "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" - -"jest-watcher@^27.5.1": - "integrity" "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==" - "resolved" "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz" - "version" "27.5.1" + postcss-value-parser "^4.2.0" + +postcss-normalize-repeat-style@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz" dependencies: - "@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" + postcss-value-parser "^4.2.0" -"jest-watcher@^28.0.0": - "integrity" "sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==" - "resolved" "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz" - "version" "28.1.3" +postcss-normalize-string@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz" dependencies: - "@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" + postcss-value-parser "^4.2.0" -"jest-worker@^26.2.1": - "integrity" "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==" - "resolved" "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz" - "version" "26.6.2" +postcss-normalize-timing-functions@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz" dependencies: - "@types/node" "*" - "merge-stream" "^2.0.0" - "supports-color" "^7.0.0" + postcss-value-parser "^4.2.0" -"jest-worker@^27.0.2", "jest-worker@^27.2.0", "jest-worker@^27.4.5", "jest-worker@^27.5.1": - "integrity" "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==" - "resolved" "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz" - "version" "27.5.1" +postcss-normalize-unicode@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz" dependencies: - "@types/node" "*" - "merge-stream" "^2.0.0" - "supports-color" "^8.0.0" + browserslist "^4.21.4" + postcss-value-parser "^4.2.0" -"jest-worker@^28.0.2": - "integrity" "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==" - "resolved" "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz" - "version" "28.1.3" +postcss-normalize-url@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz" dependencies: - "@types/node" "*" - "merge-stream" "^2.0.0" - "supports-color" "^8.0.0" + normalize-url "^6.0.1" + postcss-value-parser "^4.2.0" -"jest@^27.0.0 || ^28.0.0", "jest@^27.4.3": - "integrity" "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==" - "resolved" "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz" - "version" "27.5.1" +postcss-normalize-whitespace@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz" dependencies: - "@jest/core" "^27.5.1" - "import-local" "^3.0.2" - "jest-cli" "^27.5.1" - -"joi@^17.2.1": - "integrity" "sha512-Itk/r+V4Dx0V3c7RLFdRh12IOjySm2/WGPMubBT92cQvRfYZhPM2W0hZlctjj72iES8jsRCwp7S/cRmWBnJ4nw==" - "resolved" "https://registry.npmjs.org/joi/-/joi-17.9.2.tgz" - "version" "17.9.2" - dependencies: - "@hapi/hoek" "^9.0.0" - "@hapi/topo" "^5.0.0" - "@sideway/address" "^4.1.3" - "@sideway/formula" "^3.0.1" - "@sideway/pinpoint" "^2.0.0" - -"js-cookie@^2.2.1": - "integrity" "sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ==" - "resolved" "https://registry.npmjs.org/js-cookie/-/js-cookie-2.2.1.tgz" - "version" "2.2.1" - -"js-sdsl@^4.1.4": - "version" "4.2.0" - -"js-tokens@^3.0.0 || ^4.0.0", "js-tokens@^4.0.0": - "integrity" "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - "resolved" "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" - "version" "4.0.0" - -"js-yaml@^3.13.1": - "integrity" "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==" - "resolved" "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" - "version" "3.14.1" - dependencies: - "argparse" "^1.0.7" - "esprima" "^4.0.0" - -"js-yaml@^4.1.0": - "integrity" "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==" - "resolved" "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "argparse" "^2.0.1" - -"jsc-android@^250231.0.0": - "integrity" "sha512-rS46PvsjYmdmuz1OAWXY/1kCYG7pnf1TBqeTiOJr1iDz7s5DLxxC9n/ZMknLDxzYzNVfI7R95MH10emSSG1Wuw==" - "resolved" "https://registry.npmjs.org/jsc-android/-/jsc-android-250231.0.0.tgz" - "version" "250231.0.0" - -"jsc-safe-url@^0.2.2": - "integrity" "sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q==" - "resolved" "https://registry.npmjs.org/jsc-safe-url/-/jsc-safe-url-0.2.4.tgz" - "version" "0.2.4" - -"jscodeshift@^0.13.1": - "integrity" "sha512-lGyiEbGOvmMRKgWk4vf+lUrCWO/8YR8sUR3FKF1Cq5fovjZDlIcw3Hu5ppLHAnEXshVffvaM0eyuY/AbOeYpnQ==" - "resolved" "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.13.1.tgz" - "version" "0.13.1" - dependencies: - "@babel/core" "^7.13.16" - "@babel/parser" "^7.13.16" - "@babel/plugin-proposal-class-properties" "^7.13.0" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.13.8" - "@babel/plugin-proposal-optional-chaining" "^7.13.12" - "@babel/plugin-transform-modules-commonjs" "^7.13.8" - "@babel/preset-flow" "^7.13.13" - "@babel/preset-typescript" "^7.13.0" - "@babel/register" "^7.13.16" - "babel-core" "^7.0.0-bridge.0" - "chalk" "^4.1.2" - "flow-parser" "0.*" - "graceful-fs" "^4.2.4" - "micromatch" "^3.1.10" - "neo-async" "^2.5.0" - "node-dir" "^0.1.17" - "recast" "^0.20.4" - "temp" "^0.8.4" - "write-file-atomic" "^2.3.0" - -"jsdom@^16.6.0": - "integrity" "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==" - "resolved" "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz" - "version" "16.7.0" - dependencies: - "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@^2.5.1": - "integrity" "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" - "resolved" "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" - "version" "2.5.2" - -"jsesc@~0.5.0": - "integrity" "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==" - "resolved" "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz" - "version" "0.5.0" - -"json-parse-better-errors@^1.0.1": - "integrity" "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" - "resolved" "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz" - "version" "1.0.2" - -"json-parse-even-better-errors@^2.3.0", "json-parse-even-better-errors@^2.3.1": - "integrity" "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" - "resolved" "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" - "version" "2.3.1" - -"json-schema-traverse@^0.4.1": - "integrity" "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - "resolved" "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" - "version" "0.4.1" - -"json-schema-traverse@^1.0.0": - "integrity" "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - "resolved" "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" - "version" "1.0.0" - -"json-schema@^0.4.0": - "integrity" "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" - "resolved" "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz" - "version" "0.4.0" - -"json-stable-stringify-without-jsonify@^1.0.1": - "integrity" "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" - "resolved" "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" - "version" "1.0.1" - -"json5@^1.0.1": - "version" "1.0.2" - dependencies: - "minimist" "^1.2.0" - -"json5@^2.1.2", "json5@^2.2.0", "json5@^2.2.2": - "integrity" "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" - "resolved" "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" - "version" "2.2.3" - -"jsonfile@^4.0.0": - "integrity" "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==" - "resolved" "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz" - "version" "4.0.0" - optionalDependencies: - "graceful-fs" "^4.1.6" + postcss-value-parser "^4.2.0" -"jsonfile@^6.0.1": - "integrity" "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==" - "resolved" "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz" - "version" "6.1.0" +postcss-normalize@^10.0.1: + version "10.0.1" + resolved "https://registry.npmjs.org/postcss-normalize/-/postcss-normalize-10.0.1.tgz" dependencies: - "universalify" "^2.0.0" - optionalDependencies: - "graceful-fs" "^4.1.6" + "@csstools/normalize.css" "*" + postcss-browser-comments "^4" + sanitize.css "*" -"jsonpointer@^5.0.0": - "integrity" "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==" - "resolved" "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz" - "version" "5.0.1" +postcss-opacity-percentage@^1.1.2: + version "1.1.3" + resolved "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.3.tgz" -"jss-plugin-camel-case@^10.8.2": - "version" "10.9.0" +postcss-ordered-values@^5.1.3: + version "5.1.3" + resolved "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz" dependencies: - "@babel/runtime" "^7.3.1" - "hyphenate-style-name" "^1.0.3" - "jss" "10.9.0" + cssnano-utils "^3.1.0" + postcss-value-parser "^4.2.0" -"jss-plugin-default-unit@^10.8.2": - "version" "10.9.0" +postcss-overflow-shorthand@^3.0.4: + version "3.0.4" + resolved "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz" dependencies: - "@babel/runtime" "^7.3.1" - "jss" "10.9.0" + postcss-value-parser "^4.2.0" -"jss-plugin-global@^10.8.2": - "version" "10.9.0" - dependencies: - "@babel/runtime" "^7.3.1" - "jss" "10.9.0" +postcss-page-break@^3.0.4: + version "3.0.4" + resolved "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz" -"jss-plugin-nested@^10.8.2": - "version" "10.9.0" +postcss-place@^7.0.5: + version "7.0.5" + resolved "https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.5.tgz" dependencies: - "@babel/runtime" "^7.3.1" - "jss" "10.9.0" - "tiny-warning" "^1.0.2" + postcss-value-parser "^4.2.0" -"jss-plugin-props-sort@^10.8.2": - "version" "10.9.0" +postcss-preset-env@^7.0.1: + version "7.8.3" + resolved "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.8.3.tgz" dependencies: - "@babel/runtime" "^7.3.1" - "jss" "10.9.0" + "@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@^7.1.6: + version "7.1.6" + resolved "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz" + dependencies: + postcss-selector-parser "^6.0.10" + +postcss-reduce-initial@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz#798cd77b3e033eae7105c18c9d371d989e1382d6" + dependencies: + browserslist "^4.21.4" + caniuse-api "^3.0.0" + +postcss-reduce-transforms@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz" + dependencies: + postcss-value-parser "^4.2.0" + +postcss-replace-overflow-wrap@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz" + +postcss-selector-not@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz" + dependencies: + postcss-selector-parser "^6.0.10" + +postcss-selector-parser@^6.0.10, postcss-selector-parser@^6.0.11, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5, postcss-selector-parser@^6.0.9: + version "6.0.13" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz#d05d8d76b1e8e173257ef9d60b706a8e5e99bf1b" + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + +postcss-svgo@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz" + dependencies: + postcss-value-parser "^4.2.0" + svgo "^2.7.0" + +postcss-unique-selectors@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz" + dependencies: + postcss-selector-parser "^6.0.5" + +postcss-value-parser@^4.0.0, postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz" + +postcss@^7.0.35: + version "7.0.39" + resolved "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz" + dependencies: + picocolors "^0.2.1" + source-map "^0.6.1" + +postcss@^8.3.5, postcss@^8.4.21, postcss@^8.4.23, postcss@^8.4.4: + version "8.4.25" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.25.tgz#4a133f5e379eda7f61e906c3b1aaa9b81292726f" + dependencies: + nanoid "^3.3.6" + picocolors "^1.0.0" + source-map-js "^1.0.2" + +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz" + +prettier@^2.6.1: + version "2.8.8" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" + +pretty-bytes@^5.3.0, pretty-bytes@^5.4.1: + version "5.6.0" + resolved "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz" -"jss-plugin-rule-value-function@^10.8.2": - "version" "10.9.0" +pretty-error@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz" dependencies: - "@babel/runtime" "^7.3.1" - "jss" "10.9.0" - "tiny-warning" "^1.0.2" + lodash "^4.17.20" + renderkid "^3.0.0" -"jss-plugin-vendor-prefixer@^10.8.2": - "version" "10.9.0" +pretty-format@^27.0.2, pretty-format@^27.5.1: + version "27.5.1" + resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz" dependencies: - "@babel/runtime" "^7.3.1" - "css-vendor" "^2.0.8" - "jss" "10.9.0" + ansi-regex "^5.0.1" + ansi-styles "^5.0.0" + react-is "^17.0.1" -"jss@^10.8.2", "jss@10.9.0": - "version" "10.9.0" +pretty-format@^28.1.3: + version "28.1.3" + resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz" dependencies: - "@babel/runtime" "^7.3.1" - "csstype" "^3.0.2" - "is-in-browser" "^1.1.3" - "tiny-warning" "^1.0.2" + "@jest/schemas" "^28.1.3" + ansi-regex "^5.0.1" + ansi-styles "^5.0.0" + react-is "^18.0.0" -"jsx-ast-utils@^2.4.1 || ^3.0.0", "jsx-ast-utils@^3.3.2": - "integrity" "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==" - "resolved" "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz" - "version" "3.3.3" +pretty-format@^29.0.0, pretty-format@^29.6.1: + version "29.6.1" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.6.1.tgz#ec838c288850b7c4f9090b867c2d4f4edbfb0f3e" dependencies: - "array-includes" "^3.1.5" - "object.assign" "^4.1.3" + "@jest/schemas" "^29.6.0" + ansi-styles "^5.0.0" + react-is "^18.0.0" -"jwt-decode@^3.1.2": - "integrity" "sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A==" - "resolved" "https://registry.npmjs.org/jwt-decode/-/jwt-decode-3.1.2.tgz" - "version" "3.1.2" +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" -"kind-of@^3.0.2", "kind-of@^3.0.3": - "integrity" "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==" - "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz" - "version" "3.2.2" +promise@^8.1.0: + version "8.3.0" + resolved "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz" dependencies: - "is-buffer" "^1.1.5" - -"kind-of@^3.2.0": - "integrity" "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==" - "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz" - "version" "3.2.2" - dependencies: - "is-buffer" "^1.1.5" + asap "~2.0.6" -"kind-of@^4.0.0": - "integrity" "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==" - "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz" - "version" "4.0.0" +prompts@^2.0.1, prompts@^2.4.2: + version "2.4.2" + resolved "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz" dependencies: - "is-buffer" "^1.1.5" - -"kind-of@^5.0.0": - "integrity" "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" - "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz" - "version" "5.1.0" + kleur "^3.0.3" + sisteransi "^1.0.5" -"kind-of@^6.0.0", "kind-of@^6.0.2": - "integrity" "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" - "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" - "version" "6.0.3" - -"kleur@^3.0.3": - "integrity" "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==" - "resolved" "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz" - "version" "3.0.3" - -"klona@^2.0.4", "klona@^2.0.5": - "version" "2.0.5" - -"language-subtag-registry@^0.3.20": - "version" "0.3.22" +prop-types@^15.5.10, prop-types@^15.5.7, prop-types@^15.6.0, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2, prop-types@^15.8.1: + version "15.8.1" + resolved "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz" + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.13.1" -"language-tags@^1.0.5": - "version" "1.0.7" - dependencies: - "language-subtag-registry" "^0.3.20" - -"leven@^3.1.0": - "integrity" "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==" - "resolved" "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz" - "version" "3.1.0" - -"levn@^0.4.1": - "integrity" "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==" - "resolved" "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" - "version" "0.4.1" - dependencies: - "prelude-ls" "^1.2.1" - "type-check" "~0.4.0" - -"levn@~0.3.0": - "integrity" "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==" - "resolved" "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz" - "version" "0.3.0" - dependencies: - "prelude-ls" "~1.1.2" - "type-check" "~0.3.2" - -"lilconfig@^2.0.3", "lilconfig@^2.0.5", "lilconfig@^2.0.6": - "version" "2.0.6" - -"lines-and-columns@^1.1.6": - "integrity" "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" - "resolved" "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" - "version" "1.2.4" - -"loader-runner@^4.2.0": - "integrity" "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==" - "resolved" "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz" - "version" "4.3.0" - -"loader-utils@^2.0.0", "loader-utils@^2.0.4": - "integrity" "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==" - "resolved" "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz" - "version" "2.0.4" - dependencies: - "big.js" "^5.2.2" - "emojis-list" "^3.0.0" - "json5" "^2.1.2" - -"loader-utils@^3.2.0": - "integrity" "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==" - "resolved" "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz" - "version" "3.2.1" +property-expr@^2.0.4: + version "2.0.5" + resolved "https://registry.npmjs.org/property-expr/-/property-expr-2.0.5.tgz" -"locate-path@^3.0.0": - "integrity" "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==" - "resolved" "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz" - "version" "3.0.0" +proxy-addr@~2.0.7: + version "2.0.7" + resolved "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz" dependencies: - "p-locate" "^3.0.0" - "path-exists" "^3.0.0" + forwarded "0.2.0" + ipaddr.js "1.9.1" -"locate-path@^5.0.0": - "integrity" "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==" - "resolved" "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" - "version" "5.0.0" - dependencies: - "p-locate" "^4.1.0" +psl@^1.1.33: + version "1.9.0" + resolved "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz" -"locate-path@^6.0.0": - "integrity" "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==" - "resolved" "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" - "version" "6.0.0" - dependencies: - "p-locate" "^5.0.0" +punycode@1.3.2: + version "1.3.2" + resolved "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz" -"lodash-es@^4.17.21": - "integrity" "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" - "resolved" "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz" - "version" "4.17.21" - -"lodash.debounce@^4.0.8": - "integrity" "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" - "resolved" "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz" - "version" "4.0.8" +punycode@^2.1.0, punycode@^2.1.1: + version "2.3.0" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" -"lodash.memoize@^4.1.2": - "integrity" "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" - "resolved" "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz" - "version" "4.1.2" +q@^1.1.2: + version "1.5.1" + resolved "https://registry.npmjs.org/q/-/q-1.5.1.tgz" -"lodash.merge@^4.6.2": - "integrity" "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" - "resolved" "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" - "version" "4.6.2" +qs@6.11.0: + version "6.11.0" + resolved "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz" + dependencies: + side-channel "^1.0.4" -"lodash.sortby@^4.7.0": - "integrity" "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" - "resolved" "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz" - "version" "4.7.0" +querystring@0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz" -"lodash.throttle@^4.1.1": - "integrity" "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==" - "resolved" "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz" - "version" "4.1.1" - -"lodash.uniq@^4.5.0": - "integrity" "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" - "resolved" "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz" - "version" "4.5.0" +querystring@^0.2.0: + version "0.2.1" + resolved "https://registry.npmjs.org/querystring/-/querystring-0.2.1.tgz" -"lodash@^4.17.15", "lodash@^4.17.20", "lodash@^4.17.21", "lodash@^4.7.0": - "integrity" "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - "resolved" "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" - "version" "4.17.21" +querystringify@^2.1.1: + version "2.2.0" + resolved "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz" -"log-symbols@^4.1.0": - "integrity" "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==" - "resolved" "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "chalk" "^4.1.0" - "is-unicode-supported" "^0.1.0" - -"logkitty@^0.7.1": - "integrity" "sha512-/3ER20CTTbahrCrpYfPn7Xavv9diBROZpoXGVZDWMw4b/X4uuUwAC0ki85tgsdMRONURyIJbcOvS94QsUBYPbQ==" - "resolved" "https://registry.npmjs.org/logkitty/-/logkitty-0.7.1.tgz" - "version" "0.7.1" - dependencies: - "ansi-fragments" "^0.2.1" - "dayjs" "^1.8.15" - "yargs" "^15.1.0" - -"loose-envify@^1.0.0", "loose-envify@^1.1.0", "loose-envify@^1.4.0": - "integrity" "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==" - "resolved" "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" - "version" "1.4.0" - dependencies: - "js-tokens" "^3.0.0 || ^4.0.0" +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" -"lower-case@^2.0.2": - "integrity" "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==" - "resolved" "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz" - "version" "2.0.2" - dependencies: - "tslib" "^2.0.3" - -"lru-cache@^5.1.1": - "integrity" "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==" - "resolved" "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" - "version" "5.1.1" - dependencies: - "yallist" "^3.0.2" - -"lru-cache@^6.0.0": - "integrity" "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==" - "resolved" "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" - "version" "6.0.0" - dependencies: - "yallist" "^4.0.0" - -"lz-string@^1.4.4": - "version" "1.4.4" - -"magic-string@^0.25.0", "magic-string@^0.25.7": - "integrity" "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==" - "resolved" "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz" - "version" "0.25.9" - dependencies: - "sourcemap-codec" "^1.4.8" - -"make-dir@^2.0.0", "make-dir@^2.1.0": - "integrity" "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==" - "resolved" "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "pify" "^4.0.1" - "semver" "^5.6.0" - -"make-dir@^3.0.0", "make-dir@^3.0.2", "make-dir@^3.1.0": - "integrity" "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==" - "resolved" "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "semver" "^6.0.0" - -"makeerror@1.0.12": - "integrity" "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==" - "resolved" "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz" - "version" "1.0.12" - dependencies: - "tmpl" "1.0.5" - -"map-cache@^0.2.2": - "integrity" "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==" - "resolved" "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz" - "version" "0.2.2" - -"map-obj@^4.0.0": - "integrity" "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==" - "resolved" "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz" - "version" "4.3.0" - -"map-visit@^1.0.0": - "integrity" "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==" - "resolved" "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "object-visit" "^1.0.0" - -"mdn-data@2.0.14": - "integrity" "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" - "resolved" "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz" - "version" "2.0.14" - -"mdn-data@2.0.4": - "integrity" "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" - "resolved" "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz" - "version" "2.0.4" - -"media-typer@0.3.0": - "integrity" "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==" - "resolved" "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" - "version" "0.3.0" - -"memfs@^3.1.2", "memfs@^3.4.3": - "version" "3.4.13" - dependencies: - "fs-monkey" "^1.0.3" - -"memoize-one@^5.0.0": - "integrity" "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==" - "resolved" "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz" - "version" "5.2.1" - -"merge-descriptors@1.0.1": - "integrity" "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" - "resolved" "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz" - "version" "1.0.1" - -"merge-stream@^2.0.0": - "integrity" "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - "resolved" "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" - "version" "2.0.0" - -"merge2@^1.3.0", "merge2@^1.4.1": - "integrity" "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" - "resolved" "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" - "version" "1.4.1" - -"methods@~1.1.2": - "integrity" "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==" - "resolved" "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz" - "version" "1.1.2" - -"metro-babel-transformer@0.73.10": - "integrity" "sha512-Yv2myTSnpzt/lTyurLvqYbBkytvUJcLHN8XD3t7W6rGiLTQPzmf1zypHQLphvcAXtCWBOXFtH7KLOSi2/qMg+A==" - "resolved" "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.73.10.tgz" - "version" "0.73.10" - dependencies: - "@babel/core" "^7.20.0" - "hermes-parser" "0.8.0" - "metro-source-map" "0.73.10" - "nullthrows" "^1.1.1" - -"metro-cache-key@0.73.10": - "integrity" "sha512-JMVDl/EREDiUW//cIcUzRjKSwE2AFxVWk47cFBer+KA4ohXIG2CQPEquT56hOw1Y1s6gKNxxs1OlAOEsubrFjw==" - "resolved" "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.73.10.tgz" - "version" "0.73.10" - -"metro-cache@0.73.10": - "integrity" "sha512-wPGlQZpdVlM404m7MxJqJ+hTReDr5epvfPbt2LerUAHY9RN99w61FeeAe25BMZBwgUgDtAsfGlJ51MBHg8MAqw==" - "resolved" "https://registry.npmjs.org/metro-cache/-/metro-cache-0.73.10.tgz" - "version" "0.73.10" - dependencies: - "metro-core" "0.73.10" - "rimraf" "^3.0.2" - -"metro-config@0.73.10": - "integrity" "sha512-wIlybd1Z9I8K2KcStTiJxTB7OK529dxFgogNpKCTU/3DxkgAASqSkgXnZP6kVyqjh5EOWAKFe5U6IPic7kXDdQ==" - "resolved" "https://registry.npmjs.org/metro-config/-/metro-config-0.73.10.tgz" - "version" "0.73.10" - dependencies: - "cosmiconfig" "^5.0.5" - "jest-validate" "^26.5.2" - "metro" "0.73.10" - "metro-cache" "0.73.10" - "metro-core" "0.73.10" - "metro-runtime" "0.73.10" - -"metro-core@0.73.10": - "integrity" "sha512-5uYkajIxKyL6W45iz/ftNnYPe1l92CvF2QJeon1CHsMXkEiOJxEjo41l+iSnO/YodBGrmMCyupSO4wOQGUc0lw==" - "resolved" "https://registry.npmjs.org/metro-core/-/metro-core-0.73.10.tgz" - "version" "0.73.10" - dependencies: - "lodash.throttle" "^4.1.1" - "metro-resolver" "0.73.10" - -"metro-file-map@0.73.10": - "integrity" "sha512-XOMWAybeaXyD6zmVZPnoCCL2oO3rp4ta76oUlqWP0skBzhFxVtkE/UtDwApEMUY361JeBBago647gnKiARs+1g==" - "resolved" "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.73.10.tgz" - "version" "0.73.10" - dependencies: - "abort-controller" "^3.0.0" - "anymatch" "^3.0.3" - "debug" "^2.2.0" - "fb-watchman" "^2.0.0" - "graceful-fs" "^4.2.4" - "invariant" "^2.2.4" - "jest-regex-util" "^27.0.6" - "jest-serializer" "^27.0.6" - "jest-util" "^27.2.0" - "jest-worker" "^27.2.0" - "micromatch" "^4.0.4" - "nullthrows" "^1.1.1" - "walker" "^1.0.7" - optionalDependencies: - "fsevents" "^2.3.2" - -"metro-hermes-compiler@0.73.10": - "integrity" "sha512-rTRWEzkVrwtQLiYkOXhSdsKkIObnL+Jqo+IXHI7VEK2aSLWRAbtGNqECBs44kbOUypDYTFFE+WLtoqvUWqYkWg==" - "resolved" "https://registry.npmjs.org/metro-hermes-compiler/-/metro-hermes-compiler-0.73.10.tgz" - "version" "0.73.10" - -"metro-inspector-proxy@0.73.10": - "integrity" "sha512-CEEvocYc5xCCZBtGSIggMCiRiXTrnBbh8pmjKQqm9TtJZALeOGyt5pXUaEkKGnhrXETrexsg6yIbsQHhEvVfvQ==" - "resolved" "https://registry.npmjs.org/metro-inspector-proxy/-/metro-inspector-proxy-0.73.10.tgz" - "version" "0.73.10" - dependencies: - "connect" "^3.6.5" - "debug" "^2.2.0" - "ws" "^7.5.1" - "yargs" "^17.5.1" - -"metro-minify-terser@0.73.10": - "integrity" "sha512-uG7TSKQ/i0p9kM1qXrwbmY3v+6BrMItsOcEXcSP8Z+68bb+t9HeVK0T/hIfUu1v1PEnonhkhfzVsaP8QyTd5lQ==" - "resolved" "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.73.10.tgz" - "version" "0.73.10" - dependencies: - "terser" "^5.15.0" - -"metro-minify-uglify@0.73.10": - "integrity" "sha512-eocnSeJKnLz/UoYntVFhCJffED7SLSgbCHgNvI6ju6hFb6EFHGJT9OLbkJWeXaWBWD3Zw5mYLS8GGqGn/CHZPA==" - "resolved" "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.73.10.tgz" - "version" "0.73.10" - dependencies: - "uglify-es" "^3.1.9" - -"metro-react-native-babel-preset@0.73.10": - "integrity" "sha512-1/dnH4EHwFb2RKEKx34vVDpUS3urt2WEeR8FYim+ogqALg4sTpG7yeQPxWpbgKATezt4rNfqAANpIyH19MS4BQ==" - "resolved" "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.73.10.tgz" - "version" "0.73.10" - dependencies: - "@babel/core" "^7.20.0" - "@babel/plugin-proposal-async-generator-functions" "^7.0.0" - "@babel/plugin-proposal-class-properties" "^7.0.0" - "@babel/plugin-proposal-export-default-from" "^7.0.0" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.0.0" - "@babel/plugin-proposal-object-rest-spread" "^7.0.0" - "@babel/plugin-proposal-optional-catch-binding" "^7.0.0" - "@babel/plugin-proposal-optional-chaining" "^7.0.0" - "@babel/plugin-syntax-dynamic-import" "^7.0.0" - "@babel/plugin-syntax-export-default-from" "^7.0.0" - "@babel/plugin-syntax-flow" "^7.18.0" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.0.0" - "@babel/plugin-syntax-optional-chaining" "^7.0.0" - "@babel/plugin-transform-arrow-functions" "^7.0.0" - "@babel/plugin-transform-async-to-generator" "^7.0.0" - "@babel/plugin-transform-block-scoping" "^7.0.0" - "@babel/plugin-transform-classes" "^7.0.0" - "@babel/plugin-transform-computed-properties" "^7.0.0" - "@babel/plugin-transform-destructuring" "^7.0.0" - "@babel/plugin-transform-flow-strip-types" "^7.0.0" - "@babel/plugin-transform-function-name" "^7.0.0" - "@babel/plugin-transform-literals" "^7.0.0" - "@babel/plugin-transform-modules-commonjs" "^7.0.0" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.0.0" - "@babel/plugin-transform-parameters" "^7.0.0" - "@babel/plugin-transform-react-display-name" "^7.0.0" - "@babel/plugin-transform-react-jsx" "^7.0.0" - "@babel/plugin-transform-react-jsx-self" "^7.0.0" - "@babel/plugin-transform-react-jsx-source" "^7.0.0" - "@babel/plugin-transform-runtime" "^7.0.0" - "@babel/plugin-transform-shorthand-properties" "^7.0.0" - "@babel/plugin-transform-spread" "^7.0.0" - "@babel/plugin-transform-sticky-regex" "^7.0.0" - "@babel/plugin-transform-template-literals" "^7.0.0" - "@babel/plugin-transform-typescript" "^7.5.0" - "@babel/plugin-transform-unicode-regex" "^7.0.0" - "@babel/template" "^7.0.0" - "react-refresh" "^0.4.0" - -"metro-react-native-babel-transformer@0.73.10": - "integrity" "sha512-4G/upwqKdmKEjmsNa92/NEgsOxUWOygBVs+FXWfXWKgybrmcjh3NoqdRYrROo9ZRA/sB9Y/ZXKVkWOGKHtGzgg==" - "resolved" "https://registry.npmjs.org/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.73.10.tgz" - "version" "0.73.10" - dependencies: - "@babel/core" "^7.20.0" - "babel-preset-fbjs" "^3.4.0" - "hermes-parser" "0.8.0" - "metro-babel-transformer" "0.73.10" - "metro-react-native-babel-preset" "0.73.10" - "metro-source-map" "0.73.10" - "nullthrows" "^1.1.1" - -"metro-resolver@0.73.10": - "integrity" "sha512-HeXbs+0wjakaaVQ5BI7eT7uqxlZTc9rnyw6cdBWWMgUWB++KpoI0Ge7Hi6eQAOoVAzXC3m26mPFYLejpzTWjng==" - "resolved" "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.73.10.tgz" - "version" "0.73.10" - dependencies: - "absolute-path" "^0.0.0" - -"metro-runtime@0.73.10": - "integrity" "sha512-EpVKm4eN0Fgx2PEWpJ5NiMArV8zVoOin866jIIvzFLpmkZz1UEqgjf2JAfUJnjgv3fjSV3JqeGG2vZCaGQBTow==" - "resolved" "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.73.10.tgz" - "version" "0.73.10" - dependencies: - "@babel/runtime" "^7.0.0" - "react-refresh" "^0.4.0" - -"metro-source-map@0.73.10": - "integrity" "sha512-NAGv14701p/YaFZ76KzyPkacBw/QlEJF1f8elfs23N1tC33YyKLDKvPAzFJiYqjdcFvuuuDCA8JCXd2TgLxNPw==" - "resolved" "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.73.10.tgz" - "version" "0.73.10" - dependencies: - "@babel/traverse" "^7.20.0" - "@babel/types" "^7.20.0" - "invariant" "^2.2.4" - "metro-symbolicate" "0.73.10" - "nullthrows" "^1.1.1" - "ob1" "0.73.10" - "source-map" "^0.5.6" - "vlq" "^1.0.0" - -"metro-symbolicate@0.73.10": - "integrity" "sha512-PmCe3TOe1c/NVwMlB+B17me951kfkB3Wve5RqJn+ErPAj93od1nxicp6OJe7JT4QBRnpUP8p9tw2sHKqceIzkA==" - "resolved" "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.73.10.tgz" - "version" "0.73.10" - dependencies: - "invariant" "^2.2.4" - "metro-source-map" "0.73.10" - "nullthrows" "^1.1.1" - "source-map" "^0.5.6" - "through2" "^2.0.1" - "vlq" "^1.0.0" - -"metro-transform-plugins@0.73.10": - "integrity" "sha512-D4AgD3Vsrac+4YksaPmxs/0ocT67bvwTkFSIgWWeDvWwIG0U1iHzTS9f8Bvb4PITnXryDoFtjI6OWF7uOpGxpA==" - "resolved" "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.73.10.tgz" - "version" "0.73.10" - dependencies: - "@babel/core" "^7.20.0" - "@babel/generator" "^7.20.0" - "@babel/template" "^7.0.0" - "@babel/traverse" "^7.20.0" - "nullthrows" "^1.1.1" - -"metro-transform-worker@0.73.10": - "integrity" "sha512-IySvVubudFxahxOljWtP0QIMMpgUrCP0bW16cz2Enof0PdumwmR7uU3dTbNq6S+XTzuMHR+076aIe4VhPAWsIQ==" - "resolved" "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.73.10.tgz" - "version" "0.73.10" - dependencies: - "@babel/core" "^7.20.0" - "@babel/generator" "^7.20.0" - "@babel/parser" "^7.20.0" - "@babel/types" "^7.20.0" - "babel-preset-fbjs" "^3.4.0" - "metro" "0.73.10" - "metro-babel-transformer" "0.73.10" - "metro-cache" "0.73.10" - "metro-cache-key" "0.73.10" - "metro-hermes-compiler" "0.73.10" - "metro-source-map" "0.73.10" - "metro-transform-plugins" "0.73.10" - "nullthrows" "^1.1.1" - -"metro@0.73.10": - "integrity" "sha512-J2gBhNHFtc/Z48ysF0B/bfTwUwaRDLjNv7egfhQCc+934dpXcjJG2KZFeuybF+CvA9vo4QUi56G2U+RSAJ5tsA==" - "resolved" "https://registry.npmjs.org/metro/-/metro-0.73.10.tgz" - "version" "0.73.10" +quick-lru@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz" + +raf@^3.4.1: + version "3.4.1" + resolved "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz" dependencies: - "@babel/code-frame" "^7.0.0" - "@babel/core" "^7.20.0" - "@babel/generator" "^7.20.0" - "@babel/parser" "^7.20.0" - "@babel/template" "^7.0.0" - "@babel/traverse" "^7.20.0" - "@babel/types" "^7.20.0" - "absolute-path" "^0.0.0" - "accepts" "^1.3.7" - "async" "^3.2.2" - "chalk" "^4.0.0" - "ci-info" "^2.0.0" - "connect" "^3.6.5" - "debug" "^2.2.0" - "denodeify" "^1.2.1" - "error-stack-parser" "^2.0.6" - "graceful-fs" "^4.2.4" - "hermes-parser" "0.8.0" - "image-size" "^0.6.0" - "invariant" "^2.2.4" - "jest-worker" "^27.2.0" - "jsc-safe-url" "^0.2.2" - "lodash.throttle" "^4.1.1" - "metro-babel-transformer" "0.73.10" - "metro-cache" "0.73.10" - "metro-cache-key" "0.73.10" - "metro-config" "0.73.10" - "metro-core" "0.73.10" - "metro-file-map" "0.73.10" - "metro-hermes-compiler" "0.73.10" - "metro-inspector-proxy" "0.73.10" - "metro-minify-terser" "0.73.10" - "metro-minify-uglify" "0.73.10" - "metro-react-native-babel-preset" "0.73.10" - "metro-resolver" "0.73.10" - "metro-runtime" "0.73.10" - "metro-source-map" "0.73.10" - "metro-symbolicate" "0.73.10" - "metro-transform-plugins" "0.73.10" - "metro-transform-worker" "0.73.10" - "mime-types" "^2.1.27" - "node-fetch" "^2.2.0" - "nullthrows" "^1.1.1" - "rimraf" "^3.0.2" - "serialize-error" "^2.1.0" - "source-map" "^0.5.6" - "strip-ansi" "^6.0.0" - "temp" "0.8.3" - "throat" "^5.0.0" - "ws" "^7.5.1" - "yargs" "^17.5.1" - -"micromatch@^3.1.10": - "integrity" "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==" - "resolved" "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz" - "version" "3.1.10" - dependencies: - "arr-diff" "^4.0.0" - "array-unique" "^0.3.2" - "braces" "^2.3.1" - "define-property" "^2.0.2" - "extend-shallow" "^3.0.2" - "extglob" "^2.0.4" - "fragment-cache" "^0.2.1" - "kind-of" "^6.0.2" - "nanomatch" "^1.2.9" - "object.pick" "^1.3.0" - "regex-not" "^1.0.0" - "snapdragon" "^0.8.1" - "to-regex" "^3.0.2" - -"micromatch@^4.0.2", "micromatch@^4.0.4", "micromatch@^4.0.5": - "integrity" "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==" - "resolved" "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" - "version" "4.0.5" - dependencies: - "braces" "^3.0.2" - "picomatch" "^2.3.1" - -"mime-db@>= 1.43.0 < 2", "mime-db@1.52.0": - "integrity" "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - "resolved" "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" - "version" "1.52.0" - -"mime-types@^2.1.12", "mime-types@^2.1.27", "mime-types@^2.1.31", "mime-types@~2.1.17", "mime-types@~2.1.24", "mime-types@~2.1.34": - "integrity" "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==" - "resolved" "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" - "version" "2.1.35" - dependencies: - "mime-db" "1.52.0" - -"mime@^2.4.1": - "integrity" "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==" - "resolved" "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz" - "version" "2.6.0" - -"mime@1.6.0": - "integrity" "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" - "resolved" "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" - "version" "1.6.0" - -"mimic-fn@^2.1.0": - "integrity" "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" - "resolved" "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" - "version" "2.1.0" - -"min-indent@^1.0.0": - "integrity" "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==" - "resolved" "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz" - "version" "1.0.1" - -"mini-css-extract-plugin@^2.4.5": - "version" "2.7.2" - dependencies: - "schema-utils" "^4.0.0" - -"minimalistic-assert@^1.0.0": - "integrity" "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - "resolved" "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz" - "version" "1.0.1" - -"minimatch@^3.0.2", "minimatch@^3.0.4", "minimatch@^3.0.5", "minimatch@^3.1.1", "minimatch@^3.1.2": - "integrity" "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==" - "resolved" "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" - "version" "3.1.2" - dependencies: - "brace-expansion" "^1.1.7" - -"minimatch@^5.0.1": - "version" "5.1.2" - dependencies: - "brace-expansion" "^2.0.1" - -"minimist@^1.2.0", "minimist@^1.2.6": - "version" "1.2.7" - -"mixin-deep@^1.2.0": - "integrity" "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==" - "resolved" "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz" - "version" "1.3.2" - dependencies: - "for-in" "^1.0.2" - "is-extendable" "^1.0.1" - -"mkdirp@^0.5.1", "mkdirp@~0.5.1": - "integrity" "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==" - "resolved" "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz" - "version" "0.5.6" - dependencies: - "minimist" "^1.2.6" - -"monaco-editor@>= 0.21.0 < 1", "monaco-editor@>= 0.25.0 < 1": - "integrity" "sha512-zhbZ2Nx93tLR8aJmL2zI1mhJpsl87HMebNBM6R8z4pLfs8pj604pIVIVwyF1TivcfNtIPpMXL+nb3DsBmE/x6Q==" - "resolved" "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.39.0.tgz" - "version" "0.39.0" - -"ms@^2.1.1", "ms@2.1.3": - "integrity" "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" - "version" "2.1.3" - -"ms@2.0.0": - "integrity" "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - "resolved" "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" - "version" "2.0.0" - -"ms@2.1.2": - "integrity" "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" - "version" "2.1.2" - -"multicast-dns@^7.2.5": - "integrity" "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==" - "resolved" "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz" - "version" "7.2.5" - dependencies: - "dns-packet" "^5.2.2" - "thunky" "^1.0.2" - -"nanoclone@^0.2.1": - "integrity" "sha512-wynEP02LmIbLpcYw8uBKpcfF6dmg2vcpKqxeH5UcoKEYdExslsdUA4ugFauuaeYdTB76ez6gJW8XAZ6CgkXYxA==" - "resolved" "https://registry.npmjs.org/nanoclone/-/nanoclone-0.2.1.tgz" - "version" "0.2.1" - -"nanoid@^3.3.4": - "version" "3.3.4" - -"nanomatch@^1.2.9": - "integrity" "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==" - "resolved" "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz" - "version" "1.2.13" - dependencies: - "arr-diff" "^4.0.0" - "array-unique" "^0.3.2" - "define-property" "^2.0.2" - "extend-shallow" "^3.0.2" - "fragment-cache" "^0.2.1" - "is-windows" "^1.0.2" - "kind-of" "^6.0.2" - "object.pick" "^1.3.0" - "regex-not" "^1.0.0" - "snapdragon" "^0.8.1" - "to-regex" "^3.0.1" - -"natural-compare-lite@^1.4.0": - "integrity" "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==" - "resolved" "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz" - "version" "1.4.0" - -"natural-compare@^1.4.0": - "integrity" "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" - "resolved" "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" - "version" "1.4.0" - -"negotiator@0.6.3": - "integrity" "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" - "resolved" "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz" - "version" "0.6.3" - -"neo-async@^2.5.0", "neo-async@^2.6.2": - "integrity" "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" - "resolved" "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz" - "version" "2.6.2" - -"nice-try@^1.0.4": - "integrity" "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" - "resolved" "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz" - "version" "1.0.5" - -"no-case@^3.0.4": - "integrity" "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==" - "resolved" "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz" - "version" "3.0.4" - dependencies: - "lower-case" "^2.0.2" - "tslib" "^2.0.3" - -"nocache@^3.0.1": - "integrity" "sha512-WDD0bdg9mbq6F4mRxEYcPWwfA1vxd0mrvKOyxI7Xj/atfRHVeutzuWByG//jfm4uPzp0y4Kj051EORCBSQMycw==" - "resolved" "https://registry.npmjs.org/nocache/-/nocache-3.0.4.tgz" - "version" "3.0.4" - -"node-dir@^0.1.17": - "integrity" "sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==" - "resolved" "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz" - "version" "0.1.17" - dependencies: - "minimatch" "^3.0.2" - -"node-fetch@^2.2.0", "node-fetch@^2.6.0", "node-fetch@^2.6.1", "node-fetch@^2.6.11": - "integrity" "sha512-4I6pdBY1EthSqDmJkiNk3JIT8cswwR9nfeW/cPdUagJYEQG7R95WRH74wpz7ma8Gh/9dI9FP+OU+0E4FvtA55w==" - "resolved" "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.11.tgz" - "version" "2.6.11" - dependencies: - "whatwg-url" "^5.0.0" - -"node-forge@^1": - "integrity" "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==" - "resolved" "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz" - "version" "1.3.1" - -"node-int64@^0.4.0": - "integrity" "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==" - "resolved" "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz" - "version" "0.4.0" - -"node-releases@^2.0.6": - "version" "2.0.8" - -"node-stream-zip@^1.9.1": - "integrity" "sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==" - "resolved" "https://registry.npmjs.org/node-stream-zip/-/node-stream-zip-1.15.0.tgz" - "version" "1.15.0" - -"normalize-path@^3.0.0", "normalize-path@~3.0.0": - "integrity" "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - "resolved" "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" - "version" "3.0.0" - -"normalize-range@^0.1.2": - "integrity" "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==" - "resolved" "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz" - "version" "0.1.2" - -"normalize-url@^6.0.1": - "integrity" "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==" - "resolved" "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz" - "version" "6.1.0" - -"notistack@^2.0.3": - "version" "2.0.3" - dependencies: - "clsx" "^1.1.0" - "hoist-non-react-statics" "^3.3.0" - -"npm-run-path@^2.0.0": - "integrity" "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==" - "resolved" "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz" - "version" "2.0.2" - dependencies: - "path-key" "^2.0.0" - -"npm-run-path@^4.0.1": - "integrity" "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==" - "resolved" "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" - "version" "4.0.1" - dependencies: - "path-key" "^3.0.0" - -"nprogress@^0.2.0": - "integrity" "sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==" - "resolved" "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz" - "version" "0.2.0" - -"nth-check@^2.0.1","nth-check@^1.0.2": - "integrity" "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==" - "resolved" "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz" - "version" "2.1.1" - dependencies: - "boolbase" "^1.0.0" - -"nullthrows@^1.1.1": - "integrity" "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==" - "resolved" "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz" - "version" "1.1.1" - -"nwsapi@^2.2.0": - "version" "2.2.2" - -"ob1@0.73.10": - "integrity" "sha512-aO6EYC+QRRCkZxVJhCWhLKgVjhNuD6Gu1riGjxrIm89CqLsmKgxzYDDEsktmKsoDeRdWGQM5EdMzXDl5xcVfsw==" - "resolved" "https://registry.npmjs.org/ob1/-/ob1-0.73.10.tgz" - "version" "0.73.10" - -"object-assign@^4.1.1": - "integrity" "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" - "resolved" "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" - "version" "4.1.1" - -"object-copy@^0.1.0": - "integrity" "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==" - "resolved" "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz" - "version" "0.1.0" - dependencies: - "copy-descriptor" "^0.1.0" - "define-property" "^0.2.5" - "kind-of" "^3.0.3" - -"object-hash@^3.0.0": - "integrity" "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==" - "resolved" "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz" - "version" "3.0.0" - -"object-inspect@^1.12.2", "object-inspect@^1.9.0": - "version" "1.12.2" - -"object-keys@^1.1.1": - "integrity" "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" - "resolved" "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" - "version" "1.1.1" - -"object-visit@^1.0.0": - "integrity" "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==" - "resolved" "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz" - "version" "1.0.1" + performance-now "^2.1.0" + +randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" dependencies: - "isobject" "^3.0.0" - -"object.assign@^4.0.4", "object.assign@^4.1.3", "object.assign@^4.1.4": - "integrity" "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==" - "resolved" "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz" - "version" "4.1.4" + safe-buffer "^5.1.0" + +range-parser@^1.2.1, range-parser@~1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz" + +raw-body@2.5.1: + version "2.5.1" + resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz" dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.1.4" - "has-symbols" "^1.0.3" - "object-keys" "^1.1.1" + bytes "3.1.2" + http-errors "2.0.0" + iconv-lite "0.4.24" + unpipe "1.0.0" -"object.entries@^1.1.6": - "integrity" "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==" - "resolved" "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz" - "version" "1.1.6" +react-apexcharts@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/react-apexcharts/-/react-apexcharts-1.4.0.tgz" dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.1.4" - "es-abstract" "^1.20.4" + prop-types "^15.5.7" -"object.fromentries@^2.0.6": - "integrity" "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==" - "resolved" "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz" - "version" "2.0.6" +react-app-polyfill@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-3.0.0.tgz" dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.1.4" - "es-abstract" "^1.20.4" + 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" -"object.getownpropertydescriptors@^2.1.0": - "version" "2.1.5" +react-copy-to-clipboard@^5.0.4: + version "5.1.0" + resolved "https://registry.yarnpkg.com/react-copy-to-clipboard/-/react-copy-to-clipboard-5.1.0.tgz#09aae5ec4c62750ccb2e6421a58725eabc41255c" dependencies: - "array.prototype.reduce" "^1.0.5" - "call-bind" "^1.0.2" - "define-properties" "^1.1.4" - "es-abstract" "^1.20.4" + copy-to-clipboard "^3.3.1" + prop-types "^15.8.1" -"object.hasown@^1.1.2": - "integrity" "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==" - "resolved" "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz" - "version" "1.1.2" +react-day-picker@^7.0.5: + version "7.4.10" + resolved "https://registry.npmjs.org/react-day-picker/-/react-day-picker-7.4.10.tgz" dependencies: - "define-properties" "^1.1.4" - "es-abstract" "^1.20.4" + prop-types "^15.6.2" -"object.pick@^1.3.0": - "integrity" "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==" - "resolved" "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz" - "version" "1.3.0" +react-dev-utils@^12.0.1: + version "12.0.1" + resolved "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz" + dependencies: + "@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" + +react-dom@^17.0.2: + version "17.0.2" + resolved "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz" + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + scheduler "^0.20.2" + +react-dropzone@^12.0.4: + version "12.1.0" + resolved "https://registry.yarnpkg.com/react-dropzone/-/react-dropzone-12.1.0.tgz#e097b37e9da6f9e324efc757b7434ebc6f3dc2cb" + dependencies: + attr-accept "^2.2.2" + file-selector "^0.5.0" + prop-types "^15.8.1" + +react-error-overlay@^6.0.11: + version "6.0.11" + resolved "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz" + +react-fast-compare@^2.0.1: + version "2.0.4" + resolved "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-2.0.4.tgz" + +react-fast-compare@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-3.2.2.tgz#929a97a532304ce9fee4bcae44234f1ce2c21d49" + +react-helmet-async@^1.2.3: + version "1.3.0" + resolved "https://registry.yarnpkg.com/react-helmet-async/-/react-helmet-async-1.3.0.tgz#7bd5bf8c5c69ea9f02f6083f14ce33ef545c222e" dependencies: - "isobject" "^3.0.1" + "@babel/runtime" "^7.12.5" + invariant "^2.2.4" + prop-types "^15.7.2" + react-fast-compare "^3.2.0" + shallowequal "^1.1.0" + +react-icons@^4.3.1: + version "4.10.1" + resolved "https://registry.yarnpkg.com/react-icons/-/react-icons-4.10.1.tgz#3f3b5eec1f63c1796f6a26174a1091ca6437a500" + +react-if@^4.1.1: + version "4.1.5" + resolved "https://registry.yarnpkg.com/react-if/-/react-if-4.1.5.tgz#f23f49277779e07240c61bdc7ab12671ff3fc20f" + +react-is@^16.13.1, react-is@^16.7.0, react-is@^16.8.2: + version "16.13.1" + resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz" + +react-is@^17.0.1, react-is@^17.0.2: + version "17.0.2" + resolved "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz" -"object.values@^1.1.0", "object.values@^1.1.5", "object.values@^1.1.6": - "integrity" "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==" - "resolved" "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz" - "version" "1.1.6" +react-is@^18.0.0, react-is@^18.2.0: + version "18.2.0" + resolved "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz" + +react-native-get-random-values@^1.4.0: + version "1.9.0" + resolved "https://registry.npmjs.org/react-native-get-random-values/-/react-native-get-random-values-1.9.0.tgz" dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.1.4" - "es-abstract" "^1.20.4" + fast-base64-decode "^1.0.0" -"obuf@^1.0.0", "obuf@^1.1.2": - "integrity" "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" - "resolved" "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz" - "version" "1.1.2" +react-native-url-polyfill@^1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/react-native-url-polyfill/-/react-native-url-polyfill-1.3.0.tgz" + dependencies: + whatwg-url-without-unicode "8.0.0-3" -"on-finished@~2.3.0": - "integrity" "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==" - "resolved" "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz" - "version" "2.3.0" +react-redux@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-6.0.1.tgz#0d423e2c1cb10ada87293d47e7de7c329623ba4d" dependencies: - "ee-first" "1.1.1" + "@babel/runtime" "^7.3.1" + hoist-non-react-statics "^3.3.0" + invariant "^2.2.4" + loose-envify "^1.4.0" + prop-types "^15.7.2" + react-is "^16.8.2" -"on-finished@2.4.1": - "integrity" "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==" - "resolved" "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz" - "version" "2.4.1" +react-redux@^7.2.6: + version "7.2.9" + resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-7.2.9.tgz#09488fbb9416a4efe3735b7235055442b042481d" dependencies: - "ee-first" "1.1.1" + "@babel/runtime" "^7.15.4" + "@types/react-redux" "^7.1.20" + hoist-non-react-statics "^3.3.2" + loose-envify "^1.4.0" + prop-types "^15.7.2" + react-is "^17.0.2" -"on-headers@~1.0.2": - "integrity" "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" - "resolved" "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz" - "version" "1.0.2" +react-refresh@^0.11.0: + version "0.11.0" + resolved "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz" -"once@^1.3.0", "once@^1.3.1", "once@^1.4.0": - "integrity" "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==" - "resolved" "https://registry.npmjs.org/once/-/once-1.4.0.tgz" - "version" "1.4.0" +react-router-dom@6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.0.0.tgz" dependencies: - "wrappy" "1" + react-router "6.0.0" -"onetime@^5.1.0", "onetime@^5.1.2": - "integrity" "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==" - "resolved" "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" - "version" "5.1.2" +react-router@6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/react-router/-/react-router-6.0.0.tgz" dependencies: - "mimic-fn" "^2.1.0" + history "^5.0.3" -"open@^6.2.0": - "integrity" "sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==" - "resolved" "https://registry.npmjs.org/open/-/open-6.4.0.tgz" - "version" "6.4.0" +react-scripts@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz" dependencies: - "is-wsl" "^1.1.0" + "@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" + 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" + optionalDependencies: + fsevents "^2.3.2" -"open@^8.0.9", "open@^8.4.0": - "version" "8.4.0" +react-transition-group@^4.4.5: + version "4.4.5" + resolved "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz" dependencies: - "define-lazy-prop" "^2.0.0" - "is-docker" "^2.1.1" - "is-wsl" "^2.2.0" + "@babel/runtime" "^7.5.5" + dom-helpers "^5.0.1" + loose-envify "^1.4.0" + prop-types "^15.6.2" -"optimism@^0.10.0": - "integrity" "sha512-9A5pqGoQk49H6Vhjb9kPgAeeECfUDF6aIICbMDL23kDLStBn1MWk3YvcZ4xWF9CsSf6XEgvRLkXy4xof/56vVw==" - "resolved" "https://registry.npmjs.org/optimism/-/optimism-0.10.3.tgz" - "version" "0.10.3" +react@^17.0.2: + version "17.0.2" + resolved "https://registry.npmjs.org/react/-/react-17.0.2.tgz" dependencies: - "@wry/context" "^0.4.0" + loose-envify "^1.1.0" + object-assign "^4.1.1" -"optimism@^0.16.1": - "version" "0.16.1" +read-cache@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz" dependencies: - "@wry/context" "^0.6.0" - "@wry/trie" "^0.3.0" + pify "^2.3.0" -"optionator@^0.8.1": - "integrity" "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==" - "resolved" "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz" - "version" "0.8.3" - dependencies: - "deep-is" "~0.1.3" - "fast-levenshtein" "~2.0.6" - "levn" "~0.3.0" - "prelude-ls" "~1.1.2" - "type-check" "~0.3.2" - "word-wrap" "~1.2.3" - -"optionator@^0.9.1": - "integrity" "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==" - "resolved" "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz" - "version" "0.9.1" - dependencies: - "deep-is" "^0.1.3" - "fast-levenshtein" "^2.0.6" - "levn" "^0.4.1" - "prelude-ls" "^1.2.1" - "type-check" "^0.4.0" - "word-wrap" "^1.2.3" - -"ora@^5.4.1": - "integrity" "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==" - "resolved" "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz" - "version" "5.4.1" - dependencies: - "bl" "^4.1.0" - "chalk" "^4.1.0" - "cli-cursor" "^3.1.0" - "cli-spinners" "^2.5.0" - "is-interactive" "^1.0.0" - "is-unicode-supported" "^0.1.0" - "log-symbols" "^4.1.0" - "strip-ansi" "^6.0.0" - "wcwidth" "^1.0.1" - -"os-tmpdir@^1.0.0": - "integrity" "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==" - "resolved" "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz" - "version" "1.0.2" - -"p-finally@^1.0.0": - "integrity" "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==" - "resolved" "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz" - "version" "1.0.0" - -"p-limit@^2.0.0", "p-limit@^2.2.0": - "integrity" "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==" - "resolved" "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" - "version" "2.3.0" - dependencies: - "p-try" "^2.0.0" - -"p-limit@^3.0.2": - "integrity" "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==" - "resolved" "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "yocto-queue" "^0.1.0" - -"p-locate@^3.0.0": - "integrity" "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==" - "resolved" "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "p-limit" "^2.0.0" - -"p-locate@^4.1.0": - "integrity" "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==" - "resolved" "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "p-limit" "^2.2.0" - -"p-locate@^5.0.0": - "integrity" "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==" - "resolved" "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" - "version" "5.0.0" - dependencies: - "p-limit" "^3.0.2" - -"p-retry@^4.5.0": - "integrity" "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==" - "resolved" "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz" - "version" "4.6.2" +readable-stream@^2.0.1: + version "2.3.8" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" dependencies: - "@types/retry" "0.12.0" - "retry" "^0.13.1" + 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" -"p-try@^2.0.0": - "integrity" "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" - "resolved" "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" - "version" "2.2.0" +readable-stream@^3.0.6: + version "3.6.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" -"pako@2.0.4": - "integrity" "sha512-v8tweI900AUkZN6heMU/4Uy4cXRc2AYNRggVmTR+dEncawDJgCdLMximOVA2p4qO57WMynangsfGRb5WD6L1Bg==" - "resolved" "https://registry.npmjs.org/pako/-/pako-2.0.4.tgz" - "version" "2.0.4" +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" + dependencies: + picomatch "^2.2.1" -"param-case@^3.0.4": - "integrity" "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==" - "resolved" "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz" - "version" "3.0.4" +recursive-readdir@^2.2.2: + version "2.2.3" + resolved "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz" dependencies: - "dot-case" "^3.0.4" - "tslib" "^2.0.3" + minimatch "^3.0.5" -"parent-module@^1.0.0": - "integrity" "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==" - "resolved" "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" - "version" "1.0.1" +redent@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz" dependencies: - "callsites" "^3.0.0" + indent-string "^4.0.0" + strip-indent "^3.0.0" + +redux-thunk@^2.3.0, redux-thunk@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/redux-thunk/-/redux-thunk-2.4.2.tgz#b9d05d11994b99f7a91ea223e8b04cf0afa5ef3b" -"parse-json@^4.0.0": - "integrity" "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==" - "resolved" "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz" - "version" "4.0.0" +redux@^4.0.0, redux@^4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/redux/-/redux-4.2.1.tgz#c08f4306826c49b5e9dc901dee0452ea8fce6197" dependencies: - "error-ex" "^1.3.1" - "json-parse-better-errors" "^1.0.1" + "@babel/runtime" "^7.9.2" -"parse-json@^5.0.0", "parse-json@^5.2.0": - "integrity" "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==" - "resolved" "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" - "version" "5.2.0" +regenerate-unicode-properties@^10.1.0: + version "10.1.0" + resolved "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz" dependencies: - "@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@6.0.1": - "integrity" "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" - "resolved" "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz" - "version" "6.0.1" - -"parseurl@~1.3.2", "parseurl@~1.3.3": - "integrity" "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" - "resolved" "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz" - "version" "1.3.3" - -"pascal-case@^3.1.2": - "integrity" "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==" - "resolved" "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz" - "version" "3.1.2" - dependencies: - "no-case" "^3.0.4" - "tslib" "^2.0.3" - -"pascalcase@^0.1.1": - "integrity" "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==" - "resolved" "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz" - "version" "0.1.1" - -"path-exists@^3.0.0": - "integrity" "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==" - "resolved" "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz" - "version" "3.0.0" - -"path-exists@^4.0.0": - "integrity" "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - "resolved" "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" - "version" "4.0.0" - -"path-is-absolute@^1.0.0": - "integrity" "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" - "resolved" "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" - "version" "1.0.1" - -"path-key@^2.0.0", "path-key@^2.0.1": - "integrity" "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==" - "resolved" "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz" - "version" "2.0.1" - -"path-key@^3.0.0", "path-key@^3.1.0": - "integrity" "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - "resolved" "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" - "version" "3.1.1" - -"path-parse@^1.0.7": - "integrity" "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - "resolved" "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" - "version" "1.0.7" - -"path-to-regexp@0.1.7": - "integrity" "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" - "resolved" "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz" - "version" "0.1.7" - -"path-type@^4.0.0": - "integrity" "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" - "resolved" "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" - "version" "4.0.0" - -"performance-now@^2.1.0": - "integrity" "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" - "resolved" "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz" - "version" "2.1.0" - -"picocolors@^0.2.1": - "integrity" "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" - "resolved" "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz" - "version" "0.2.1" - -"picocolors@^1.0.0": - "integrity" "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" - "resolved" "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" - "version" "1.0.0" - -"picomatch@^2.0.4", "picomatch@^2.2.1", "picomatch@^2.2.2", "picomatch@^2.2.3", "picomatch@^2.3.1": - "integrity" "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" - "resolved" "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" - "version" "2.3.1" - -"pify@^2.3.0": - "integrity" "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" - "resolved" "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" - "version" "2.3.0" - -"pify@^4.0.1": - "integrity" "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" - "resolved" "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz" - "version" "4.0.1" - -"pirates@^4.0.4", "pirates@^4.0.5": - "integrity" "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==" - "resolved" "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz" - "version" "4.0.5" - -"pkg-dir@^3.0.0": - "integrity" "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==" - "resolved" "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "find-up" "^3.0.0" - -"pkg-dir@^4.1.0", "pkg-dir@^4.2.0": - "integrity" "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==" - "resolved" "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" - "version" "4.2.0" - dependencies: - "find-up" "^4.0.0" - -"pkg-up@^3.1.0": - "integrity" "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==" - "resolved" "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "find-up" "^3.0.0" - -"polished@^1.9.3": - "integrity" "sha512-4NmSD7fMFlM8roNxs7YXPv7UFRbYzb0gufR5zBxJLRzY54+zFsavxBo6zsQzP9ep6Hh3pC2pTyrpSTBEaB6IkQ==" - "resolved" "https://registry.npmjs.org/polished/-/polished-1.9.3.tgz" - "version" "1.9.3" - -"posix-character-classes@^0.1.0": - "integrity" "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==" - "resolved" "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz" - "version" "0.1.1" - -"postcss-attribute-case-insensitive@^5.0.2": - "integrity" "sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==" - "resolved" "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz" - "version" "5.0.2" - dependencies: - "postcss-selector-parser" "^6.0.10" - -"postcss-browser-comments@^4": - "integrity" "sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg==" - "resolved" "https://registry.npmjs.org/postcss-browser-comments/-/postcss-browser-comments-4.0.0.tgz" - "version" "4.0.0" - -"postcss-calc@^8.2.3": - "integrity" "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==" - "resolved" "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz" - "version" "8.2.4" - dependencies: - "postcss-selector-parser" "^6.0.9" - "postcss-value-parser" "^4.2.0" - -"postcss-clamp@^4.1.0": - "integrity" "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==" - "resolved" "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "postcss-value-parser" "^4.2.0" + regenerate "^1.4.2" + +regenerate@^1.4.2: + version "1.4.2" + resolved "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz" + +regenerator-runtime@^0.13.11, regenerator-runtime@^0.13.9: + version "0.13.11" + resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz" -"postcss-color-functional-notation@^4.2.4": - "integrity" "sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==" - "resolved" "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz" - "version" "4.2.4" +regenerator-transform@^0.15.1: + version "0.15.1" + resolved "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz" dependencies: - "postcss-value-parser" "^4.2.0" + "@babel/runtime" "^7.8.4" + +regex-parser@^2.2.11: + version "2.2.11" + resolved "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz" -"postcss-color-hex-alpha@^8.0.4": - "integrity" "sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==" - "resolved" "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz" - "version" "8.0.4" +regexp.prototype.flags@^1.4.3, regexp.prototype.flags@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz#fe7ce25e7e4cca8db37b6634c8a2c7009199b9cb" dependencies: - "postcss-value-parser" "^4.2.0" + call-bind "^1.0.2" + define-properties "^1.2.0" + functions-have-names "^1.2.3" -"postcss-color-rebeccapurple@^7.1.1": - "integrity" "sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==" - "resolved" "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz" - "version" "7.1.1" +regexpu-core@^5.3.1: + version "5.3.2" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.3.2.tgz#11a2b06884f3527aec3e93dbbf4a3b958a95546b" dependencies: - "postcss-value-parser" "^4.2.0" + "@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" -"postcss-colormin@^5.3.0": - "version" "5.3.0" +regjsparser@^0.9.1: + version "0.9.1" + resolved "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz" dependencies: - "browserslist" "^4.16.6" - "caniuse-api" "^3.0.0" - "colord" "^2.9.1" - "postcss-value-parser" "^4.2.0" + jsesc "~0.5.0" -"postcss-convert-values@^5.1.3": - "integrity" "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==" - "resolved" "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz" - "version" "5.1.3" +relateurl@^0.2.7: + version "0.2.7" + resolved "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz" + +renderkid@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz" dependencies: - "browserslist" "^4.21.4" - "postcss-value-parser" "^4.2.0" + css-select "^4.1.3" + dom-converter "^0.2.0" + htmlparser2 "^6.1.0" + lodash "^4.17.21" + strip-ansi "^6.0.1" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" -"postcss-custom-media@^8.0.2": - "integrity" "sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==" - "resolved" "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz" - "version" "8.0.2" +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" + +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz" + +reselect@^4.1.6, reselect@^4.1.8: + version "4.1.8" + resolved "https://registry.yarnpkg.com/reselect/-/reselect-4.1.8.tgz#3f5dc671ea168dccdeb3e141236f69f02eaec524" + +resolve-cwd@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz" dependencies: - "postcss-value-parser" "^4.2.0" + resolve-from "^5.0.0" + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" -"postcss-custom-properties@^12.1.10": - "integrity" "sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==" - "resolved" "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz" - "version" "12.1.11" +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" + +resolve-url-loader@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz" dependencies: - "postcss-value-parser" "^4.2.0" + 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" + +resolve.exports@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.1.tgz#05cfd5b3edf641571fd46fa608b610dda9ead999" -"postcss-custom-selectors@^6.0.3": - "integrity" "sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==" - "resolved" "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz" - "version" "6.0.3" +resolve@^1.1.7, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.1, resolve@^1.22.2: + version "1.22.2" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.2.tgz#0ed0943d4e301867955766c9f3e1ae6d01c6845f" dependencies: - "postcss-selector-parser" "^6.0.4" + is-core-module "^2.11.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" -"postcss-dir-pseudo-class@^6.0.5": - "integrity" "sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==" - "resolved" "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz" - "version" "6.0.5" +resolve@^2.0.0-next.4: + version "2.0.0-next.4" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.4.tgz#3d37a113d6429f496ec4752d2a2e58efb1fd4660" dependencies: - "postcss-selector-parser" "^6.0.10" + is-core-module "^2.9.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" -"postcss-discard-comments@^5.1.2": - "integrity" "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==" - "resolved" "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz" - "version" "5.1.2" +response-iterator@^0.2.6: + version "0.2.6" + resolved "https://registry.yarnpkg.com/response-iterator/-/response-iterator-0.2.6.tgz#249005fb14d2e4eeb478a3f735a28fd8b4c9f3da" -"postcss-discard-duplicates@^5.1.0": - "integrity" "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==" - "resolved" "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz" - "version" "5.1.0" +retry@^0.13.1: + version "0.13.1" + resolved "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz" -"postcss-discard-empty@^5.1.1": - "integrity" "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==" - "resolved" "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz" - "version" "5.1.1" +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" -"postcss-discard-overridden@^5.1.0": - "integrity" "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==" - "resolved" "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz" - "version" "5.1.0" +rifm@^0.12.1: + version "0.12.1" + resolved "https://registry.yarnpkg.com/rifm/-/rifm-0.12.1.tgz#8fa77f45b7f1cda2a0068787ac821f0593967ac4" -"postcss-double-position-gradients@^3.1.2": - "integrity" "sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==" - "resolved" "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz" - "version" "3.1.2" +rimraf@^3.0.0, rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" dependencies: - "@csstools/postcss-progressive-custom-properties" "^1.1.0" - "postcss-value-parser" "^4.2.0" + glob "^7.1.3" -"postcss-env-function@^4.0.6": - "integrity" "sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==" - "resolved" "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-4.0.6.tgz" - "version" "4.0.6" +rollup-plugin-terser@^7.0.0: + version "7.0.2" + resolved "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz" dependencies: - "postcss-value-parser" "^4.2.0" + "@babel/code-frame" "^7.10.4" + jest-worker "^26.2.1" + serialize-javascript "^4.0.0" + terser "^5.0.0" -"postcss-flexbugs-fixes@^5.0.2": - "integrity" "sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==" - "resolved" "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz" - "version" "5.0.2" +rollup@^2.43.1: + version "2.79.1" + resolved "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz" + optionalDependencies: + fsevents "~2.3.2" -"postcss-focus-visible@^6.0.4": - "integrity" "sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==" - "resolved" "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz" - "version" "6.0.4" +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" dependencies: - "postcss-selector-parser" "^6.0.9" + queue-microtask "^1.2.2" -"postcss-focus-within@^5.0.4": - "integrity" "sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==" - "resolved" "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz" - "version" "5.0.4" +safe-array-concat@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.0.0.tgz#2064223cba3c08d2ee05148eedbc563cd6d84060" dependencies: - "postcss-selector-parser" "^6.0.9" + call-bind "^1.0.2" + get-intrinsic "^1.2.0" + has-symbols "^1.0.3" + isarray "^2.0.5" -"postcss-font-variant@^5.0.0": - "integrity" "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==" - "resolved" "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz" - "version" "5.0.0" +safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" -"postcss-gap-properties@^3.0.5": - "integrity" "sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==" - "resolved" "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz" - "version" "3.0.5" +safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.1.0, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" -"postcss-image-set-function@^4.0.7": - "integrity" "sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==" - "resolved" "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz" - "version" "4.0.7" +safe-regex-test@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz" dependencies: - "postcss-value-parser" "^4.2.0" + call-bind "^1.0.2" + get-intrinsic "^1.1.3" + is-regex "^1.1.4" + +"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0": + version "2.1.2" + resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" + +sanitize.css@*: + version "13.0.0" + resolved "https://registry.npmjs.org/sanitize.css/-/sanitize.css-13.0.0.tgz" -"postcss-import@^14.1.0": - "version" "14.1.0" +sass-loader@^12.3.0: + version "12.6.0" + resolved "https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz" dependencies: - "postcss-value-parser" "^4.0.0" - "read-cache" "^1.0.0" - "resolve" "^1.1.7" + klona "^2.0.4" + neo-async "^2.6.2" -"postcss-initial@^4.0.1": - "integrity" "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==" - "resolved" "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz" - "version" "4.0.1" +sax@~1.2.4: + version "1.2.4" + resolved "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz" -"postcss-js@^4.0.0": - "version" "4.0.0" +saxes@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz" dependencies: - "camelcase-css" "^2.0.1" + xmlchars "^2.2.0" -"postcss-lab-function@^4.2.1": - "integrity" "sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==" - "resolved" "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz" - "version" "4.2.1" +scheduler@^0.20.2: + version "0.20.2" + resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz" dependencies: - "@csstools/postcss-progressive-custom-properties" "^1.1.0" - "postcss-value-parser" "^4.2.0" + loose-envify "^1.1.0" + object-assign "^4.1.1" -"postcss-load-config@^3.1.4": - "version" "3.1.4" +schema-utils@2.7.0: + version "2.7.0" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz" dependencies: - "lilconfig" "^2.0.5" - "yaml" "^1.10.2" + "@types/json-schema" "^7.0.4" + ajv "^6.12.2" + ajv-keywords "^3.4.1" -"postcss-loader@^6.2.1": - "integrity" "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==" - "resolved" "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz" - "version" "6.2.1" +schema-utils@^2.6.5: + version "2.7.1" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz" dependencies: - "cosmiconfig" "^7.0.0" - "klona" "^2.0.5" - "semver" "^7.3.5" + "@types/json-schema" "^7.0.5" + ajv "^6.12.4" + ajv-keywords "^3.5.2" -"postcss-logical@^5.0.4": - "integrity" "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==" - "resolved" "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz" - "version" "5.0.4" +schema-utils@^3.0.0, schema-utils@^3.1.1, schema-utils@^3.2.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.3.0.tgz#f50a88877c3c01652a15b622ae9e9795df7a60fe" + dependencies: + "@types/json-schema" "^7.0.8" + ajv "^6.12.5" + ajv-keywords "^3.5.2" -"postcss-media-minmax@^5.0.0": - "integrity" "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==" - "resolved" "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz" - "version" "5.0.0" +schema-utils@^4.0.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.2.0.tgz#70d7c93e153a273a805801882ebd3bff20d89c8b" + dependencies: + "@types/json-schema" "^7.0.9" + ajv "^8.9.0" + ajv-formats "^2.1.1" + ajv-keywords "^5.1.0" + +select-hose@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz" + +selfsigned@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz" + dependencies: + node-forge "^1" + +semver@^5.5.0: + version "5.7.1" + resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" + +semver@^6.0.0, semver@^6.3.0: + version "6.3.0" + resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" + +semver@^7.3.2, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8: + version "7.5.4" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" + dependencies: + lru-cache "^6.0.0" + +send@0.18.0: + version "0.18.0" + resolved "https://registry.npmjs.org/send/-/send-0.18.0.tgz" + dependencies: + 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" -"postcss-merge-longhand@^5.1.7": - "integrity" "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==" - "resolved" "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz" - "version" "5.1.7" +serialize-javascript@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz" dependencies: - "postcss-value-parser" "^4.2.0" - "stylehacks" "^5.1.1" + randombytes "^2.1.0" -"postcss-merge-rules@^5.1.3": - "version" "5.1.3" +serialize-javascript@^6.0.0, serialize-javascript@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.1.tgz#b206efb27c3da0b0ab6b52f48d170b7996458e5c" dependencies: - "browserslist" "^4.21.4" - "caniuse-api" "^3.0.0" - "cssnano-utils" "^3.1.0" - "postcss-selector-parser" "^6.0.5" + randombytes "^2.1.0" -"postcss-minify-font-values@^5.1.0": - "integrity" "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==" - "resolved" "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz" - "version" "5.1.0" +serve-index@^1.9.1: + version "1.9.1" + resolved "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz" dependencies: - "postcss-value-parser" "^4.2.0" + 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" -"postcss-minify-gradients@^5.1.1": - "integrity" "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==" - "resolved" "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz" - "version" "5.1.1" +serve-static@1.15.0: + version "1.15.0" + resolved "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz" dependencies: - "colord" "^2.9.1" - "cssnano-utils" "^3.1.0" - "postcss-value-parser" "^4.2.0" + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.3" + send "0.18.0" + +setprototypeof@1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz" -"postcss-minify-params@^5.1.4": - "integrity" "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==" - "resolved" "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz" - "version" "5.1.4" +setprototypeof@1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz" + +shallowequal@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz" + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz" dependencies: - "browserslist" "^4.21.4" - "cssnano-utils" "^3.1.0" - "postcss-value-parser" "^4.2.0" + shebang-regex "^1.0.0" -"postcss-minify-selectors@^5.2.1": - "integrity" "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==" - "resolved" "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz" - "version" "5.2.1" +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" dependencies: - "postcss-selector-parser" "^6.0.5" + shebang-regex "^3.0.0" -"postcss-modules-extract-imports@^3.0.0": - "integrity" "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==" - "resolved" "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz" - "version" "3.0.0" +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz" -"postcss-modules-local-by-default@^4.0.0": - "version" "4.0.0" +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" + +shell-quote@^1.7.3: + version "1.8.1" + resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.1.tgz#6dbf4db75515ad5bac63b4f1894c3a154c766680" + +side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz" + dependencies: + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" + +signal-exit@^3.0.2, signal-exit@^3.0.3: + version "3.0.7" + resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" + +simplebar-react@^2.3.6: + version "2.4.3" + resolved "https://registry.yarnpkg.com/simplebar-react/-/simplebar-react-2.4.3.tgz#79c830711c23a5ae457ef73420f5752d4a1b3133" + dependencies: + prop-types "^15.6.1" + simplebar "^5.3.9" + +simplebar@^5.3.6, simplebar@^5.3.9: + version "5.3.9" + resolved "https://registry.yarnpkg.com/simplebar/-/simplebar-5.3.9.tgz#168ea0eb6d52f29f03960e40d9b69a1b28cf6318" dependencies: - "icss-utils" "^5.0.0" - "postcss-selector-parser" "^6.0.2" - "postcss-value-parser" "^4.1.0" + "@juggle/resize-observer" "^3.3.1" + can-use-dom "^0.1.0" + core-js "^3.0.1" + lodash.debounce "^4.0.8" + lodash.memoize "^4.1.2" + lodash.throttle "^4.1.1" + +sisteransi@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz" -"postcss-modules-scope@^3.0.0": - "integrity" "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==" - "resolved" "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz" - "version" "3.0.0" +size-sensor@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/size-sensor/-/size-sensor-1.0.1.tgz" + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" + +slash@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz" + +sockjs@^0.3.24: + version "0.3.24" + resolved "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz" dependencies: - "postcss-selector-parser" "^6.0.4" + faye-websocket "^0.11.3" + uuid "^8.3.2" + websocket-driver "^0.7.4" + +source-list-map@^2.0.0, source-list-map@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz" -"postcss-modules-values@^4.0.0": - "integrity" "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==" - "resolved" "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz" - "version" "4.0.0" +source-map-js@^1.0.1, source-map-js@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz" + +source-map-loader@^3.0.0: + version "3.0.2" + resolved "https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.2.tgz" dependencies: - "icss-utils" "^5.0.0" + abab "^2.0.5" + iconv-lite "^0.6.3" + source-map-js "^1.0.1" -"postcss-nested@6.0.0": - "version" "6.0.0" +source-map-support@^0.5.6, source-map-support@~0.5.20: + version "0.5.21" + resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz" dependencies: - "postcss-selector-parser" "^6.0.10" + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map@0.6.1, source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" + +source-map@^0.5.7: + version "0.5.7" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" + +source-map@^0.7.3: + version "0.7.4" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz" -"postcss-nesting@^10.2.0": - "integrity" "sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==" - "resolved" "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.2.0.tgz" - "version" "10.2.0" +source-map@^0.8.0-beta.0: + version "0.8.0-beta.0" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz" dependencies: - "@csstools/selector-specificity" "^2.0.0" - "postcss-selector-parser" "^6.0.10" + whatwg-url "^7.0.0" -"postcss-normalize-charset@^5.1.0": - "integrity" "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==" - "resolved" "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz" - "version" "5.1.0" +sourcemap-codec@^1.4.8: + version "1.4.8" + resolved "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz" -"postcss-normalize-display-values@^5.1.0": - "integrity" "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==" - "resolved" "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz" - "version" "5.1.0" +spdy-transport@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz" dependencies: - "postcss-value-parser" "^4.2.0" + 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" -"postcss-normalize-positions@^5.1.1": - "integrity" "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==" - "resolved" "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz" - "version" "5.1.1" +spdy@^4.0.2: + version "4.0.2" + resolved "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz" dependencies: - "postcss-value-parser" "^4.2.0" + debug "^4.1.0" + handle-thing "^2.0.0" + http-deceiver "^1.2.7" + select-hose "^2.0.0" + spdy-transport "^3.0.0" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" -"postcss-normalize-repeat-style@^5.1.1": - "integrity" "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==" - "resolved" "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz" - "version" "5.1.1" +stable@^0.1.8: + version "0.1.8" + resolved "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz" + +stack-utils@^2.0.3: + version "2.0.6" + resolved "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz" dependencies: - "postcss-value-parser" "^4.2.0" + escape-string-regexp "^2.0.0" + +stackframe@^1.3.4: + version "1.3.4" + resolved "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz" + +state-local@^1.0.6: + version "1.0.7" + resolved "https://registry.npmjs.org/state-local/-/state-local-1.0.7.tgz" + +statuses@2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz" + +"statuses@>= 1.4.0 < 2": + version "1.5.0" + resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz" -"postcss-normalize-string@^5.1.0": - "integrity" "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==" - "resolved" "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz" - "version" "5.1.0" +stop-iteration-iterator@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz#6a60be0b4ee757d1ed5254858ec66b10c49285e4" dependencies: - "postcss-value-parser" "^4.2.0" + internal-slot "^1.0.4" -"postcss-normalize-timing-functions@^5.1.0": - "integrity" "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==" - "resolved" "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz" - "version" "5.1.0" +string-length@^4.0.1: + version "4.0.2" + resolved "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz" dependencies: - "postcss-value-parser" "^4.2.0" + char-regex "^1.0.2" + strip-ansi "^6.0.0" -"postcss-normalize-unicode@^5.1.1": - "integrity" "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==" - "resolved" "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz" - "version" "5.1.1" +string-length@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/string-length/-/string-length-5.0.1.tgz" dependencies: - "browserslist" "^4.21.4" - "postcss-value-parser" "^4.2.0" + char-regex "^2.0.0" + strip-ansi "^7.0.1" -"postcss-normalize-url@^5.1.0": - "integrity" "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==" - "resolved" "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz" - "version" "5.1.0" +string-natural-compare@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz" + +string-width@^4.1.0, string-width@^4.2.0: + version "4.2.3" + resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" dependencies: - "normalize-url" "^6.0.1" - "postcss-value-parser" "^4.2.0" + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" -"postcss-normalize-whitespace@^5.1.1": - "integrity" "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==" - "resolved" "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz" - "version" "5.1.1" +string.prototype.matchall@^4.0.6, string.prototype.matchall@^4.0.8: + version "4.0.8" + resolved "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz" dependencies: - "postcss-value-parser" "^4.2.0" + 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" -"postcss-normalize@^10.0.1": - "integrity" "sha512-+5w18/rDev5mqERcG3W5GZNMJa1eoYYNGo8gB7tEwaos0ajk3ZXAI4mHGcNT47NE+ZnZD1pEpUOFLvltIwmeJA==" - "resolved" "https://registry.npmjs.org/postcss-normalize/-/postcss-normalize-10.0.1.tgz" - "version" "10.0.1" +string.prototype.trim@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz#a68352740859f6893f14ce3ef1bb3037f7a90533" dependencies: - "@csstools/normalize.css" "*" - "postcss-browser-comments" "^4" - "sanitize.css" "*" + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" -"postcss-opacity-percentage@^1.1.2": - "integrity" "sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A==" - "resolved" "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.3.tgz" - "version" "1.1.3" +string.prototype.trimend@^1.0.6: + version "1.0.6" + resolved "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz" + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" -"postcss-ordered-values@^5.1.3": - "integrity" "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==" - "resolved" "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz" - "version" "5.1.3" +string.prototype.trimstart@^1.0.6: + version "1.0.6" + resolved "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz" dependencies: - "cssnano-utils" "^3.1.0" - "postcss-value-parser" "^4.2.0" + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" -"postcss-overflow-shorthand@^3.0.4": - "integrity" "sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==" - "resolved" "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz" - "version" "3.0.4" +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" dependencies: - "postcss-value-parser" "^4.2.0" + safe-buffer "~5.2.0" -"postcss-page-break@^3.0.4": - "integrity" "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==" - "resolved" "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz" - "version" "3.0.4" +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" + dependencies: + safe-buffer "~5.1.0" -"postcss-place@^7.0.5": - "integrity" "sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==" - "resolved" "https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.5.tgz" - "version" "7.0.5" +stringify-object@^3.3.0: + version "3.3.0" + resolved "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz" dependencies: - "postcss-value-parser" "^4.2.0" + get-own-enumerable-property-symbols "^3.0.0" + is-obj "^1.0.1" + is-regexp "^1.0.0" -"postcss-preset-env@^7.0.1": - "integrity" "sha512-T1LgRm5uEVFSEF83vHZJV2z19lHg4yJuZ6gXZZkqVsqv63nlr6zabMH3l4Pc01FQCyfWVrh2GaUeCVy9Po+Aag==" - "resolved" "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.8.3.tgz" - "version" "7.8.3" +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" dependencies: - "@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@^7.1.6": - "integrity" "sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==" - "resolved" "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz" - "version" "7.1.6" - dependencies: - "postcss-selector-parser" "^6.0.10" - -"postcss-reduce-initial@^5.1.1": - "version" "5.1.1" - dependencies: - "browserslist" "^4.21.4" - "caniuse-api" "^3.0.0" - -"postcss-reduce-transforms@^5.1.0": - "integrity" "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==" - "resolved" "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz" - "version" "5.1.0" - dependencies: - "postcss-value-parser" "^4.2.0" - -"postcss-replace-overflow-wrap@^4.0.0": - "integrity" "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==" - "resolved" "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz" - "version" "4.0.0" - -"postcss-selector-not@^6.0.1": - "integrity" "sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==" - "resolved" "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz" - "version" "6.0.1" - dependencies: - "postcss-selector-parser" "^6.0.10" - -"postcss-selector-parser@^6.0.10", "postcss-selector-parser@^6.0.2", "postcss-selector-parser@^6.0.4", "postcss-selector-parser@^6.0.5", "postcss-selector-parser@^6.0.9": - "version" "6.0.11" - dependencies: - "cssesc" "^3.0.0" - "util-deprecate" "^1.0.2" - -"postcss-svgo@^5.1.0": - "integrity" "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==" - "resolved" "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz" - "version" "5.1.0" - dependencies: - "postcss-value-parser" "^4.2.0" - "svgo" "^2.7.0" - -"postcss-unique-selectors@^5.1.1": - "integrity" "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==" - "resolved" "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz" - "version" "5.1.1" - dependencies: - "postcss-selector-parser" "^6.0.5" - -"postcss-value-parser@^4.0.0", "postcss-value-parser@^4.1.0", "postcss-value-parser@^4.2.0": - "integrity" "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" - "resolved" "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz" - "version" "4.2.0" - -"postcss@^7.0.0 || ^8.0.1", "postcss@^8", "postcss@^8.0.0", "postcss@^8.0.3", "postcss@^8.0.9", "postcss@^8.1.0", "postcss@^8.1.4", "postcss@^8.2", "postcss@^8.2.14", "postcss@^8.2.15", "postcss@^8.2.2", "postcss@^8.3", "postcss@^8.3.3", "postcss@^8.3.5", "postcss@^8.4", "postcss@^8.4.18", "postcss@^8.4.19", "postcss@^8.4.4", "postcss@^8.4.6", "postcss@>= 8", "postcss@>=8", "postcss@>=8.0.9": - "version" "8.4.21" - dependencies: - "nanoid" "^3.3.4" - "picocolors" "^1.0.0" - "source-map-js" "^1.0.2" - -"postcss@^7.0.35": - "integrity" "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==" - "resolved" "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz" - "version" "7.0.39" - dependencies: - "picocolors" "^0.2.1" - "source-map" "^0.6.1" - -"prelude-ls@^1.2.1": - "integrity" "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==" - "resolved" "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" - "version" "1.2.1" - -"prelude-ls@~1.1.2": - "integrity" "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==" - "resolved" "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz" - "version" "1.1.2" - -"prettier@^2.6.1": - "version" "2.8.7" - -"pretty-bytes@^5.3.0", "pretty-bytes@^5.4.1": - "integrity" "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==" - "resolved" "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz" - "version" "5.6.0" - -"pretty-error@^4.0.0": - "integrity" "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==" - "resolved" "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz" - "version" "4.0.0" + ansi-regex "^5.0.1" + +strip-ansi@^7.0.1: + version "7.1.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" dependencies: - "lodash" "^4.17.20" - "renderkid" "^3.0.0" + ansi-regex "^6.0.1" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz" -"pretty-format@^26.5.2": - "integrity" "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==" - "resolved" "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz" - "version" "26.6.2" +strip-bom@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz" + +strip-comments@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz" + +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" + +strip-indent@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz" dependencies: - "@jest/types" "^26.6.2" - "ansi-regex" "^5.0.0" - "ansi-styles" "^4.0.0" - "react-is" "^17.0.1" + min-indent "^1.0.0" + +strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" -"pretty-format@^26.6.2": - "integrity" "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==" - "resolved" "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz" - "version" "26.6.2" - dependencies: - "@jest/types" "^26.6.2" - "ansi-regex" "^5.0.0" - "ansi-styles" "^4.0.0" - "react-is" "^17.0.1" +strnum@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz" -"pretty-format@^27.0.0", "pretty-format@^27.0.2", "pretty-format@^27.5.1": - "integrity" "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==" - "resolved" "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz" - "version" "27.5.1" +style-loader@^3.3.1: + version "3.3.3" + resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-3.3.3.tgz#bba8daac19930169c0c9c96706749a597ae3acff" + +stylehacks@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz" dependencies: - "ansi-regex" "^5.0.1" - "ansi-styles" "^5.0.0" - "react-is" "^17.0.1" + browserslist "^4.21.4" + postcss-selector-parser "^6.0.4" + +stylis@4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz" -"pretty-format@^28.1.3": - "integrity" "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==" - "resolved" "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz" - "version" "28.1.3" +sucrase@^3.32.0: + version "3.32.0" + resolved "https://registry.yarnpkg.com/sucrase/-/sucrase-3.32.0.tgz#c4a95e0f1e18b6847127258a75cf360bc568d4a7" dependencies: - "@jest/schemas" "^28.1.3" - "ansi-regex" "^5.0.1" - "ansi-styles" "^5.0.0" - "react-is" "^18.0.0" - -"pretty-format@^29.5.0": - "integrity" "sha512-V2mGkI31qdttvTFX7Mt4efOqHXqJWMu4/r66Xh3Z3BwZaPfPJgp6/gbwoujRpPUtfEF6AUUWx3Jim3GCw5g/Qw==" - "resolved" "https://registry.npmjs.org/pretty-format/-/pretty-format-29.5.0.tgz" - "version" "29.5.0" - dependencies: - "@jest/schemas" "^29.4.3" - "ansi-styles" "^5.0.0" - "react-is" "^18.0.0" - -"process-nextick-args@~2.0.0": - "integrity" "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - "resolved" "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" - "version" "2.0.1" - -"promise@^8.1.0", "promise@^8.3.0": - "integrity" "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==" - "resolved" "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz" - "version" "8.3.0" - dependencies: - "asap" "~2.0.6" - -"prompts@^2.0.1", "prompts@^2.4.0", "prompts@^2.4.2": - "integrity" "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==" - "resolved" "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz" - "version" "2.4.2" - dependencies: - "kleur" "^3.0.3" - "sisteransi" "^1.0.5" - -"prop-types@*", "prop-types@^15.5.10", "prop-types@^15.5.7", "prop-types@^15.5.8", "prop-types@^15.6.0", "prop-types@^15.6.1", "prop-types@^15.6.2", "prop-types@^15.7.2", "prop-types@^15.8.1", "prop-types@>=15": - "integrity" "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==" - "resolved" "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz" - "version" "15.8.1" - dependencies: - "loose-envify" "^1.4.0" - "object-assign" "^4.1.1" - "react-is" "^16.13.1" - -"property-expr@^2.0.4": - "integrity" "sha512-IJUkICM5dP5znhCckHSv30Q4b5/JA5enCtkRHYaOVOAocnH/1BQEYTC5NMfT3AVl/iXKdr3aqQbQn9DxyWknwA==" - "resolved" "https://registry.npmjs.org/property-expr/-/property-expr-2.0.5.tgz" - "version" "2.0.5" - -"proxy-addr@~2.0.7": - "integrity" "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==" - "resolved" "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz" - "version" "2.0.7" - dependencies: - "forwarded" "0.2.0" - "ipaddr.js" "1.9.1" - -"psl@^1.1.33": - "integrity" "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" - "resolved" "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz" - "version" "1.9.0" - -"pump@^3.0.0": - "integrity" "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==" - "resolved" "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "end-of-stream" "^1.1.0" - "once" "^1.3.1" - -"punycode@^2.1.0", "punycode@^2.1.1": - "version" "2.1.1" - -"punycode@1.3.2": - "integrity" "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==" - "resolved" "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz" - "version" "1.3.2" - -"q@^1.1.2": - "integrity" "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==" - "resolved" "https://registry.npmjs.org/q/-/q-1.5.1.tgz" - "version" "1.5.1" - -"qs@6.11.0": - "integrity" "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==" - "resolved" "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz" - "version" "6.11.0" - dependencies: - "side-channel" "^1.0.4" - -"querystring@^0.2.0": - "integrity" "sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==" - "resolved" "https://registry.npmjs.org/querystring/-/querystring-0.2.1.tgz" - "version" "0.2.1" - -"querystring@0.2.0": - "integrity" "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==" - "resolved" "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz" - "version" "0.2.0" - -"querystringify@^2.1.1": - "integrity" "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" - "resolved" "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz" - "version" "2.2.0" - -"queue-microtask@^1.2.2": - "integrity" "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" - "resolved" "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" - "version" "1.2.3" - -"quick-lru@^4.0.1": - "integrity" "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==" - "resolved" "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz" - "version" "4.0.1" - -"quick-lru@^5.1.1": - "version" "5.1.1" - -"raf@^3.4.1": - "integrity" "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==" - "resolved" "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz" - "version" "3.4.1" - dependencies: - "performance-now" "^2.1.0" - -"randombytes@^2.1.0": - "integrity" "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==" - "resolved" "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "safe-buffer" "^5.1.0" - -"range-parser@^1.2.1", "range-parser@~1.2.1": - "integrity" "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" - "resolved" "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz" - "version" "1.2.1" - -"raw-body@2.5.1": - "integrity" "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==" - "resolved" "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz" - "version" "2.5.1" - dependencies: - "bytes" "3.1.2" - "http-errors" "2.0.0" - "iconv-lite" "0.4.24" - "unpipe" "1.0.0" - -"react-apexcharts@^1.4.0": - "integrity" "sha512-DrcMV4aAMrUG+n6412yzyATWEyCDWlpPBBhVbpzBC4PDeuYU6iF84SmExbck+jx5MUm4U5PM3/T307Mc3kzc9Q==" - "resolved" "https://registry.npmjs.org/react-apexcharts/-/react-apexcharts-1.4.0.tgz" - "version" "1.4.0" - dependencies: - "prop-types" "^15.5.7" + "@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" -"react-app-polyfill@^3.0.0": - "integrity" "sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w==" - "resolved" "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "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" +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" + dependencies: + has-flag "^3.0.0" -"react-copy-to-clipboard@^5.0.4": - "version" "5.0.4" - dependencies: - "copy-to-clipboard" "^3" - "prop-types" "^15.5.8" - -"react-day-picker@^7.0.5": - "integrity" "sha512-/QkK75qLKdyLmv0kcVzhL7HoJPazoZXS8a6HixbVoK6vWey1Od1WRLcxfyEiUsRfccAlIlf6oKHShqY2SM82rA==" - "resolved" "https://registry.npmjs.org/react-day-picker/-/react-day-picker-7.4.10.tgz" - "version" "7.4.10" - dependencies: - "prop-types" "^15.6.2" - -"react-dev-utils@^12.0.1": - "integrity" "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==" - "resolved" "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz" - "version" "12.0.1" +supports-color@^7.0.0, supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" dependencies: - "@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" - -"react-devtools-core@^4.26.1": - "integrity" "sha512-KwoH8/wN/+m5wTItLnsgVraGNmFrcTWR3k1VimP1HjtMMw4CNF+F5vg4S/0tzTEKIdpCi2R7mPNTC+/dswZMgw==" - "resolved" "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-4.27.8.tgz" - "version" "4.27.8" - dependencies: - "shell-quote" "^1.6.1" - "ws" "^7" - -"react-dom@*", "react-dom@^0.14.9 || ^15.3.0 || ^16.0.0-rc || ^16.0 || ^17.0", "react-dom@^16.6.0 || ^17.0.0", "react-dom@^16.8.0 || ^17.0.0", "react-dom@^17.0.0", "react-dom@^17.0.2", "react-dom@^17.0.2 || ^18.0.0", "react-dom@>=15", "react-dom@>=16.6.0", "react-dom@>=16.8": - "integrity" "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==" - "resolved" "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz" - "version" "17.0.2" - dependencies: - "loose-envify" "^1.1.0" - "object-assign" "^4.1.1" - "scheduler" "^0.20.2" - -"react-dropzone@^12.0.4": - "version" "12.0.4" - dependencies: - "attr-accept" "^2.2.2" - "file-selector" "^0.4.0" - "prop-types" "^15.8.1" - -"react-error-overlay@^6.0.11": - "integrity" "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" - "resolved" "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz" - "version" "6.0.11" - -"react-fast-compare@^2.0.1": - "integrity" "sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw==" - "resolved" "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-2.0.4.tgz" - "version" "2.0.4" - -"react-fast-compare@^3.2.0": - "version" "3.2.0" - -"react-helmet-async@^1.2.3": - "version" "1.2.3" + has-flag "^4.0.0" + +supports-color@^8.0.0: + version "8.1.1" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" dependencies: - "@babel/runtime" "^7.12.5" - "invariant" "^2.2.4" - "prop-types" "^15.7.2" - "react-fast-compare" "^3.2.0" - "shallowequal" "^1.1.0" - -"react-icons@^4.3.1": - "version" "4.3.1" - -"react-if@^4.1.1": - "version" "4.1.1" - -"react-is@^16.12.0 || ^17.0.0 || ^18.0.0", "react-is@^17.0.1", "react-is@^17.0.2": - "integrity" "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - "resolved" "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz" - "version" "17.0.2" - -"react-is@^16.13.1": - "integrity" "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - "resolved" "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz" - "version" "16.13.1" - -"react-is@^16.7.0": - "integrity" "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - "resolved" "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz" - "version" "16.13.1" - -"react-is@^18.0.0": - "integrity" "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" - "resolved" "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz" - "version" "18.2.0" - -"react-is@^18.2.0": - "integrity" "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" - "resolved" "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz" - "version" "18.2.0" - -"react-native-codegen@^0.71.5": - "integrity" "sha512-rfsuc0zkuUuMjFnrT55I1mDZ+pBRp2zAiRwxck3m6qeGJBGK5OV5JH66eDQ4aa+3m0of316CqrJDRzVlYufzIg==" - "resolved" "https://registry.npmjs.org/react-native-codegen/-/react-native-codegen-0.71.5.tgz" - "version" "0.71.5" - dependencies: - "@babel/parser" "^7.14.0" - "flow-parser" "^0.185.0" - "jscodeshift" "^0.13.1" - "nullthrows" "^1.1.1" - -"react-native-get-random-values@^1.4.0": - "integrity" "sha512-+29IR2oxzxNVeaRwCqGZ9ABadzMI8SLTBidrIDXPOkKnm5+kEmLt34QKM4JV+d2usPErvKyS85le0OmGTHnyWQ==" - "resolved" "https://registry.npmjs.org/react-native-get-random-values/-/react-native-get-random-values-1.9.0.tgz" - "version" "1.9.0" - dependencies: - "fast-base64-decode" "^1.0.0" - -"react-native-gradle-plugin@^0.71.19": - "integrity" "sha512-1dVk9NwhoyKHCSxcrM6vY6cxmojeATsBobDicX0ZKr7DgUF2cBQRTKsimQFvzH8XhOVXyH8p4HyDSZNIFI8OlQ==" - "resolved" "https://registry.npmjs.org/react-native-gradle-plugin/-/react-native-gradle-plugin-0.71.19.tgz" - "version" "0.71.19" - -"react-native-url-polyfill@^1.3.0": - "integrity" "sha512-w9JfSkvpqqlix9UjDvJjm1EjSt652zVQ6iwCIj1cVVkwXf4jQhQgTNXY6EVTwuAmUjg6BC6k9RHCBynoLFo3IQ==" - "resolved" "https://registry.npmjs.org/react-native-url-polyfill/-/react-native-url-polyfill-1.3.0.tgz" - "version" "1.3.0" - dependencies: - "whatwg-url-without-unicode" "8.0.0-3" - -"react-native@*": - "integrity" "sha512-++8IxgUe4Ev+bTiFlLfJCdSoE5cReVP1DTpVJ8f/QtzaxA3h1008Y3Xah1Q5vsR4rZcYMO7Pn3af+wOshdQFug==" - "resolved" "https://registry.npmjs.org/react-native/-/react-native-0.71.11.tgz" - "version" "0.71.11" - dependencies: - "@jest/create-cache-key-function" "^29.2.1" - "@react-native-community/cli" "10.2.4" - "@react-native-community/cli-platform-android" "10.2.0" - "@react-native-community/cli-platform-ios" "10.2.4" - "@react-native/assets" "1.0.0" - "@react-native/normalize-color" "2.1.0" - "@react-native/polyfills" "2.0.0" - "abort-controller" "^3.0.0" - "anser" "^1.4.9" - "base64-js" "^1.1.2" - "deprecated-react-native-prop-types" "^3.0.1" - "event-target-shim" "^5.0.1" - "invariant" "^2.2.4" - "jest-environment-node" "^29.2.1" - "jsc-android" "^250231.0.0" - "memoize-one" "^5.0.0" - "metro-react-native-babel-transformer" "0.73.10" - "metro-runtime" "0.73.10" - "metro-source-map" "0.73.10" - "mkdirp" "^0.5.1" - "nullthrows" "^1.1.1" - "pretty-format" "^26.5.2" - "promise" "^8.3.0" - "react-devtools-core" "^4.26.1" - "react-native-codegen" "^0.71.5" - "react-native-gradle-plugin" "^0.71.19" - "react-refresh" "^0.4.0" - "react-shallow-renderer" "^16.15.0" - "regenerator-runtime" "^0.13.2" - "scheduler" "^0.23.0" - "stacktrace-parser" "^0.1.3" - "use-sync-external-store" "^1.0.0" - "whatwg-fetch" "^3.0.0" - "ws" "^6.2.2" - -"react-native@>=0.56": - "integrity" "sha512-++8IxgUe4Ev+bTiFlLfJCdSoE5cReVP1DTpVJ8f/QtzaxA3h1008Y3Xah1Q5vsR4rZcYMO7Pn3af+wOshdQFug==" - "resolved" "https://registry.npmjs.org/react-native/-/react-native-0.71.11.tgz" - "version" "0.71.11" - dependencies: - "@jest/create-cache-key-function" "^29.2.1" - "@react-native-community/cli" "10.2.4" - "@react-native-community/cli-platform-android" "10.2.0" - "@react-native-community/cli-platform-ios" "10.2.4" - "@react-native/assets" "1.0.0" - "@react-native/normalize-color" "2.1.0" - "@react-native/polyfills" "2.0.0" - "abort-controller" "^3.0.0" - "anser" "^1.4.9" - "base64-js" "^1.1.2" - "deprecated-react-native-prop-types" "^3.0.1" - "event-target-shim" "^5.0.1" - "invariant" "^2.2.4" - "jest-environment-node" "^29.2.1" - "jsc-android" "^250231.0.0" - "memoize-one" "^5.0.0" - "metro-react-native-babel-transformer" "0.73.10" - "metro-runtime" "0.73.10" - "metro-source-map" "0.73.10" - "mkdirp" "^0.5.1" - "nullthrows" "^1.1.1" - "pretty-format" "^26.5.2" - "promise" "^8.3.0" - "react-devtools-core" "^4.26.1" - "react-native-codegen" "^0.71.5" - "react-native-gradle-plugin" "^0.71.19" - "react-refresh" "^0.4.0" - "react-shallow-renderer" "^16.15.0" - "regenerator-runtime" "^0.13.2" - "scheduler" "^0.23.0" - "stacktrace-parser" "^0.1.3" - "use-sync-external-store" "^1.0.0" - "whatwg-fetch" "^3.0.0" - "ws" "^6.2.2" - -"react-redux@^7.2.1 || ^8.0.0-beta", "react-redux@^7.2.6": - "version" "7.2.6" + has-flag "^4.0.0" + +supports-hyperlinks@^2.0.0: + version "2.3.0" + resolved "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz" dependencies: - "@babel/runtime" "^7.15.4" - "@types/react-redux" "^7.1.20" - "hoist-non-react-statics" "^3.3.2" - "loose-envify" "^1.4.0" - "prop-types" "^15.7.2" - "react-is" "^17.0.2" + has-flag "^4.0.0" + supports-color "^7.0.0" -"react-refresh@^0.11.0", "react-refresh@>=0.10.0 <1.0.0": - "integrity" "sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==" - "resolved" "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz" - "version" "0.11.0" +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" -"react-refresh@^0.4.0": - "integrity" "sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA==" - "resolved" "https://registry.npmjs.org/react-refresh/-/react-refresh-0.4.3.tgz" - "version" "0.4.3" +svg-parser@^2.0.2: + version "2.0.4" + resolved "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz" -"react-router-dom@6.0.0": - "integrity" "sha512-bPXyYipf0zu6K7mHSEmNO5YqLKq2q9N+Dsahw9Xh3oq1IirsI3vbnIYcVWin6A0zWyHmKhMGoV7Gr0j0kcuVFg==" - "resolved" "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.0.0.tgz" - "version" "6.0.0" +svg.draggable.js@^2.2.2: + version "2.2.2" + resolved "https://registry.npmjs.org/svg.draggable.js/-/svg.draggable.js-2.2.2.tgz" dependencies: - "react-router" "6.0.0" + svg.js "^2.0.1" -"react-router@6.0.0": - "integrity" "sha512-FcTRCihYZvERMNbG54D9+Wkv2cj/OtoxNlA/87D7vxKYlmSmbF9J9XChI9Is44j/behEiOhbovgVZBhKQn+wgA==" - "resolved" "https://registry.npmjs.org/react-router/-/react-router-6.0.0.tgz" - "version" "6.0.0" +svg.easing.js@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/svg.easing.js/-/svg.easing.js-2.0.0.tgz" dependencies: - "history" "^5.0.3" + svg.js ">=2.3.x" -"react-scripts@^5.0.1": - "integrity" "sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==" - "resolved" "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz" - "version" "5.0.1" +svg.filter.js@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/svg.filter.js/-/svg.filter.js-2.0.2.tgz" dependencies: - "@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" - "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" - optionalDependencies: - "fsevents" "^2.3.2" + svg.js "^2.2.5" -"react-shallow-renderer@^16.15.0": - "integrity" "sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==" - "resolved" "https://registry.npmjs.org/react-shallow-renderer/-/react-shallow-renderer-16.15.0.tgz" - "version" "16.15.0" - dependencies: - "object-assign" "^4.1.1" - "react-is" "^16.12.0 || ^17.0.0 || ^18.0.0" +svg.js@>=2.3.x, svg.js@^2.0.1, svg.js@^2.2.5, svg.js@^2.4.0, svg.js@^2.6.5: + version "2.7.1" + resolved "https://registry.npmjs.org/svg.js/-/svg.js-2.7.1.tgz" -"react-transition-group@^4.4.2", "react-transition-group@^4.4.5": - "integrity" "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==" - "resolved" "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz" - "version" "4.4.5" +svg.pathmorphing.js@^0.1.3: + version "0.1.3" + resolved "https://registry.npmjs.org/svg.pathmorphing.js/-/svg.pathmorphing.js-0.1.3.tgz" dependencies: - "@babel/runtime" "^7.5.5" - "dom-helpers" "^5.0.1" - "loose-envify" "^1.4.0" - "prop-types" "^15.6.2" - -"react@*", "react@^0.14.9 || ^15.3.0 || ^16.0.0-rc || ^16.0 || ^17.0", "react@^15.0.0 || >=16.0.0", "react@^15.3.0 || ^16.0.0 || ^17.0.0", "react@^16.0.0 || ^17.0.0 || ^18.0.0", "react@^16.6.0 || ^17.0.0", "react@^16.8.0 || ^17.0.0", "react@^16.8.0 || ^17.0.0 || ^18.0.0", "react@^16.8.3 || ^17", "react@^16.9.0 || ^17.0.0 || 18.0.0-beta", "react@^16.x || ^17.x", "react@^17.0.0", "react@^17.0.0 || ^18.0.0", "react@^17.0.2", "react@^17.0.2 || ^18.0.0", "react@>= 16", "react@>= 16.8", "react@>=0.13", "react@>=0.13.x", "react@>=0.14.x", "react@>=15", "react@>=16.3.0", "react@>=16.6.0", "react@>=16.8", "react@>=16.8.0", "react@~0.13.x || ~0.14.x || ^15.0.0 || ^16.0.0 || ^17.0.0", "react@17.0.2": - "integrity" "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==" - "resolved" "https://registry.npmjs.org/react/-/react-17.0.2.tgz" - "version" "17.0.2" - dependencies: - "loose-envify" "^1.1.0" - "object-assign" "^4.1.1" - -"react@18.2.0": - "integrity" "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==" - "resolved" "https://registry.npmjs.org/react/-/react-18.2.0.tgz" - "version" "18.2.0" - dependencies: - "loose-envify" "^1.1.0" - -"read-cache@^1.0.0": - "integrity" "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==" - "resolved" "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "pify" "^2.3.0" - -"readable-stream@^2.0.1": - "version" "2.3.7" - dependencies: - "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" - -"readable-stream@^3.0.6", "readable-stream@^3.4.0": - "version" "3.6.0" - dependencies: - "inherits" "^2.0.3" - "string_decoder" "^1.1.1" - "util-deprecate" "^1.0.1" - -"readable-stream@~2.3.6": - "integrity" "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==" - "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" - "version" "2.3.8" - dependencies: - "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" - -"readdirp@~3.6.0": - "integrity" "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==" - "resolved" "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" - "version" "3.6.0" - dependencies: - "picomatch" "^2.2.1" - -"readline@^1.3.0": - "integrity" "sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg==" - "resolved" "https://registry.npmjs.org/readline/-/readline-1.3.0.tgz" - "version" "1.3.0" - -"recast@^0.20.4": - "integrity" "sha512-E5qICoPoNL4yU0H0NoBDntNB0Q5oMSNh9usFctYniLBluTthi3RsQVBXIJNbApOlvSwW/RGxIuokPcAc59J5fQ==" - "resolved" "https://registry.npmjs.org/recast/-/recast-0.20.5.tgz" - "version" "0.20.5" - dependencies: - "ast-types" "0.14.2" - "esprima" "~4.0.0" - "source-map" "~0.6.1" - "tslib" "^2.0.1" - -"recursive-readdir@^2.2.2": - "integrity" "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==" - "resolved" "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz" - "version" "2.2.3" - dependencies: - "minimatch" "^3.0.5" - -"redent@^3.0.0": - "integrity" "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==" - "resolved" "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "indent-string" "^4.0.0" - "strip-indent" "^3.0.0" - -"redux-thunk@^2.3.0", "redux-thunk@^2.4.1": - "version" "2.4.1" - -"redux@^4", "redux@^4.0.0", "redux@^4.1.2": - "version" "4.1.2" + svg.js "^2.4.0" + +svg.resize.js@^1.4.3: + version "1.4.3" + resolved "https://registry.npmjs.org/svg.resize.js/-/svg.resize.js-1.4.3.tgz" dependencies: - "@babel/runtime" "^7.9.2" + svg.js "^2.6.5" + svg.select.js "^2.1.2" -"regenerate-unicode-properties@^10.1.0": - "integrity" "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==" - "resolved" "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz" - "version" "10.1.0" +svg.select.js@^2.1.2: + version "2.1.2" + resolved "https://registry.npmjs.org/svg.select.js/-/svg.select.js-2.1.2.tgz" dependencies: - "regenerate" "^1.4.2" + svg.js "^2.2.5" -"regenerate@^1.4.2": - "integrity" "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" - "resolved" "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz" - "version" "1.4.2" +svg.select.js@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/svg.select.js/-/svg.select.js-3.0.1.tgz" + dependencies: + svg.js "^2.6.5" -"regenerator-runtime@^0.13.11", "regenerator-runtime@^0.13.2", "regenerator-runtime@^0.13.9": - "integrity" "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" - "resolved" "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz" - "version" "0.13.11" +svgo@^1.2.2: + version "1.3.2" + resolved "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz" + dependencies: + 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" -"regenerator-transform@^0.15.1": - "integrity" "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==" - "resolved" "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz" - "version" "0.15.1" +svgo@^2.7.0: + version "2.8.0" + resolved "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz" dependencies: - "@babel/runtime" "^7.8.4" + "@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" + +symbol-observable@^1.0.2: + version "1.2.0" + resolved "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz" + +symbol-observable@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz" + +symbol-tree@^3.2.4: + version "3.2.4" + resolved "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz" + +tailwindcss@^3.0.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.3.2.tgz#2f9e35d715fdf0bbf674d90147a0684d7054a2d3" + dependencies: + "@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" + postcss-value-parser "^4.2.0" + resolve "^1.22.2" + sucrase "^3.32.0" + +tapable@^1.0.0: + version "1.1.3" + resolved "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz" + +tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0: + version "2.2.1" + resolved "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz" + +temp-dir@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz" + +tempy@^0.6.0: + version "0.6.0" + resolved "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz" + dependencies: + is-stream "^2.0.0" + temp-dir "^2.0.0" + type-fest "^0.16.0" + unique-string "^2.0.0" + +terminal-link@^2.0.0: + version "2.1.1" + resolved "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz" + dependencies: + ansi-escapes "^4.2.1" + supports-hyperlinks "^2.0.0" + +terser-webpack-plugin@^5.2.5, terser-webpack-plugin@^5.3.7: + version "5.3.9" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz#832536999c51b46d468067f9e37662a3b96adfe1" + dependencies: + "@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" + +terser@^5.0.0, terser@^5.10.0, terser@^5.16.8: + version "5.18.2" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.18.2.tgz#ff3072a0faf21ffd38f99acc9a0ddf7b5f07b948" + dependencies: + "@jridgewell/source-map" "^0.3.3" + acorn "^8.8.2" + commander "^2.20.0" + source-map-support "~0.5.20" + +test-exclude@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz" + dependencies: + "@istanbuljs/schema" "^0.1.2" + glob "^7.1.4" + minimatch "^3.0.4" -"regex-not@^1.0.0", "regex-not@^1.0.2": - "integrity" "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==" - "resolved" "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "extend-shallow" "^3.0.2" - "safe-regex" "^1.1.0" - -"regex-parser@^2.2.11": - "integrity" "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==" - "resolved" "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz" - "version" "2.2.11" - -"regexp.prototype.flags@^1.4.3": - "version" "1.4.3" - dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.1.3" - "functions-have-names" "^1.2.2" - -"regexpp@^3.2.0": - "version" "3.2.0" - -"regexpu-core@^5.2.1": - "version" "5.2.2" - dependencies: - "regenerate" "^1.4.2" - "regenerate-unicode-properties" "^10.1.0" - "regjsgen" "^0.7.1" - "regjsparser" "^0.9.1" - "unicode-match-property-ecmascript" "^2.0.0" - "unicode-match-property-value-ecmascript" "^2.1.0" - -"regjsgen@^0.7.1": - "version" "0.7.1" - -"regjsparser@^0.9.1": - "integrity" "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==" - "resolved" "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz" - "version" "0.9.1" - dependencies: - "jsesc" "~0.5.0" - -"relateurl@^0.2.7": - "integrity" "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==" - "resolved" "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz" - "version" "0.2.7" - -"renderkid@^3.0.0": - "integrity" "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==" - "resolved" "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "css-select" "^4.1.3" - "dom-converter" "^0.2.0" - "htmlparser2" "^6.1.0" - "lodash" "^4.17.21" - "strip-ansi" "^6.0.1" - -"repeat-element@^1.1.2": - "integrity" "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==" - "resolved" "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz" - "version" "1.1.4" - -"repeat-string@^1.6.1": - "integrity" "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==" - "resolved" "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz" - "version" "1.6.1" - -"require-directory@^2.1.1": - "integrity" "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" - "resolved" "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" - "version" "2.1.1" - -"require-from-string@^2.0.2": - "integrity" "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" - "resolved" "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" - "version" "2.0.2" - -"require-main-filename@^2.0.0": - "integrity" "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" - "resolved" "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz" - "version" "2.0.0" - -"requires-port@^1.0.0": - "integrity" "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" - "resolved" "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz" - "version" "1.0.0" - -"reselect@^4.1.5": - "version" "4.1.5" - -"resolve-cwd@^3.0.0": - "integrity" "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==" - "resolved" "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "resolve-from" "^5.0.0" - -"resolve-from@^3.0.0": - "integrity" "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==" - "resolved" "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz" - "version" "3.0.0" - -"resolve-from@^4.0.0": - "integrity" "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" - "resolved" "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" - "version" "4.0.0" - -"resolve-from@^5.0.0": - "integrity" "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" - "resolved" "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" - "version" "5.0.0" - -"resolve-url-loader@^4.0.0": - "integrity" "sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA==" - "resolved" "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "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" - -"resolve-url@^0.2.1": - "integrity" "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==" - "resolved" "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz" - "version" "0.2.1" - -"resolve.exports@^1.1.0": - "version" "1.1.0" - -"resolve@^1.1.7", "resolve@^1.12.0", "resolve@^1.14.2", "resolve@^1.19.0", "resolve@^1.20.0", "resolve@^1.22.0", "resolve@^1.22.1": - "version" "1.22.1" - dependencies: - "is-core-module" "^2.9.0" - "path-parse" "^1.0.7" - "supports-preserve-symlinks-flag" "^1.0.0" - -"resolve@^2.0.0-next.3": - "version" "2.0.0-next.4" - dependencies: - "is-core-module" "^2.9.0" - "path-parse" "^1.0.7" - "supports-preserve-symlinks-flag" "^1.0.0" - -"restore-cursor@^3.1.0": - "integrity" "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==" - "resolved" "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "onetime" "^5.1.0" - "signal-exit" "^3.0.2" - -"ret@~0.1.10": - "integrity" "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" - "resolved" "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz" - "version" "0.1.15" - -"retry@^0.13.1": - "integrity" "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==" - "resolved" "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz" - "version" "0.13.1" - -"reusify@^1.0.4": - "integrity" "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" - "resolved" "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" - "version" "1.0.4" - -"rifm@^0.12.1": - "version" "0.12.1" - -"rimraf@^3.0.0", "rimraf@^3.0.2": - "integrity" "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==" - "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" - "version" "3.0.2" - dependencies: - "glob" "^7.1.3" - -"rimraf@~2.2.6": - "integrity" "sha512-R5KMKHnPAQaZMqLOsyuyUmcIjSeDm+73eoqQpaXA7AZ22BL+6C+1mcUscgOsNd8WVlJuvlgAPsegcx7pjlV0Dg==" - "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz" - "version" "2.2.8" - -"rimraf@~2.6.2": - "integrity" "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==" - "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz" - "version" "2.6.3" - dependencies: - "glob" "^7.1.3" +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" -"rollup-plugin-terser@^7.0.0": - "integrity" "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==" - "resolved" "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz" - "version" "7.0.2" +thenify-all@^1.0.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" dependencies: - "@babel/code-frame" "^7.10.4" - "jest-worker" "^26.2.1" - "serialize-javascript" "^4.0.0" - "terser" "^5.0.0" - -"rollup@^1.20.0 || ^2.0.0", "rollup@^1.20.0||^2.0.0", "rollup@^2.0.0", "rollup@^2.43.1": - "integrity" "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==" - "resolved" "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz" - "version" "2.79.1" - optionalDependencies: - "fsevents" "~2.3.2" + thenify ">= 3.1.0 < 4" -"run-parallel@^1.1.9": - "integrity" "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==" - "resolved" "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" - "version" "1.2.0" +"thenify@>= 3.1.0 < 4": + version "3.3.1" + resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.1.tgz#8932e686a4066038a016dd9e2ca46add9838a95f" dependencies: - "queue-microtask" "^1.2.2" + any-promise "^1.0.0" -"safe-buffer@^5.1.0", "safe-buffer@>=5.1.0", "safe-buffer@~5.2.0", "safe-buffer@5.2.1": - "integrity" "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" - "version" "5.2.1" +throat@^6.0.1: + version "6.0.2" + resolved "https://registry.npmjs.org/throat/-/throat-6.0.2.tgz" -"safe-buffer@~5.1.0", "safe-buffer@~5.1.1": - "integrity" "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" - "version" "5.1.2" +thunky@^1.0.2: + version "1.1.0" + resolved "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz" -"safe-buffer@5.1.2": - "integrity" "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" - "version" "5.1.2" +tiny-warning@^1.0.2: + version "1.0.3" + resolved "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz" -"safe-regex-test@^1.0.0": - "integrity" "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==" - "resolved" "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "call-bind" "^1.0.2" - "get-intrinsic" "^1.1.3" - "is-regex" "^1.1.4" +tmpl@1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz" -"safe-regex@^1.1.0": - "integrity" "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==" - "resolved" "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz" - "version" "1.1.0" +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" dependencies: - "ret" "~0.1.10" + is-number "^7.0.0" -"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0": - "integrity" "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - "resolved" "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" - "version" "2.1.2" +toggle-selection@^1.0.6: + version "1.0.6" + resolved "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz" -"sanitize.css@*": - "integrity" "sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA==" - "resolved" "https://registry.npmjs.org/sanitize.css/-/sanitize.css-13.0.0.tgz" - "version" "13.0.0" +toidentifier@1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz" -"sass-loader@^12.3.0": - "integrity" "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==" - "resolved" "https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz" - "version" "12.6.0" - dependencies: - "klona" "^2.0.4" - "neo-async" "^2.6.2" +toposort@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/toposort/-/toposort-2.0.2.tgz" -"sax@~1.2.4": - "integrity" "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" - "resolved" "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz" - "version" "1.2.4" +tough-cookie@^4.0.0: + version "4.1.3" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.3.tgz#97b9adb0728b42280aa3d814b6b999b2ff0318bf" + dependencies: + psl "^1.1.33" + punycode "^2.1.1" + universalify "^0.2.0" + url-parse "^1.5.3" -"saxes@^5.0.1": - "integrity" "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==" - "resolved" "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz" - "version" "5.0.1" +tr46@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz" dependencies: - "xmlchars" "^2.2.0" + punycode "^2.1.0" -"scheduler@^0.20.2": - "integrity" "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==" - "resolved" "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz" - "version" "0.20.2" +tr46@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz" dependencies: - "loose-envify" "^1.1.0" - "object-assign" "^4.1.1" + punycode "^2.1.1" -"scheduler@^0.23.0": - "integrity" "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==" - "resolved" "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz" - "version" "0.23.0" +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz" + +tryer@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz" + +ts-interface-checker@^0.1.9: + version "0.1.13" + resolved "https://registry.yarnpkg.com/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz#784fd3d679722bc103b1b4b8030bcddb5db2a699" + +ts-invariant@^0.10.3: + version "0.10.3" + resolved "https://registry.yarnpkg.com/ts-invariant/-/ts-invariant-0.10.3.tgz#3e048ff96e91459ffca01304dbc7f61c1f642f6c" dependencies: - "loose-envify" "^1.1.0" + tslib "^2.1.0" -"schema-utils@^2.6.5": - "integrity" "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==" - "resolved" "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz" - "version" "2.7.1" +ts-invariant@^0.4.0: + version "0.4.4" + resolved "https://registry.npmjs.org/ts-invariant/-/ts-invariant-0.4.4.tgz" dependencies: - "@types/json-schema" "^7.0.5" - "ajv" "^6.12.4" - "ajv-keywords" "^3.5.2" + tslib "^1.9.3" -"schema-utils@^3.0.0": - "version" "3.1.1" +tsconfig-paths@^3.14.1: + version "3.14.2" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz#6e32f1f79412decd261f92d633a9dc1cfa99f088" dependencies: - "@types/json-schema" "^7.0.8" - "ajv" "^6.12.5" - "ajv-keywords" "^3.5.2" + "@types/json5" "^0.0.29" + json5 "^1.0.2" + minimist "^1.2.6" + strip-bom "^3.0.0" + +tslib@2.3.0: + version "2.3.0" + resolved "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz" + +tslib@^1.10.0, tslib@^1.11.1, tslib@^1.8.0, tslib@^1.8.1, tslib@^1.9.3: + version "1.14.1" + resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" -"schema-utils@^3.1.0": - "version" "3.1.1" +tslib@^2.0.0, tslib@^2.3.1, tslib@^2.5.0: + version "2.5.3" + resolved "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz" + +tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.0.tgz#b295854684dbda164e181d259a22cd779dcd7bc3" + +tsutils@^3.21.0: + version "3.21.0" + resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz" dependencies: - "@types/json-schema" "^7.0.8" - "ajv" "^6.12.5" - "ajv-keywords" "^3.5.2" + tslib "^1.8.1" -"schema-utils@^3.1.1": - "version" "3.1.1" +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" dependencies: - "@types/json-schema" "^7.0.8" - "ajv" "^6.12.5" - "ajv-keywords" "^3.5.2" + prelude-ls "^1.2.1" -"schema-utils@^4.0.0": - "version" "4.0.0" +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz" dependencies: - "@types/json-schema" "^7.0.9" - "ajv" "^8.8.0" - "ajv-formats" "^2.1.1" - "ajv-keywords" "^5.0.0" + prelude-ls "~1.1.2" + +type-detect@4.0.8: + version "4.0.8" + resolved "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz" + +type-fest@^0.16.0: + version "0.16.0" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz" + +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" -"schema-utils@2.7.0": - "integrity" "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==" - "resolved" "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz" - "version" "2.7.0" +type-fest@^0.21.3: + version "0.21.3" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz" + +type-is@~1.6.18: + version "1.6.18" + resolved "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz" dependencies: - "@types/json-schema" "^7.0.4" - "ajv" "^6.12.2" - "ajv-keywords" "^3.4.1" - -"select-hose@^2.0.0": - "integrity" "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==" - "resolved" "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz" - "version" "2.0.0" - -"selfsigned@^2.1.1": - "integrity" "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==" - "resolved" "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz" - "version" "2.1.1" - dependencies: - "node-forge" "^1" - -"semver@^5.5.0": - "integrity" "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - "resolved" "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" - "version" "5.7.1" - -"semver@^5.6.0": - "integrity" "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - "resolved" "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" - "version" "5.7.1" - -"semver@^6.0.0", "semver@^6.1.1", "semver@^6.1.2", "semver@^6.3.0": - "integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - "resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" - "version" "6.3.0" - -"semver@^7.3.2": - "version" "7.3.8" - dependencies: - "lru-cache" "^6.0.0" - -"semver@^7.3.5": - "version" "7.3.8" - dependencies: - "lru-cache" "^6.0.0" - -"semver@^7.3.7": - "version" "7.3.8" - dependencies: - "lru-cache" "^6.0.0" - -"semver@^7.3.8": - "version" "7.3.8" - dependencies: - "lru-cache" "^6.0.0" - -"send@0.18.0": - "integrity" "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==" - "resolved" "https://registry.npmjs.org/send/-/send-0.18.0.tgz" - "version" "0.18.0" - dependencies: - "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" - -"serialize-error@^2.1.0": - "integrity" "sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw==" - "resolved" "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz" - "version" "2.1.0" - -"serialize-javascript@^4.0.0": - "integrity" "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==" - "resolved" "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "randombytes" "^2.1.0" - -"serialize-javascript@^6.0.0": - "version" "6.0.0" - dependencies: - "randombytes" "^2.1.0" - -"serve-index@^1.9.1": - "integrity" "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==" - "resolved" "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz" - "version" "1.9.1" - dependencies: - "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" - -"serve-static@^1.13.1", "serve-static@1.15.0": - "integrity" "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==" - "resolved" "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz" - "version" "1.15.0" - dependencies: - "encodeurl" "~1.0.2" - "escape-html" "~1.0.3" - "parseurl" "~1.3.3" - "send" "0.18.0" - -"set-blocking@^2.0.0": - "integrity" "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" - "resolved" "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" - "version" "2.0.0" - -"set-value@^2.0.0", "set-value@^2.0.1": - "integrity" "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==" - "resolved" "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "extend-shallow" "^2.0.1" - "is-extendable" "^0.1.1" - "is-plain-object" "^2.0.3" - "split-string" "^3.0.1" - -"setprototypeof@1.1.0": - "integrity" "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" - "resolved" "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz" - "version" "1.1.0" - -"setprototypeof@1.2.0": - "integrity" "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" - "resolved" "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz" - "version" "1.2.0" - -"shallow-clone@^3.0.0": - "integrity" "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==" - "resolved" "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz" - "version" "3.0.1" - dependencies: - "kind-of" "^6.0.2" - -"shallowequal@^1.1.0": - "integrity" "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" - "resolved" "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz" - "version" "1.1.0" - -"shebang-command@^1.2.0": - "integrity" "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==" - "resolved" "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz" - "version" "1.2.0" - dependencies: - "shebang-regex" "^1.0.0" - -"shebang-command@^2.0.0": - "integrity" "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==" - "resolved" "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "shebang-regex" "^3.0.0" - -"shebang-regex@^1.0.0": - "integrity" "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==" - "resolved" "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz" - "version" "1.0.0" - -"shebang-regex@^3.0.0": - "integrity" "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" - "resolved" "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" - "version" "3.0.0" - -"shell-quote@^1.6.1", "shell-quote@^1.7.3": - "version" "1.7.4" - -"side-channel@^1.0.4": - "integrity" "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==" - "resolved" "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz" - "version" "1.0.4" + media-typer "0.3.0" + mime-types "~2.1.24" + +typed-array-length@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz" dependencies: - "call-bind" "^1.0.0" - "get-intrinsic" "^1.0.2" - "object-inspect" "^1.9.0" - -"signal-exit@^3.0.0", "signal-exit@^3.0.2", "signal-exit@^3.0.3": - "integrity" "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - "resolved" "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" - "version" "3.0.7" - -"simplebar-react@^2.3.6": - "version" "2.3.6" - dependencies: - "prop-types" "^15.6.1" - "simplebar" "^5.3.6" - -"simplebar@^5.3.6": - "version" "5.3.6" + call-bind "^1.0.2" + for-each "^0.3.3" + is-typed-array "^1.1.9" + +typedarray-to-buffer@^3.1.5: + version "3.1.5" + resolved "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz" dependencies: - "@juggle/resize-observer" "^3.3.1" - "can-use-dom" "^0.1.0" - "core-js" "^3.0.1" - "lodash.debounce" "^4.0.8" - "lodash.memoize" "^4.1.2" - "lodash.throttle" "^4.1.1" - -"sisteransi@^1.0.5": - "integrity" "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" - "resolved" "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz" - "version" "1.0.5" - -"size-sensor@^1.0.1": - "integrity" "sha512-QTy7MnuugCFXIedXRpUSk9gUnyNiaxIdxGfUjr8xxXOqIB3QvBUYP9+b51oCg2C4dnhaeNk/h57TxjbvoJrJUA==" - "resolved" "https://registry.npmjs.org/size-sensor/-/size-sensor-1.0.1.tgz" - "version" "1.0.1" - -"slash@^3.0.0": - "integrity" "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - "resolved" "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" - "version" "3.0.0" - -"slash@^4.0.0": - "integrity" "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==" - "resolved" "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz" - "version" "4.0.0" - -"slice-ansi@^2.0.0": - "integrity" "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==" - "resolved" "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "ansi-styles" "^3.2.0" - "astral-regex" "^1.0.0" - "is-fullwidth-code-point" "^2.0.0" - -"snapdragon-node@^2.0.1": - "integrity" "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==" - "resolved" "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz" - "version" "2.1.1" - dependencies: - "define-property" "^1.0.0" - "isobject" "^3.0.0" - "snapdragon-util" "^3.0.1" - -"snapdragon-util@^3.0.1": - "integrity" "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==" - "resolved" "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz" - "version" "3.0.1" - dependencies: - "kind-of" "^3.2.0" - -"snapdragon@^0.8.1": - "integrity" "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==" - "resolved" "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz" - "version" "0.8.2" - dependencies: - "base" "^0.11.1" - "debug" "^2.2.0" - "define-property" "^0.2.5" - "extend-shallow" "^2.0.1" - "map-cache" "^0.2.2" - "source-map" "^0.5.6" - "source-map-resolve" "^0.5.0" - "use" "^3.1.0" - -"sockjs@^0.3.24": - "integrity" "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==" - "resolved" "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz" - "version" "0.3.24" - dependencies: - "faye-websocket" "^0.11.3" - "uuid" "^8.3.2" - "websocket-driver" "^0.7.4" - -"source-list-map@^2.0.0", "source-list-map@^2.0.1": - "integrity" "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" - "resolved" "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz" - "version" "2.0.1" - -"source-map-js@^1.0.1", "source-map-js@^1.0.2": - "integrity" "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" - "resolved" "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz" - "version" "1.0.2" - -"source-map-loader@^3.0.0": - "integrity" "sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg==" - "resolved" "https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.2.tgz" - "version" "3.0.2" - dependencies: - "abab" "^2.0.5" - "iconv-lite" "^0.6.3" - "source-map-js" "^1.0.1" - -"source-map-resolve@^0.5.0": - "integrity" "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==" - "resolved" "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz" - "version" "0.5.3" - dependencies: - "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-resolve@^0.6.0": - "version" "0.6.0" - dependencies: - "atob" "^2.1.2" - "decode-uri-component" "^0.2.0" - -"source-map-support@^0.5.16", "source-map-support@^0.5.6", "source-map-support@~0.5.20": - "integrity" "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==" - "resolved" "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz" - "version" "0.5.21" - dependencies: - "buffer-from" "^1.0.0" - "source-map" "^0.6.0" - -"source-map-url@^0.4.0": - "integrity" "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==" - "resolved" "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz" - "version" "0.4.1" - -"source-map@^0.5.6": - "integrity" "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" - "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" - "version" "0.5.7" - -"source-map@^0.5.7": - "integrity" "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" - "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" - "version" "0.5.7" - -"source-map@^0.6.0", "source-map@^0.6.1", "source-map@~0.6.0", "source-map@~0.6.1", "source-map@0.6.1": - "integrity" "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" - "version" "0.6.1" - -"source-map@^0.7.3": - "integrity" "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==" - "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz" - "version" "0.7.4" - -"source-map@^0.8.0-beta.0": - "integrity" "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==" - "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz" - "version" "0.8.0-beta.0" - dependencies: - "whatwg-url" "^7.0.0" - -"sourcemap-codec@^1.4.8": - "integrity" "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" - "resolved" "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz" - "version" "1.4.8" - -"spdy-transport@^3.0.0": - "integrity" "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==" - "resolved" "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "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" - -"spdy@^4.0.2": - "integrity" "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==" - "resolved" "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz" - "version" "4.0.2" - dependencies: - "debug" "^4.1.0" - "handle-thing" "^2.0.0" - "http-deceiver" "^1.2.7" - "select-hose" "^2.0.0" - "spdy-transport" "^3.0.0" - -"split-string@^3.0.1", "split-string@^3.0.2": - "integrity" "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==" - "resolved" "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "extend-shallow" "^3.0.0" - -"sprintf-js@~1.0.2": - "integrity" "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" - "resolved" "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" - "version" "1.0.3" - -"stable@^0.1.8": - "integrity" "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" - "resolved" "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz" - "version" "0.1.8" - -"stack-utils@^2.0.3": - "integrity" "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==" - "resolved" "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz" - "version" "2.0.6" - dependencies: - "escape-string-regexp" "^2.0.0" - -"stackframe@^1.3.4": - "integrity" "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==" - "resolved" "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz" - "version" "1.3.4" - -"stacktrace-parser@^0.1.3": - "integrity" "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==" - "resolved" "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz" - "version" "0.1.10" - dependencies: - "type-fest" "^0.7.1" - -"state-local@^1.0.6": - "integrity" "sha512-HTEHMNieakEnoe33shBYcZ7NX83ACUjCu8c40iOGEZsngj9zRnkqS9j1pqQPXwobB0ZcVTk27REb7COQ0UR59w==" - "resolved" "https://registry.npmjs.org/state-local/-/state-local-1.0.7.tgz" - "version" "1.0.7" - -"static-extend@^0.1.1": - "integrity" "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==" - "resolved" "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz" - "version" "0.1.2" - dependencies: - "define-property" "^0.2.5" - "object-copy" "^0.1.0" + is-typedarray "^1.0.0" -"statuses@>= 1.4.0 < 2": - "integrity" "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==" - "resolved" "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz" - "version" "1.5.0" - -"statuses@~1.5.0": - "integrity" "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==" - "resolved" "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz" - "version" "1.5.0" - -"statuses@2.0.1": - "integrity" "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" - "resolved" "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz" - "version" "2.0.1" - -"string_decoder@^1.1.1": - "integrity" "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==" - "resolved" "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" - "version" "1.3.0" - dependencies: - "safe-buffer" "~5.2.0" - -"string_decoder@~1.1.1": - "integrity" "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==" - "resolved" "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" - "version" "1.1.1" - dependencies: - "safe-buffer" "~5.1.0" - -"string-length@^4.0.1": - "integrity" "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==" - "resolved" "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz" - "version" "4.0.2" - dependencies: - "char-regex" "^1.0.2" - "strip-ansi" "^6.0.0" - -"string-length@^5.0.1": - "integrity" "sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==" - "resolved" "https://registry.npmjs.org/string-length/-/string-length-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "char-regex" "^2.0.0" - "strip-ansi" "^7.0.1" - -"string-natural-compare@^3.0.1": - "integrity" "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==" - "resolved" "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz" - "version" "3.0.1" - -"string-width@^4.1.0", "string-width@^4.2.0", "string-width@^4.2.3": - "integrity" "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==" - "resolved" "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" - "version" "4.2.3" - dependencies: - "emoji-regex" "^8.0.0" - "is-fullwidth-code-point" "^3.0.0" - "strip-ansi" "^6.0.1" - -"string.prototype.matchall@^4.0.6", "string.prototype.matchall@^4.0.8": - "integrity" "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==" - "resolved" "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz" - "version" "4.0.8" - dependencies: - "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@^1.0.6": - "integrity" "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==" - "resolved" "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz" - "version" "1.0.6" - dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.1.4" - "es-abstract" "^1.20.4" - -"string.prototype.trimstart@^1.0.6": - "integrity" "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==" - "resolved" "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz" - "version" "1.0.6" - dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.1.4" - "es-abstract" "^1.20.4" - -"stringify-object@^3.3.0": - "integrity" "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==" - "resolved" "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz" - "version" "3.3.0" - dependencies: - "get-own-enumerable-property-symbols" "^3.0.0" - "is-obj" "^1.0.1" - "is-regexp" "^1.0.0" - -"strip-ansi@^5.0.0": - "integrity" "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==" - "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz" - "version" "5.2.0" - dependencies: - "ansi-regex" "^4.1.0" - -"strip-ansi@^5.2.0": - "integrity" "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==" - "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz" - "version" "5.2.0" - dependencies: - "ansi-regex" "^4.1.0" - -"strip-ansi@^6.0.0", "strip-ansi@^6.0.1": - "integrity" "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==" - "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" - "version" "6.0.1" - dependencies: - "ansi-regex" "^5.0.1" - -"strip-ansi@^7.0.1": - "version" "7.0.1" - dependencies: - "ansi-regex" "^6.0.1" - -"strip-bom@^3.0.0": - "integrity" "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==" - "resolved" "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz" - "version" "3.0.0" - -"strip-bom@^4.0.0": - "integrity" "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==" - "resolved" "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz" - "version" "4.0.0" - -"strip-comments@^2.0.1": - "integrity" "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==" - "resolved" "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz" - "version" "2.0.1" - -"strip-eof@^1.0.0": - "integrity" "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==" - "resolved" "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz" - "version" "1.0.0" - -"strip-final-newline@^2.0.0": - "integrity" "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" - "resolved" "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" - "version" "2.0.0" - -"strip-indent@^3.0.0": - "integrity" "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==" - "resolved" "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "min-indent" "^1.0.0" - -"strip-json-comments@^3.1.0", "strip-json-comments@^3.1.1": - "integrity" "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" - "resolved" "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" - "version" "3.1.1" - -"strnum@^1.0.5": - "integrity" "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" - "resolved" "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz" - "version" "1.0.5" - -"style-loader@^3.3.1": - "version" "3.3.1" +ulid@2.3.0: + version "2.3.0" + resolved "https://registry.npmjs.org/ulid/-/ulid-2.3.0.tgz" -"stylehacks@^5.1.1": - "integrity" "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==" - "resolved" "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz" - "version" "5.1.1" +unbox-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz" dependencies: - "browserslist" "^4.21.4" - "postcss-selector-parser" "^6.0.4" + call-bind "^1.0.2" + has-bigints "^1.0.2" + has-symbols "^1.0.3" + which-boxed-primitive "^1.0.2" -"stylis@4.2.0": - "integrity" "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==" - "resolved" "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz" - "version" "4.2.0" +unfetch@^4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/unfetch/-/unfetch-4.2.0.tgz" -"sudo-prompt@^9.0.0": - "integrity" "sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==" - "resolved" "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-9.2.1.tgz" - "version" "9.2.1" +unicode-canonical-property-names-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz" -"supports-color@^5.3.0": - "integrity" "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==" - "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" - "version" "5.5.0" +unicode-match-property-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz" dependencies: - "has-flag" "^3.0.0" + unicode-canonical-property-names-ecmascript "^2.0.0" + unicode-property-aliases-ecmascript "^2.0.0" -"supports-color@^7.0.0", "supports-color@^7.1.0": - "integrity" "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==" - "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" - "version" "7.2.0" - dependencies: - "has-flag" "^4.0.0" - -"supports-color@^8.0.0": - "integrity" "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==" - "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" - "version" "8.1.1" - dependencies: - "has-flag" "^4.0.0" - -"supports-hyperlinks@^2.0.0": - "integrity" "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==" - "resolved" "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz" - "version" "2.3.0" - dependencies: - "has-flag" "^4.0.0" - "supports-color" "^7.0.0" - -"supports-preserve-symlinks-flag@^1.0.0": - "integrity" "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" - "resolved" "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" - "version" "1.0.0" - -"svg-parser@^2.0.2": - "integrity" "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" - "resolved" "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz" - "version" "2.0.4" - -"svg.draggable.js@^2.2.2": - "integrity" "sha512-JzNHBc2fLQMzYCZ90KZHN2ohXL0BQJGQimK1kGk6AvSeibuKcIdDX9Kr0dT9+UJ5O8nYA0RB839Lhvk4CY4MZw==" - "resolved" "https://registry.npmjs.org/svg.draggable.js/-/svg.draggable.js-2.2.2.tgz" - "version" "2.2.2" - dependencies: - "svg.js" "^2.0.1" - -"svg.easing.js@^2.0.0": - "integrity" "sha512-//ctPdJMGy22YoYGV+3HEfHbm6/69LJUTAqI2/5qBvaNHZ9uUFVC82B0Pl299HzgH13rKrBgi4+XyXXyVWWthA==" - "resolved" "https://registry.npmjs.org/svg.easing.js/-/svg.easing.js-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "svg.js" ">=2.3.x" - -"svg.filter.js@^2.0.2": - "integrity" "sha512-xkGBwU+dKBzqg5PtilaTb0EYPqPfJ9Q6saVldX+5vCRy31P6TlRCP3U9NxH3HEufkKkpNgdTLBJnmhDHeTqAkw==" - "resolved" "https://registry.npmjs.org/svg.filter.js/-/svg.filter.js-2.0.2.tgz" - "version" "2.0.2" - dependencies: - "svg.js" "^2.2.5" - -"svg.js@^2.0.1", "svg.js@^2.2.5", "svg.js@^2.4.0", "svg.js@^2.6.5", "svg.js@>=2.3.x": - "integrity" "sha512-ycbxpizEQktk3FYvn/8BH+6/EuWXg7ZpQREJvgacqn46gIddG24tNNe4Son6omdXCnSOaApnpZw6MPCBA1dODA==" - "resolved" "https://registry.npmjs.org/svg.js/-/svg.js-2.7.1.tgz" - "version" "2.7.1" - -"svg.pathmorphing.js@^0.1.3": - "integrity" "sha512-49HWI9X4XQR/JG1qXkSDV8xViuTLIWm/B/7YuQELV5KMOPtXjiwH4XPJvr/ghEDibmLQ9Oc22dpWpG0vUDDNww==" - "resolved" "https://registry.npmjs.org/svg.pathmorphing.js/-/svg.pathmorphing.js-0.1.3.tgz" - "version" "0.1.3" - dependencies: - "svg.js" "^2.4.0" - -"svg.resize.js@^1.4.3": - "integrity" "sha512-9k5sXJuPKp+mVzXNvxz7U0uC9oVMQrrf7cFsETznzUDDm0x8+77dtZkWdMfRlmbkEEYvUn9btKuZ3n41oNA+uw==" - "resolved" "https://registry.npmjs.org/svg.resize.js/-/svg.resize.js-1.4.3.tgz" - "version" "1.4.3" - dependencies: - "svg.js" "^2.6.5" - "svg.select.js" "^2.1.2" - -"svg.select.js@^2.1.2": - "integrity" "sha512-tH6ABEyJsAOVAhwcCjF8mw4crjXSI1aa7j2VQR8ZuJ37H2MBUbyeqYr5nEO7sSN3cy9AR9DUwNg0t/962HlDbQ==" - "resolved" "https://registry.npmjs.org/svg.select.js/-/svg.select.js-2.1.2.tgz" - "version" "2.1.2" - dependencies: - "svg.js" "^2.2.5" - -"svg.select.js@^3.0.1": - "integrity" "sha512-h5IS/hKkuVCbKSieR9uQCj9w+zLHoPh+ce19bBYyqF53g6mnPB8sAtIbe1s9dh2S2fCmYX2xel1Ln3PJBbK4kw==" - "resolved" "https://registry.npmjs.org/svg.select.js/-/svg.select.js-3.0.1.tgz" - "version" "3.0.1" - dependencies: - "svg.js" "^2.6.5" - -"svgo@^1.2.2": - "integrity" "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==" - "resolved" "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz" - "version" "1.3.2" - dependencies: - "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" - -"svgo@^2.7.0": - "integrity" "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==" - "resolved" "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz" - "version" "2.8.0" - dependencies: - "@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" - -"symbol-observable@^1.0.2": - "integrity" "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==" - "resolved" "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz" - "version" "1.2.0" - -"symbol-observable@^4.0.0": - "integrity" "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==" - "resolved" "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz" - "version" "4.0.0" - -"symbol-tree@^3.2.4": - "integrity" "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" - "resolved" "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz" - "version" "3.2.4" - -"tailwindcss@^3.0.2": - "version" "3.2.4" - dependencies: - "arg" "^5.0.2" - "chokidar" "^3.5.3" - "color-name" "^1.1.4" - "detective" "^5.2.1" - "didyoumean" "^1.2.2" - "dlv" "^1.1.3" - "fast-glob" "^3.2.12" - "glob-parent" "^6.0.2" - "is-glob" "^4.0.3" - "lilconfig" "^2.0.6" - "micromatch" "^4.0.5" - "normalize-path" "^3.0.0" - "object-hash" "^3.0.0" - "picocolors" "^1.0.0" - "postcss" "^8.4.18" - "postcss-import" "^14.1.0" - "postcss-js" "^4.0.0" - "postcss-load-config" "^3.1.4" - "postcss-nested" "6.0.0" - "postcss-selector-parser" "^6.0.10" - "postcss-value-parser" "^4.2.0" - "quick-lru" "^5.1.1" - "resolve" "^1.22.1" - -"tapable@^1.0.0": - "integrity" "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==" - "resolved" "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz" - "version" "1.1.3" - -"tapable@^2.0.0", "tapable@^2.1.1", "tapable@^2.2.0": - "integrity" "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==" - "resolved" "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz" - "version" "2.2.1" - -"temp-dir@^2.0.0": - "integrity" "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==" - "resolved" "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz" - "version" "2.0.0" - -"temp@^0.8.4": - "integrity" "sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==" - "resolved" "https://registry.npmjs.org/temp/-/temp-0.8.4.tgz" - "version" "0.8.4" - dependencies: - "rimraf" "~2.6.2" - -"temp@0.8.3": - "integrity" "sha512-jtnWJs6B1cZlHs9wPG7BrowKxZw/rf6+UpGAkr8AaYmiTyTO7zQlLoST8zx/8TcUPnZmeBoB+H8ARuHZaSijVw==" - "resolved" "https://registry.npmjs.org/temp/-/temp-0.8.3.tgz" - "version" "0.8.3" - dependencies: - "os-tmpdir" "^1.0.0" - "rimraf" "~2.2.6" - -"tempy@^0.6.0": - "integrity" "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==" - "resolved" "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz" - "version" "0.6.0" - dependencies: - "is-stream" "^2.0.0" - "temp-dir" "^2.0.0" - "type-fest" "^0.16.0" - "unique-string" "^2.0.0" - -"terminal-link@^2.0.0": - "integrity" "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==" - "resolved" "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz" - "version" "2.1.1" - dependencies: - "ansi-escapes" "^4.2.1" - "supports-hyperlinks" "^2.0.0" - -"terser-webpack-plugin@^5.1.3", "terser-webpack-plugin@^5.2.5": - "version" "5.3.6" - dependencies: - "@jridgewell/trace-mapping" "^0.3.14" - "jest-worker" "^27.4.5" - "schema-utils" "^3.1.1" - "serialize-javascript" "^6.0.0" - "terser" "^5.14.1" - -"terser@^5.0.0", "terser@^5.10.0", "terser@^5.14.1", "terser@^5.15.0": - "version" "5.16.1" - dependencies: - "@jridgewell/source-map" "^0.3.2" - "acorn" "^8.5.0" - "commander" "^2.20.0" - "source-map-support" "~0.5.20" - -"test-exclude@^6.0.0": - "integrity" "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==" - "resolved" "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz" - "version" "6.0.0" - dependencies: - "@istanbuljs/schema" "^0.1.2" - "glob" "^7.1.4" - "minimatch" "^3.0.4" - -"text-table@^0.2.0": - "integrity" "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" - "resolved" "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" - "version" "0.2.0" - -"throat@^5.0.0": - "integrity" "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==" - "resolved" "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz" - "version" "5.0.0" - -"throat@^6.0.1": - "integrity" "sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==" - "resolved" "https://registry.npmjs.org/throat/-/throat-6.0.2.tgz" - "version" "6.0.2" - -"through2@^2.0.1": - "integrity" "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==" - "resolved" "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz" - "version" "2.0.5" - dependencies: - "readable-stream" "~2.3.6" - "xtend" "~4.0.1" - -"thunky@^1.0.2": - "integrity" "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" - "resolved" "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz" - "version" "1.1.0" - -"tiny-warning@^1.0.2": - "integrity" "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" - "resolved" "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz" - "version" "1.0.3" - -"tmpl@1.0.5": - "integrity" "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" - "resolved" "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz" - "version" "1.0.5" - -"to-fast-properties@^2.0.0": - "integrity" "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" - "resolved" "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" - "version" "2.0.0" - -"to-object-path@^0.3.0": - "integrity" "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==" - "resolved" "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz" - "version" "0.3.0" - dependencies: - "kind-of" "^3.0.2" - -"to-regex-range@^2.1.0": - "integrity" "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==" - "resolved" "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz" - "version" "2.1.1" - dependencies: - "is-number" "^3.0.0" - "repeat-string" "^1.6.1" - -"to-regex-range@^5.0.1": - "integrity" "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==" - "resolved" "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "is-number" "^7.0.0" - -"to-regex@^3.0.1", "to-regex@^3.0.2": - "integrity" "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==" - "resolved" "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz" - "version" "3.0.2" - dependencies: - "define-property" "^2.0.2" - "extend-shallow" "^3.0.2" - "regex-not" "^1.0.2" - "safe-regex" "^1.1.0" - -"toggle-selection@^1.0.6": - "integrity" "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==" - "resolved" "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz" - "version" "1.0.6" - -"toidentifier@1.0.1": - "integrity" "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" - "resolved" "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz" - "version" "1.0.1" - -"toposort@^2.0.2": - "integrity" "sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg==" - "resolved" "https://registry.npmjs.org/toposort/-/toposort-2.0.2.tgz" - "version" "2.0.2" - -"tough-cookie@^4.0.0": - "version" "4.1.2" - dependencies: - "psl" "^1.1.33" - "punycode" "^2.1.1" - "universalify" "^0.2.0" - "url-parse" "^1.5.3" - -"tr46@^1.0.1": - "integrity" "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==" - "resolved" "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz" - "version" "1.0.1" +unicode-match-property-value-ecmascript@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz" + +unicode-property-aliases-ecmascript@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz" + +unique-string@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz" dependencies: - "punycode" "^2.1.0" + crypto-random-string "^2.0.0" -"tr46@^2.1.0": - "integrity" "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==" - "resolved" "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz" - "version" "2.1.0" +universal-cookie@^4.0.4: + version "4.0.4" + resolved "https://registry.npmjs.org/universal-cookie/-/universal-cookie-4.0.4.tgz" dependencies: - "punycode" "^2.1.1" + "@types/cookie" "^0.3.3" + cookie "^0.4.0" + +universalify@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz" + +universalify@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz" + +unpipe@1.0.0, unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" -"tr46@~0.0.3": - "integrity" "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" - "resolved" "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz" - "version" "0.0.3" +unquote@~1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz" -"tryer@^1.0.1": - "integrity" "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==" - "resolved" "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz" - "version" "1.0.1" +upath@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz" -"ts-invariant@^0.4.0": - "integrity" "sha512-uEtWkFM/sdZvRNNDL3Ehu4WVpwaulhwQszV8mrtcdeE8nN00BV9mAmQ88RkrBhFgl9gMgvjJLAQcZbnPXI9mlA==" - "resolved" "https://registry.npmjs.org/ts-invariant/-/ts-invariant-0.4.4.tgz" - "version" "0.4.4" +update-browserslist-db@^1.0.11: + version "1.0.11" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz#9a2a641ad2907ae7b3616506f4b977851db5b940" dependencies: - "tslib" "^1.9.3" + escalade "^3.1.1" + picocolors "^1.0.0" -"ts-invariant@^0.9.4": - "version" "0.9.4" +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" dependencies: - "tslib" "^2.1.0" + punycode "^2.1.0" -"tsconfig-paths@^3.14.1": - "version" "3.14.1" +url-parse@^1.5.3: + version "1.5.10" + resolved "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz" dependencies: - "@types/json5" "^0.0.29" - "json5" "^1.0.1" - "minimist" "^1.2.6" - "strip-bom" "^3.0.0" - -"tslib@^1.10.0", "tslib@^1.11.1", "tslib@^1.8.0", "tslib@^1.8.1", "tslib@^1.9.3": - "integrity" "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - "resolved" "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" - "version" "1.14.1" - -"tslib@^2.0.0": - "integrity" "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==" - "resolved" "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz" - "version" "2.5.3" - -"tslib@^2.0.1": - "integrity" "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==" - "resolved" "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz" - "version" "2.5.3" - -"tslib@^2.0.3": - "version" "2.4.1" - -"tslib@^2.1.0", "tslib@^2.3.0": - "version" "2.3.1" - -"tslib@^2.3.1": - "integrity" "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==" - "resolved" "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz" - "version" "2.5.3" - -"tslib@^2.5.0": - "integrity" "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==" - "resolved" "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz" - "version" "2.5.3" - -"tslib@2.3.0": - "integrity" "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" - "resolved" "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz" - "version" "2.3.0" - -"tsutils@^3.21.0": - "integrity" "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==" - "resolved" "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz" - "version" "3.21.0" - dependencies: - "tslib" "^1.8.1" - -"type-check@^0.4.0": - "integrity" "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==" - "resolved" "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" - "version" "0.4.0" - dependencies: - "prelude-ls" "^1.2.1" - -"type-check@~0.3.2": - "integrity" "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==" - "resolved" "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz" - "version" "0.3.2" - dependencies: - "prelude-ls" "~1.1.2" - -"type-check@~0.4.0": - "integrity" "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==" - "resolved" "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" - "version" "0.4.0" - dependencies: - "prelude-ls" "^1.2.1" - -"type-detect@4.0.8": - "integrity" "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" - "resolved" "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz" - "version" "4.0.8" - -"type-fest@^0.16.0": - "integrity" "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==" - "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz" - "version" "0.16.0" - -"type-fest@^0.20.2", "type-fest@>=0.17.0 <4.0.0": - "integrity" "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" - "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" - "version" "0.20.2" - -"type-fest@^0.21.3": - "integrity" "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" - "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz" - "version" "0.21.3" - -"type-fest@^0.7.1": - "integrity" "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==" - "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz" - "version" "0.7.1" - -"type-is@~1.6.18": - "integrity" "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==" - "resolved" "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz" - "version" "1.6.18" - dependencies: - "media-typer" "0.3.0" - "mime-types" "~2.1.24" - -"typed-array-length@^1.0.4": - "integrity" "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==" - "resolved" "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz" - "version" "1.0.4" - dependencies: - "call-bind" "^1.0.2" - "for-each" "^0.3.3" - "is-typed-array" "^1.1.9" - -"typedarray-to-buffer@^3.1.5": - "integrity" "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==" - "resolved" "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz" - "version" "3.1.5" - dependencies: - "is-typedarray" "^1.0.0" - -"typescript@^3.2.1 || ^4", "typescript@>= 2.7", "typescript@>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta": - "integrity" "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==" - "resolved" "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz" - "version" "4.9.5" - -"uglify-es@^3.1.9": - "integrity" "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==" - "resolved" "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz" - "version" "3.3.9" - dependencies: - "commander" "~2.13.0" - "source-map" "~0.6.1" - -"ulid@2.3.0": - "integrity" "sha512-keqHubrlpvT6G2wH0OEfSW4mquYRcbe/J8NMmveoQOjUqmo+hXtO+ORCpWhdbZ7k72UtY61BL7haGxW6enBnjw==" - "resolved" "https://registry.npmjs.org/ulid/-/ulid-2.3.0.tgz" - "version" "2.3.0" - -"unbox-primitive@^1.0.2": - "integrity" "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==" - "resolved" "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "call-bind" "^1.0.2" - "has-bigints" "^1.0.2" - "has-symbols" "^1.0.3" - "which-boxed-primitive" "^1.0.2" - -"unfetch@^4.2.0": - "integrity" "sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA==" - "resolved" "https://registry.npmjs.org/unfetch/-/unfetch-4.2.0.tgz" - "version" "4.2.0" - -"unicode-canonical-property-names-ecmascript@^2.0.0": - "integrity" "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==" - "resolved" "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz" - "version" "2.0.0" - -"unicode-match-property-ecmascript@^2.0.0": - "integrity" "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==" - "resolved" "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "unicode-canonical-property-names-ecmascript" "^2.0.0" - "unicode-property-aliases-ecmascript" "^2.0.0" - -"unicode-match-property-value-ecmascript@^2.1.0": - "integrity" "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==" - "resolved" "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz" - "version" "2.1.0" - -"unicode-property-aliases-ecmascript@^2.0.0": - "integrity" "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==" - "resolved" "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz" - "version" "2.1.0" - -"union-value@^1.0.0": - "integrity" "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==" - "resolved" "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "arr-union" "^3.1.0" - "get-value" "^2.0.6" - "is-extendable" "^0.1.1" - "set-value" "^2.0.1" - -"unique-string@^2.0.0": - "integrity" "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==" - "resolved" "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "crypto-random-string" "^2.0.0" - -"universal-cookie@^4.0.4": - "integrity" "sha512-lbRVHoOMtItjWbM7TwDLdl8wug7izB0tq3/YVKhT/ahB4VDvWMyvnADfnJI8y6fSvsjh51Ix7lTGC6Tn4rMPhw==" - "resolved" "https://registry.npmjs.org/universal-cookie/-/universal-cookie-4.0.4.tgz" - "version" "4.0.4" + querystringify "^2.1.1" + requires-port "^1.0.0" + +url-parser-lite@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/url-parser-lite/-/url-parser-lite-0.1.0.tgz" + +url-search-params-polyfill@^7.0.0: + version "7.0.1" + resolved "https://registry.npmjs.org/url-search-params-polyfill/-/url-search-params-polyfill-7.0.1.tgz" + +url@0.11.0, url@^0.11.0: + version "0.11.0" + resolved "https://registry.npmjs.org/url/-/url-0.11.0.tgz" dependencies: - "@types/cookie" "^0.3.3" - "cookie" "^0.4.0" - -"universalify@^0.1.0": - "integrity" "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" - "resolved" "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz" - "version" "0.1.2" - -"universalify@^0.2.0": - "integrity" "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==" - "resolved" "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz" - "version" "0.2.0" - -"universalify@^2.0.0": - "integrity" "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" - "resolved" "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz" - "version" "2.0.0" - -"unpipe@~1.0.0", "unpipe@1.0.0": - "integrity" "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" - "resolved" "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" - "version" "1.0.0" - -"unquote@~1.1.1": - "integrity" "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==" - "resolved" "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz" - "version" "1.1.1" - -"unset-value@^1.0.0": - "integrity" "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==" - "resolved" "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "has-value" "^0.3.1" - "isobject" "^3.0.0" - -"upath@^1.2.0": - "integrity" "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==" - "resolved" "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz" - "version" "1.2.0" - -"update-browserslist-db@^1.0.9": - "version" "1.0.10" - dependencies: - "escalade" "^3.1.1" - "picocolors" "^1.0.0" - -"uri-js@^4.2.2": - "integrity" "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==" - "resolved" "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" - "version" "4.4.1" - dependencies: - "punycode" "^2.1.0" - -"urix@^0.1.0": - "integrity" "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==" - "resolved" "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz" - "version" "0.1.0" - -"url-parse@^1.5.3": - "integrity" "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==" - "resolved" "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz" - "version" "1.5.10" - dependencies: - "querystringify" "^2.1.1" - "requires-port" "^1.0.0" - -"url-parser-lite@^0.1.0": - "integrity" "sha512-k8eUA7I5qfH6c1ZI9CvdHEk+YH1KroX2ry+FF9k6yJBl7AmDWen2WI+xNzbCBAek6JEvgPBoHub4v8aZIM7Jqw==" - "resolved" "https://registry.npmjs.org/url-parser-lite/-/url-parser-lite-0.1.0.tgz" - "version" "0.1.0" - -"url-search-params-polyfill@^7.0.0": - "integrity" "sha512-bAw7L2E+jn9XHG5P9zrPnHdO0yJub4U+yXJOdpcpkr7OBd9T8oll4lUos0iSGRcDvfZoLUKfx9a6aNmIhJ4+mQ==" - "resolved" "https://registry.npmjs.org/url-search-params-polyfill/-/url-search-params-polyfill-7.0.1.tgz" - "version" "7.0.1" - -"url@^0.11.0", "url@0.11.0": - "integrity" "sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==" - "resolved" "https://registry.npmjs.org/url/-/url-0.11.0.tgz" - "version" "0.11.0" - dependencies: - "punycode" "1.3.2" - "querystring" "0.2.0" - -"use-sync-external-store@^1.0.0": - "integrity" "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==" - "resolved" "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz" - "version" "1.2.0" - -"use@^3.1.0": - "integrity" "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" - "resolved" "https://registry.npmjs.org/use/-/use-3.1.1.tgz" - "version" "3.1.1" - -"util-deprecate@^1.0.1", "util-deprecate@^1.0.2", "util-deprecate@~1.0.1": - "integrity" "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - "resolved" "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" - "version" "1.0.2" - -"util.promisify@~1.0.0": - "integrity" "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==" - "resolved" "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "define-properties" "^1.1.3" - "es-abstract" "^1.17.2" - "has-symbols" "^1.0.1" - "object.getownpropertydescriptors" "^2.1.0" - -"utila@~0.4": - "integrity" "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==" - "resolved" "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz" - "version" "0.4.0" - -"utils-merge@1.0.1": - "integrity" "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==" - "resolved" "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz" - "version" "1.0.1" - -"uuid@^3.0.0", "uuid@^3.2.1", "uuid@3.4.0": - "integrity" "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" - "resolved" "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz" - "version" "3.4.0" - -"uuid@^8.3.2": - "integrity" "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" - "resolved" "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" - "version" "8.3.2" - -"v8-to-istanbul@^8.1.0": - "integrity" "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==" - "resolved" "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz" - "version" "8.1.1" + punycode "1.3.2" + querystring "0.2.0" + +util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + +util.promisify@~1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz" dependencies: - "@types/istanbul-lib-coverage" "^2.0.1" - "convert-source-map" "^1.6.0" - "source-map" "^0.7.3" + define-properties "^1.1.3" + es-abstract "^1.17.2" + has-symbols "^1.0.1" + object.getownpropertydescriptors "^2.1.0" -"vary@~1.1.2": - "integrity" "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" - "resolved" "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz" - "version" "1.1.2" +utila@~0.4: + version "0.4.0" + resolved "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz" -"vlq@^1.0.0": - "integrity" "sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==" - "resolved" "https://registry.npmjs.org/vlq/-/vlq-1.0.1.tgz" - "version" "1.0.1" +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz" -"w3c-hr-time@^1.0.2": - "integrity" "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==" - "resolved" "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz" - "version" "1.0.2" +uuid@3.4.0, uuid@^3.0.0, uuid@^3.2.1: + version "3.4.0" + resolved "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz" + +uuid@^8.3.2: + version "8.3.2" + resolved "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" + +v8-to-istanbul@^8.1.0: + version "8.1.1" + resolved "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz" dependencies: - "browser-process-hrtime" "^1.0.0" + "@types/istanbul-lib-coverage" "^2.0.1" + convert-source-map "^1.6.0" + source-map "^0.7.3" + +vary@~1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz" -"w3c-xmlserializer@^2.0.0": - "integrity" "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==" - "resolved" "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz" - "version" "2.0.0" +w3c-hr-time@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz" dependencies: - "xml-name-validator" "^3.0.0" + browser-process-hrtime "^1.0.0" -"walker@^1.0.7": - "integrity" "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==" - "resolved" "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz" - "version" "1.0.8" +w3c-xmlserializer@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz" dependencies: - "makeerror" "1.0.12" + xml-name-validator "^3.0.0" -"watchpack@^2.4.0": - "integrity" "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==" - "resolved" "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz" - "version" "2.4.0" +walker@^1.0.7: + version "1.0.8" + resolved "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz" dependencies: - "glob-to-regexp" "^0.4.1" - "graceful-fs" "^4.1.2" + makeerror "1.0.12" -"wbuf@^1.1.0", "wbuf@^1.7.3": - "integrity" "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==" - "resolved" "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz" - "version" "1.7.3" +watchpack@^2.4.0: + version "2.4.0" + resolved "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz" dependencies: - "minimalistic-assert" "^1.0.0" + glob-to-regexp "^0.4.1" + graceful-fs "^4.1.2" -"wcwidth@^1.0.1": - "integrity" "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==" - "resolved" "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz" - "version" "1.0.1" +wbuf@^1.1.0, wbuf@^1.7.3: + version "1.7.3" + resolved "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz" dependencies: - "defaults" "^1.0.3" + minimalistic-assert "^1.0.0" -"web-vitals@^2.1.4": - "integrity" "sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg==" - "resolved" "https://registry.npmjs.org/web-vitals/-/web-vitals-2.1.4.tgz" - "version" "2.1.4" +web-vitals@^2.1.4: + version "2.1.4" + resolved "https://registry.npmjs.org/web-vitals/-/web-vitals-2.1.4.tgz" -"webidl-conversions@^3.0.0": - "integrity" "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" - "resolved" "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz" - "version" "3.0.1" +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz" -"webidl-conversions@^4.0.2": - "integrity" "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" - "resolved" "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz" - "version" "4.0.2" +webidl-conversions@^4.0.2: + version "4.0.2" + resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz" -"webidl-conversions@^5.0.0": - "integrity" "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==" - "resolved" "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz" - "version" "5.0.0" +webidl-conversions@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz" -"webidl-conversions@^6.1.0": - "integrity" "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==" - "resolved" "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz" - "version" "6.1.0" +webidl-conversions@^6.1.0: + version "6.1.0" + resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz" -"webpack-dev-middleware@^5.3.1": - "integrity" "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==" - "resolved" "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz" - "version" "5.3.3" +webpack-dev-middleware@^5.3.1: + version "5.3.3" + resolved "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz" dependencies: - "colorette" "^2.0.10" - "memfs" "^3.4.3" - "mime-types" "^2.1.31" - "range-parser" "^1.2.1" - "schema-utils" "^4.0.0" + colorette "^2.0.10" + memfs "^3.4.3" + mime-types "^2.1.31" + range-parser "^1.2.1" + schema-utils "^4.0.0" -"webpack-dev-server@^4.6.0", "webpack-dev-server@3.x || 4.x": - "version" "4.11.1" +webpack-dev-server@^4.6.0: + version "4.15.1" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz#8944b29c12760b3a45bdaa70799b17cb91b03df7" dependencies: "@types/bonjour" "^3.5.9" "@types/connect-history-api-fallback" "^1.3.5" @@ -14036,213 +11145,204 @@ "@types/serve-index" "^1.9.1" "@types/serve-static" "^1.13.10" "@types/sockjs" "^0.3.33" - "@types/ws" "^8.5.1" - "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" - "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.4.2" - -"webpack-manifest-plugin@^4.0.2": - "integrity" "sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow==" - "resolved" "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-4.1.1.tgz" - "version" "4.1.1" - dependencies: - "tapable" "^2.0.0" - "webpack-sources" "^2.2.0" - -"webpack-sources@^1.4.3": - "integrity" "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==" - "resolved" "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz" - "version" "1.4.3" - dependencies: - "source-list-map" "^2.0.0" - "source-map" "~0.6.1" - -"webpack-sources@^2.2.0": - "integrity" "sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==" - "resolved" "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.1.tgz" - "version" "2.3.1" - dependencies: - "source-list-map" "^2.0.1" - "source-map" "^0.6.1" - -"webpack-sources@^3.2.3": - "integrity" "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==" - "resolved" "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz" - "version" "3.2.3" - -"webpack@^4.0.0 || ^5.0.0", "webpack@^4.37.0 || ^5.0.0", "webpack@^4.4.0 || ^5.9.0", "webpack@^4.44.2 || ^5.47.0", "webpack@^5.0.0", "webpack@^5.1.0", "webpack@^5.20.0", "webpack@^5.64.4", "webpack@>= 4", "webpack@>=2", "webpack@>=4.43.0 <6.0.0": - "version" "5.76.1" + "@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" + +webpack-manifest-plugin@^4.0.2: + version "4.1.1" + resolved "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-4.1.1.tgz" + dependencies: + tapable "^2.0.0" + webpack-sources "^2.2.0" + +webpack-sources@^1.4.3: + version "1.4.3" + resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz" + dependencies: + source-list-map "^2.0.0" + source-map "~0.6.1" + +webpack-sources@^2.2.0: + version "2.3.1" + resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.1.tgz" + dependencies: + source-list-map "^2.0.1" + source-map "^0.6.1" + +webpack-sources@^3.2.3: + version "3.2.3" + resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz" + +webpack@^5.64.4: + version "5.88.1" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.88.1.tgz#21eba01e81bd5edff1968aea726e2fbfd557d3f8" dependencies: "@types/eslint-scope" "^3.7.3" - "@types/estree" "^0.0.51" - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/wasm-edit" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" - "acorn" "^8.7.1" - "acorn-import-assertions" "^1.7.6" - "browserslist" "^4.14.5" - "chrome-trace-event" "^1.0.2" - "enhanced-resolve" "^5.10.0" - "es-module-lexer" "^0.9.0" - "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.1.0" - "tapable" "^2.1.1" - "terser-webpack-plugin" "^5.1.3" - "watchpack" "^2.4.0" - "webpack-sources" "^3.2.3" - -"websocket-driver@^0.7.4", "websocket-driver@>=0.5.1": - "integrity" "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==" - "resolved" "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz" - "version" "0.7.4" - dependencies: - "http-parser-js" ">=0.5.1" - "safe-buffer" ">=5.1.0" - "websocket-extensions" ">=0.1.1" - -"websocket-extensions@>=0.1.1": - "integrity" "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==" - "resolved" "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz" - "version" "0.1.4" - -"whatwg-encoding@^1.0.5": - "integrity" "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==" - "resolved" "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz" - "version" "1.0.5" - dependencies: - "iconv-lite" "0.4.24" - -"whatwg-fetch@^3.0.0", "whatwg-fetch@^3.6.2": - "integrity" "sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==" - "resolved" "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz" - "version" "3.6.2" - -"whatwg-mimetype@^2.3.0": - "integrity" "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" - "resolved" "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz" - "version" "2.3.0" - -"whatwg-url-without-unicode@8.0.0-3": - "integrity" "sha512-HoKuzZrUlgpz35YO27XgD28uh/WJH4B0+3ttFqRo//lmq+9T/mIOJ6kqmINI9HpUpz1imRC/nR/lxKpJiv0uig==" - "resolved" "https://registry.npmjs.org/whatwg-url-without-unicode/-/whatwg-url-without-unicode-8.0.0-3.tgz" - "version" "8.0.0-3" - dependencies: - "buffer" "^5.4.3" - "punycode" "^2.1.1" - "webidl-conversions" "^5.0.0" - -"whatwg-url@^5.0.0": - "integrity" "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==" - "resolved" "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz" - "version" "5.0.0" - dependencies: - "tr46" "~0.0.3" - "webidl-conversions" "^3.0.0" - -"whatwg-url@^7.0.0": - "integrity" "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==" - "resolved" "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz" - "version" "7.1.0" - dependencies: - "lodash.sortby" "^4.7.0" - "tr46" "^1.0.1" - "webidl-conversions" "^4.0.2" - -"whatwg-url@^8.0.0", "whatwg-url@^8.5.0": - "integrity" "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==" - "resolved" "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz" - "version" "8.7.0" - dependencies: - "lodash" "^4.7.0" - "tr46" "^2.1.0" - "webidl-conversions" "^6.1.0" - -"which-boxed-primitive@^1.0.2": - "integrity" "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==" - "resolved" "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "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-module@^2.0.0": - "integrity" "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==" - "resolved" "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz" - "version" "2.0.1" - -"which-typed-array@^1.1.9": - "integrity" "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==" - "resolved" "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz" - "version" "1.1.9" - dependencies: - "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" - "is-typed-array" "^1.1.10" - -"which@^1.2.9", "which@^1.3.1": - "integrity" "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==" - "resolved" "https://registry.npmjs.org/which/-/which-1.3.1.tgz" - "version" "1.3.1" - dependencies: - "isexe" "^2.0.0" - -"which@^2.0.1": - "integrity" "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==" - "resolved" "https://registry.npmjs.org/which/-/which-2.0.2.tgz" - "version" "2.0.2" - dependencies: - "isexe" "^2.0.0" - -"word-wrap@^1.2.3", "word-wrap@~1.2.3": - "integrity" "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" - "resolved" "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz" - "version" "1.2.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" + +websocket-driver@>=0.5.1, websocket-driver@^0.7.4: + version "0.7.4" + resolved "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz" + dependencies: + http-parser-js ">=0.5.1" + safe-buffer ">=5.1.0" + websocket-extensions ">=0.1.1" + +websocket-extensions@>=0.1.1: + version "0.1.4" + resolved "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz" + +whatwg-encoding@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz" + dependencies: + iconv-lite "0.4.24" + +whatwg-fetch@^3.6.2: + version "3.6.2" + resolved "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz" + +whatwg-mimetype@^2.3.0: + version "2.3.0" + resolved "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz" + +whatwg-url-without-unicode@8.0.0-3: + version "8.0.0-3" + resolved "https://registry.npmjs.org/whatwg-url-without-unicode/-/whatwg-url-without-unicode-8.0.0-3.tgz" + dependencies: + buffer "^5.4.3" + punycode "^2.1.1" + webidl-conversions "^5.0.0" + +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz" + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + +whatwg-url@^7.0.0: + version "7.1.0" + resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz" + dependencies: + lodash.sortby "^4.7.0" + tr46 "^1.0.1" + webidl-conversions "^4.0.2" + +whatwg-url@^8.0.0, whatwg-url@^8.5.0: + version "8.7.0" + resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz" + dependencies: + lodash "^4.7.0" + tr46 "^2.1.0" + webidl-conversions "^6.1.0" + +which-boxed-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz" + dependencies: + 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-collection@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.1.tgz#70eab71ebbbd2aefaf32f917082fc62cdcb70906" + dependencies: + is-map "^2.0.1" + is-set "^2.0.1" + is-weakmap "^2.0.1" + is-weakset "^2.0.1" + +which-typed-array@^1.1.9: + version "1.1.9" + resolved "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz" + dependencies: + 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" + is-typed-array "^1.1.10" + +which@^1.2.9, which@^1.3.1: + version "1.3.1" + resolved "https://registry.npmjs.org/which/-/which-1.3.1.tgz" + dependencies: + isexe "^2.0.0" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" + dependencies: + isexe "^2.0.0" + +word-wrap@~1.2.3: + version "1.2.3" + resolved "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz" -"workbox-background-sync@6.5.4": - "version" "6.5.4" - dependencies: - "idb" "^7.0.1" - "workbox-core" "6.5.4" +workbox-background-sync@6.6.1: + version "6.6.1" + resolved "https://registry.yarnpkg.com/workbox-background-sync/-/workbox-background-sync-6.6.1.tgz#08d603a33717ce663e718c30cc336f74909aff2f" + dependencies: + idb "^7.0.1" + workbox-core "6.6.1" + +workbox-broadcast-update@6.6.1: + version "6.6.1" + resolved "https://registry.yarnpkg.com/workbox-broadcast-update/-/workbox-broadcast-update-6.6.1.tgz#0fad9454cf8e4ace0c293e5617c64c75d8a8c61e" + dependencies: + workbox-core "6.6.1" -"workbox-broadcast-update@6.5.4": - "version" "6.5.4" - dependencies: - "workbox-core" "6.5.4" - -"workbox-build@6.5.4": - "version" "6.5.4" +workbox-build@6.6.1: + version "6.6.1" + resolved "https://registry.yarnpkg.com/workbox-build/-/workbox-build-6.6.1.tgz#6010e9ce550910156761448f2dbea8cfcf759cb0" dependencies: "@apideck/better-ajv-errors" "^0.3.1" "@babel/core" "^7.11.1" @@ -14252,354 +11352,265 @@ "@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.5.4" - "workbox-broadcast-update" "6.5.4" - "workbox-cacheable-response" "6.5.4" - "workbox-core" "6.5.4" - "workbox-expiration" "6.5.4" - "workbox-google-analytics" "6.5.4" - "workbox-navigation-preload" "6.5.4" - "workbox-precaching" "6.5.4" - "workbox-range-requests" "6.5.4" - "workbox-recipes" "6.5.4" - "workbox-routing" "6.5.4" - "workbox-strategies" "6.5.4" - "workbox-streams" "6.5.4" - "workbox-sw" "6.5.4" - "workbox-window" "6.5.4" - -"workbox-cacheable-response@6.5.4": - "version" "6.5.4" - dependencies: - "workbox-core" "6.5.4" - -"workbox-core@6.5.4": - "version" "6.5.4" - -"workbox-expiration@6.5.4": - "version" "6.5.4" - dependencies: - "idb" "^7.0.1" - "workbox-core" "6.5.4" - -"workbox-google-analytics@6.5.4": - "version" "6.5.4" - dependencies: - "workbox-background-sync" "6.5.4" - "workbox-core" "6.5.4" - "workbox-routing" "6.5.4" - "workbox-strategies" "6.5.4" - -"workbox-navigation-preload@6.5.4": - "version" "6.5.4" - dependencies: - "workbox-core" "6.5.4" - -"workbox-precaching@6.5.4": - "version" "6.5.4" - dependencies: - "workbox-core" "6.5.4" - "workbox-routing" "6.5.4" - "workbox-strategies" "6.5.4" - -"workbox-range-requests@6.5.4": - "version" "6.5.4" - dependencies: - "workbox-core" "6.5.4" - -"workbox-recipes@6.5.4": - "version" "6.5.4" - dependencies: - "workbox-cacheable-response" "6.5.4" - "workbox-core" "6.5.4" - "workbox-expiration" "6.5.4" - "workbox-precaching" "6.5.4" - "workbox-routing" "6.5.4" - "workbox-strategies" "6.5.4" - -"workbox-routing@6.5.4": - "version" "6.5.4" - dependencies: - "workbox-core" "6.5.4" - -"workbox-strategies@6.5.4": - "version" "6.5.4" - dependencies: - "workbox-core" "6.5.4" - -"workbox-streams@6.5.4": - "version" "6.5.4" - dependencies: - "workbox-core" "6.5.4" - "workbox-routing" "6.5.4" - -"workbox-sw@6.5.4": - "version" "6.5.4" - -"workbox-webpack-plugin@^6.4.1": - "version" "6.5.4" - dependencies: - "fast-json-stable-stringify" "^2.1.0" - "pretty-bytes" "^5.4.1" - "upath" "^1.2.0" - "webpack-sources" "^1.4.3" - "workbox-build" "6.5.4" + 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.1" + workbox-broadcast-update "6.6.1" + workbox-cacheable-response "6.6.1" + workbox-core "6.6.1" + workbox-expiration "6.6.1" + workbox-google-analytics "6.6.1" + workbox-navigation-preload "6.6.1" + workbox-precaching "6.6.1" + workbox-range-requests "6.6.1" + workbox-recipes "6.6.1" + workbox-routing "6.6.1" + workbox-strategies "6.6.1" + workbox-streams "6.6.1" + workbox-sw "6.6.1" + workbox-window "6.6.1" + +workbox-cacheable-response@6.6.1: + version "6.6.1" + resolved "https://registry.yarnpkg.com/workbox-cacheable-response/-/workbox-cacheable-response-6.6.1.tgz#284c2b86be3f4fd191970ace8c8e99797bcf58e9" + dependencies: + workbox-core "6.6.1" + +workbox-core@6.6.1: + version "6.6.1" + resolved "https://registry.yarnpkg.com/workbox-core/-/workbox-core-6.6.1.tgz#7184776d4134c5ed2f086878c882728fc9084265" + +workbox-expiration@6.6.1: + version "6.6.1" + resolved "https://registry.yarnpkg.com/workbox-expiration/-/workbox-expiration-6.6.1.tgz#a841fa36676104426dbfb9da1ef6a630b4f93739" + dependencies: + idb "^7.0.1" + workbox-core "6.6.1" + +workbox-google-analytics@6.6.1: + version "6.6.1" + resolved "https://registry.yarnpkg.com/workbox-google-analytics/-/workbox-google-analytics-6.6.1.tgz#a07a6655ab33d89d1b0b0a935ffa5dea88618c5d" + dependencies: + workbox-background-sync "6.6.1" + workbox-core "6.6.1" + workbox-routing "6.6.1" + workbox-strategies "6.6.1" + +workbox-navigation-preload@6.6.1: + version "6.6.1" + resolved "https://registry.yarnpkg.com/workbox-navigation-preload/-/workbox-navigation-preload-6.6.1.tgz#61a34fe125558dd88cf09237f11bd966504ea059" + dependencies: + workbox-core "6.6.1" + +workbox-precaching@6.6.1: + version "6.6.1" + resolved "https://registry.yarnpkg.com/workbox-precaching/-/workbox-precaching-6.6.1.tgz#dedeeba10a2d163d990bf99f1c2066ac0d1a19e2" + dependencies: + workbox-core "6.6.1" + workbox-routing "6.6.1" + workbox-strategies "6.6.1" + +workbox-range-requests@6.6.1: + version "6.6.1" + resolved "https://registry.yarnpkg.com/workbox-range-requests/-/workbox-range-requests-6.6.1.tgz#ddaf7e73af11d362fbb2f136a9063a4c7f507a39" + dependencies: + workbox-core "6.6.1" + +workbox-recipes@6.6.1: + version "6.6.1" + resolved "https://registry.yarnpkg.com/workbox-recipes/-/workbox-recipes-6.6.1.tgz#ea70d2b2b0b0bce8de0a9d94f274d4a688e69fae" + dependencies: + workbox-cacheable-response "6.6.1" + workbox-core "6.6.1" + workbox-expiration "6.6.1" + workbox-precaching "6.6.1" + workbox-routing "6.6.1" + workbox-strategies "6.6.1" + +workbox-routing@6.6.1: + version "6.6.1" + resolved "https://registry.yarnpkg.com/workbox-routing/-/workbox-routing-6.6.1.tgz#cba9a1c7e0d1ea11e24b6f8c518840efdc94f581" + dependencies: + workbox-core "6.6.1" + +workbox-strategies@6.6.1: + version "6.6.1" + resolved "https://registry.yarnpkg.com/workbox-strategies/-/workbox-strategies-6.6.1.tgz#38d0f0fbdddba97bd92e0c6418d0b1a2ccd5b8bf" + dependencies: + workbox-core "6.6.1" + +workbox-streams@6.6.1: + version "6.6.1" + resolved "https://registry.yarnpkg.com/workbox-streams/-/workbox-streams-6.6.1.tgz#b2f7ba7b315c27a6e3a96a476593f99c5d227d26" + dependencies: + workbox-core "6.6.1" + workbox-routing "6.6.1" + +workbox-sw@6.6.1: + version "6.6.1" + resolved "https://registry.yarnpkg.com/workbox-sw/-/workbox-sw-6.6.1.tgz#d4c4ca3125088e8b9fd7a748ed537fa0247bd72c" + +workbox-webpack-plugin@^6.4.1: + version "6.6.1" + resolved "https://registry.yarnpkg.com/workbox-webpack-plugin/-/workbox-webpack-plugin-6.6.1.tgz#4f81cc1ad4e5d2cd7477a86ba83c84ee2d187531" + dependencies: + 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.1" -"workbox-window@6.5.4": - "version" "6.5.4" +workbox-window@6.6.1: + version "6.6.1" + resolved "https://registry.yarnpkg.com/workbox-window/-/workbox-window-6.6.1.tgz#f22a394cbac36240d0dadcbdebc35f711bb7b89e" dependencies: "@types/trusted-types" "^2.0.2" - "workbox-core" "6.5.4" - -"wrap-ansi@^6.2.0": - "integrity" "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==" - "resolved" "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz" - "version" "6.2.0" - dependencies: - "ansi-styles" "^4.0.0" - "string-width" "^4.1.0" - "strip-ansi" "^6.0.0" - -"wrap-ansi@^7.0.0": - "integrity" "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==" - "resolved" "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" - "version" "7.0.0" - dependencies: - "ansi-styles" "^4.0.0" - "string-width" "^4.1.0" - "strip-ansi" "^6.0.0" - -"wrappy@1": - "integrity" "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - "resolved" "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" - "version" "1.0.2" - -"write-file-atomic@^2.3.0": - "integrity" "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==" - "resolved" "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz" - "version" "2.4.3" - dependencies: - "graceful-fs" "^4.1.11" - "imurmurhash" "^0.1.4" - "signal-exit" "^3.0.2" - -"write-file-atomic@^3.0.0": - "integrity" "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==" - "resolved" "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz" - "version" "3.0.3" - dependencies: - "imurmurhash" "^0.1.4" - "is-typedarray" "^1.0.0" - "signal-exit" "^3.0.2" - "typedarray-to-buffer" "^3.1.5" - -"ws@^6.2.2": - "integrity" "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==" - "resolved" "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz" - "version" "6.2.2" - dependencies: - "async-limiter" "~1.0.0" - -"ws@^7.4.6": - "integrity" "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==" - "resolved" "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz" - "version" "7.5.9" - -"ws@^7.5.1": - "integrity" "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==" - "resolved" "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz" - "version" "7.5.9" - -"ws@^7": - "integrity" "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==" - "resolved" "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz" - "version" "7.5.9" - -"ws@^8.4.2": - "version" "8.12.0" - -"xml-name-validator@^3.0.0": - "integrity" "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" - "resolved" "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz" - "version" "3.0.0" - -"xmlchars@^2.2.0": - "integrity" "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" - "resolved" "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz" - "version" "2.2.0" - -"xss@^1.0.11": - "integrity" "sha512-og7TEJhXvn1a7kzZGQ7ETjdQVS2UfZyTlsEdDOqvQF7GoxNfY+0YLCzBy1kPdsDDx4QuNAonQPddpsn6Xl/7sw==" - "resolved" "https://registry.npmjs.org/xss/-/xss-1.0.14.tgz" - "version" "1.0.14" - dependencies: - "commander" "^2.20.3" - "cssfilter" "0.0.10" - -"xtend@^4.0.2", "xtend@~4.0.1": - "integrity" "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" - "resolved" "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" - "version" "4.0.2" - -"y18n@^4.0.0": - "integrity" "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" - "resolved" "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz" - "version" "4.0.3" - -"y18n@^5.0.5": - "integrity" "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" - "resolved" "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" - "version" "5.0.8" - -"yallist@^3.0.2": - "integrity" "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - "resolved" "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" - "version" "3.1.1" - -"yallist@^4.0.0": - "integrity" "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - "resolved" "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" - "version" "4.0.0" - -"yaml@^1.10.0", "yaml@^1.10.2", "yaml@^1.7.2": - "integrity" "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" - "resolved" "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" - "version" "1.10.2" - -"yargs-parser@^18.1.2": - "integrity" "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==" - "resolved" "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz" - "version" "18.1.3" - dependencies: - "camelcase" "^5.0.0" - "decamelize" "^1.2.0" - -"yargs-parser@^20.2.2": - "integrity" "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" - "resolved" "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz" - "version" "20.2.9" - -"yargs-parser@^21.1.1": - "integrity" "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==" - "resolved" "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz" - "version" "21.1.1" - -"yargs@^15.1.0": - "integrity" "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==" - "resolved" "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz" - "version" "15.4.1" - dependencies: - "cliui" "^6.0.0" - "decamelize" "^1.2.0" - "find-up" "^4.1.0" - "get-caller-file" "^2.0.1" - "require-directory" "^2.1.1" - "require-main-filename" "^2.0.0" - "set-blocking" "^2.0.0" - "string-width" "^4.2.0" - "which-module" "^2.0.0" - "y18n" "^4.0.0" - "yargs-parser" "^18.1.2" - -"yargs@^16.2.0": - "integrity" "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==" - "resolved" "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz" - "version" "16.2.0" - dependencies: - "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@^17.5.1": - "integrity" "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==" - "resolved" "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz" - "version" "17.7.2" - dependencies: - "cliui" "^8.0.1" - "escalade" "^3.1.1" - "get-caller-file" "^2.0.5" - "require-directory" "^2.1.1" - "string-width" "^4.2.3" - "y18n" "^5.0.5" - "yargs-parser" "^21.1.1" - -"yocto-queue@^0.1.0": - "integrity" "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" - "resolved" "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" - "version" "0.1.0" - -"yup@^0.32.11": - "integrity" "sha512-Z2Fe1bn+eLstG8DRR6FTavGD+MeAwyfmouhHsIUgaADz8jvFKbO/fXc2trJKZg+5EBjh4gGm3iU/t3onKlXHIg==" - "resolved" "https://registry.npmjs.org/yup/-/yup-0.32.11.tgz" - "version" "0.32.11" + workbox-core "6.6.1" + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + +write-file-atomic@^3.0.0: + version "3.0.3" + resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz" + dependencies: + imurmurhash "^0.1.4" + is-typedarray "^1.0.0" + signal-exit "^3.0.2" + typedarray-to-buffer "^3.1.5" + +ws@^7.4.6: + version "7.5.9" + resolved "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz" + +ws@^8.13.0: + version "8.13.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.13.0.tgz#9a9fb92f93cf41512a0735c8f4dd09b8a1211cd0" + +xml-name-validator@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz" + +xmlchars@^2.2.0: + version "2.2.0" + resolved "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz" + +xss@^1.0.11: + version "1.0.14" + resolved "https://registry.npmjs.org/xss/-/xss-1.0.14.tgz" + dependencies: + commander "^2.20.3" + cssfilter "0.0.10" + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" + +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" + +yaml@^1.10.0, yaml@^1.10.2, yaml@^1.7.2: + version "1.10.2" + resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" + +yaml@^2.1.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.1.tgz#02fe0975d23cd441242aa7204e09fc28ac2ac33b" + +yargs-parser@^20.2.2: + version "20.2.9" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz" + +yargs@^16.2.0: + version "16.2.0" + resolved "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz" + dependencies: + 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" + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" + +yup@^0.32.11: + version "0.32.11" + resolved "https://registry.npmjs.org/yup/-/yup-0.32.11.tgz" dependencies: "@babel/runtime" "^7.15.4" "@types/lodash" "^4.14.175" - "lodash" "^4.17.21" - "lodash-es" "^4.17.21" - "nanoclone" "^0.2.1" - "property-expr" "^2.0.4" - "toposort" "^2.0.2" + lodash "^4.17.21" + lodash-es "^4.17.21" + nanoclone "^0.2.1" + property-expr "^2.0.4" + toposort "^2.0.2" -"zen-observable-ts@^0.8.21": - "integrity" "sha512-Yj3yXweRc8LdRMrCC8nIc4kkjWecPAUVh0TI0OUrWXx6aX790vLcDlWca6I4vsyCGH3LpWxq0dJRcMOFoVqmeg==" - "resolved" "https://registry.npmjs.org/zen-observable-ts/-/zen-observable-ts-0.8.21.tgz" - "version" "0.8.21" +zen-observable-ts@0.8.19: + version "0.8.19" + resolved "https://registry.npmjs.org/zen-observable-ts/-/zen-observable-ts-0.8.19.tgz" dependencies: - "tslib" "^1.9.3" - "zen-observable" "^0.8.0" + tslib "^1.9.3" + zen-observable "^0.8.0" -"zen-observable-ts@^1.2.0": - "version" "1.2.3" +zen-observable-ts@^0.8.21: + version "0.8.21" + resolved "https://registry.npmjs.org/zen-observable-ts/-/zen-observable-ts-0.8.21.tgz" dependencies: - "zen-observable" "0.8.15" + tslib "^1.9.3" + zen-observable "^0.8.0" -"zen-observable-ts@0.8.19": - "integrity" "sha512-u1a2rpE13G+jSzrg3aiCqXU5tN2kw41b+cBZGmnc+30YimdkKiDj9bTowcB41eL77/17RF/h+393AuVgShyheQ==" - "resolved" "https://registry.npmjs.org/zen-observable-ts/-/zen-observable-ts-0.8.19.tgz" - "version" "0.8.19" +zen-observable-ts@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/zen-observable-ts/-/zen-observable-ts-1.2.5.tgz#6c6d9ea3d3a842812c6e9519209365a122ba8b58" dependencies: - "tslib" "^1.9.3" - "zen-observable" "^0.8.0" + zen-observable "0.8.15" -"zen-observable@^0.7.0": - "integrity" "sha512-OI6VMSe0yeqaouIXtedC+F55Sr6r9ppS7+wTbSexkYdHbdt4ctTuPNXP/rwm7GTVI63YBc+EBT0b0tl7YnJLRg==" - "resolved" "https://registry.npmjs.org/zen-observable/-/zen-observable-0.7.1.tgz" - "version" "0.7.1" +zen-observable@0.8.15, zen-observable@^0.8.0: + version "0.8.15" + resolved "https://registry.npmjs.org/zen-observable/-/zen-observable-0.8.15.tgz" -"zen-observable@^0.8.0", "zen-observable@0.8.15": - "integrity" "sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==" - "resolved" "https://registry.npmjs.org/zen-observable/-/zen-observable-0.8.15.tgz" - "version" "0.8.15" +zen-observable@^0.7.0: + version "0.7.1" + resolved "https://registry.npmjs.org/zen-observable/-/zen-observable-0.7.1.tgz" -"zen-push@0.2.1": - "integrity" "sha512-Qv4qvc8ZIue51B/0zmeIMxpIGDVhz4GhJALBvnKs/FRa2T7jy4Ori9wFwaHVt0zWV7MIFglKAHbgnVxVTw7U1w==" - "resolved" "https://registry.npmjs.org/zen-push/-/zen-push-0.2.1.tgz" - "version" "0.2.1" +zen-push@0.2.1: + version "0.2.1" + resolved "https://registry.npmjs.org/zen-push/-/zen-push-0.2.1.tgz" dependencies: - "zen-observable" "^0.7.0" + zen-observable "^0.7.0" -"zrender@5.4.3": - "integrity" "sha512-DRUM4ZLnoaT0PBVvGBDO9oWIDBKFdAVieNWxWwK0niYzJCMwGchRk21/hsE+RKkIveH3XHCyvXcJDkgLVvfizQ==" - "resolved" "https://registry.npmjs.org/zrender/-/zrender-5.4.3.tgz" - "version" "5.4.3" +zrender@5.4.3: + version "5.4.3" + resolved "https://registry.npmjs.org/zrender/-/zrender-5.4.3.tgz" dependencies: - "tslib" "2.3.0" + tslib "2.3.0" From 558e2bc69588bb5de70aa996d5811e6dd46e499d Mon Sep 17 00:00:00 2001 From: Noah Paige <69586985+noah-paige@users.noreply.github.com> Date: Mon, 10 Jul 2023 11:24:35 -0400 Subject: [PATCH 36/53] Resolve dataset share checks when deleting dataset (#554) ### Feature or Bugfix - Bugfix ### Detail - Fix query to check dataset shares before deleting a dataset The `existingSharedItems` property of `ShareObject` was not resolving correctly to a `True` or `False` value but rather to `None`. The impact is: 1. When checking a dataset's shares before deleting the dataset - we would not raise an exception for datasets that did in fact have existing shared items. 2. Additionally, when deleting a dataset with associated shared objects created - we would not successfully delete the associated share object and share object items and not clean up rows in the DB appropriately. This caused issues when viewing the Share Tab as the dataset does not exist but is still referenced in the outdated ShareObject and throws an error. ### Relates - #544 By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. --- backend/dataall/db/api/dataset.py | 43 +++++++++++++++++++++++-------- 1 file changed, 32 insertions(+), 11 deletions(-) diff --git a/backend/dataall/db/api/dataset.py b/backend/dataall/db/api/dataset.py index a42b676ec..3ea30ed08 100644 --- a/backend/dataall/db/api/dataset.py +++ b/backend/dataall/db/api/dataset.py @@ -520,11 +520,19 @@ def list_dataset_shares(session, dataset_uri) -> [models.ShareObject]: @staticmethod def list_dataset_shares_with_existing_shared_items(session, dataset_uri) -> [models.ShareObject]: - query = session.query(models.ShareObject).filter( - and_( - models.ShareObject.datasetUri == dataset_uri, - models.ShareObject.deleted.is_(None), - models.ShareObject.existingSharedItems.is_(True), + share_item_shared_states = api.ShareItemSM.get_share_item_shared_states() + query = ( + session.query(models.ShareObject) + .outerjoin( + models.ShareObjectItem, + models.ShareObjectItem.shareUri == models.ShareObject.shareUri + ) + .filter( + and_( + models.ShareObject.datasetUri == dataset_uri, + models.ShareObject.deleted.is_(None), + models.ShareObjectItem.status.in_(share_item_shared_states), + ) ) ) return query.all() @@ -568,23 +576,36 @@ def delete_dataset( @staticmethod def _delete_dataset_shares_with_no_shared_items(session, dataset_uri): - share_objects = ( + share_item_shared_states = api.ShareItemSM.get_share_item_shared_states() + shares = ( session.query(models.ShareObject) + .outerjoin( + models.ShareObjectItem, + models.ShareObjectItem.shareUri == models.ShareObject.shareUri + ) .filter( and_( models.ShareObject.datasetUri == dataset_uri, - models.ShareObject.existingSharedItems.is_(False), + models.ShareObjectItem.status.notin_(share_item_shared_states), ) ) .all() ) - for share in share_objects: - ( + for share in shares: + share_items = ( session.query(models.ShareObjectItem) .filter(models.ShareObjectItem.shareUri == share.shareUri) - .delete() + .all() + ) + for item in share_items: + session.delete(item) + + share_obj = ( + session.query(models.ShareObject) + .filter(models.ShareObject.shareUri == share.shareUri) + .first() ) - session.delete(share) + session.delete(share_obj) @staticmethod def _delete_dataset_term_links(session, uri): From 49ffa72a55e9be38303988665a45891968a80e21 Mon Sep 17 00:00:00 2001 From: Srinivas Reddy Date: Tue, 11 Jul 2023 01:42:24 -0500 Subject: [PATCH 37/53] optimized docker image size (#549) ### Feature or Bugfix Refactoring ### Detail Optimized docker image size of `backend/docker/ecs/` from `3.6GB` to `1.9GB` By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. --- backend/docker/prod/ecs/Dockerfile | 75 ++++++++++++++++-------------- 1 file changed, 39 insertions(+), 36 deletions(-) diff --git a/backend/docker/prod/ecs/Dockerfile b/backend/docker/prod/ecs/Dockerfile index 1ab2be91d..417833bc4 100644 --- a/backend/docker/prod/ecs/Dockerfile +++ b/backend/docker/prod/ecs/Dockerfile @@ -5,56 +5,59 @@ ARG NVM_VERSION=v0.37.2 ARG DEEQU_VERSION=2.0.0-spark-3.1 ARG PYTHON_VERSION=python3.8 -RUN yum upgrade -y;\ - find /var/tmp -name "*.rpm" -print -delete ;\ - find /tmp -name "*.rpm" -print -delete ;\ - yum autoremove -y; \ - yum clean packages; yum clean headers; yum clean metadata; yum clean all; rm -rfv /var/cache/yum - -RUN yum -y install shadow-utils wget -RUN yum -y install openssl-devel bzip2-devel libffi-devel postgresql-devel gcc unzip tar gzip -RUN amazon-linux-extras install $PYTHON_VERSION -RUN yum -y install python38-devel -RUN yum -y install git - -RUN /bin/bash -c "ln -s /usr/bin/${PYTHON_VERSION} /usr/bin/python3" - -RUN curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" -RUN unzip awscliv2.zip -RUN ./aws/install - +# Installing libraries +RUN yum upgrade -y \ + && find /var/tmp -name "*.rpm" -print -delete \ + && find /tmp -name "*.rpm" -print -delete \ + && yum autoremove -y \ + && yum clean all \ + && rm -rfv /var/cache/yum \ + && yum install -y \ + shadow-utils wget openssl-devel bzip2-devel libffi-devel \ + postgresql-devel gcc unzip tar gzip \ + && amazon-linux-extras install $PYTHON_VERSION \ + && yum install -y python38-devel git \ + && /bin/bash -c "ln -s /usr/bin/${PYTHON_VERSION} /usr/bin/python3" \ + && curl https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip -o /tmp/awscliv2.zip \ + && unzip -q /tmp/awscliv2.zip -d /opt \ + && /opt/aws/install --update -i /usr/local/aws-cli -b /usr/local/bin \ + && rm /tmp/awscliv2.zip \ + && rm -rf /opt/aws \ + && aws --version + +# Configuring path RUN touch ~/.bashrc -RUN curl -o- https://raw.githubusercontent.com/creationix/nvm/$NVM_VERSION/install.sh | bash - -RUN /bin/bash -c ". ~/.nvm/nvm.sh && \ - nvm install $NODE_VERSION && nvm use $NODE_VERSION && \ - npm install -g aws-cdk && \ - nvm alias default node && nvm cache clear" - -RUN echo export PATH="\ -/root/.nvm/versions/node/${NODE_VERSION}/bin:\ -$(${PYTHON_VERSION} -m site --user-base)/bin:\ -$(python3 -m site --user-base)/bin:\ -$PATH" >> ~/.bashrc && \ - echo "nvm use ${NODE_VERSION} 1> /dev/null" >> ~/.bashrc -RUN /bin/bash -c ". ~/.nvm/nvm.sh && cdk --version" +# Configuring Node and CDK +RUN curl -o- https://raw.githubusercontent.com/creationix/nvm/$NVM_VERSION/install.sh | bash \ + && /bin/bash -c ". ~/.nvm/nvm.sh && \ + nvm install $NODE_VERSION && nvm use $NODE_VERSION && \ + npm install -g aws-cdk && \ + nvm alias default node && nvm cache clear" \ + && echo export PATH="\ + /root/.nvm/versions/node/${NODE_VERSION}/bin:\ + $(${PYTHON_VERSION} -m site --user-base)/bin:\ + $(python3 -m site --user-base)/bin:\ + $PATH" >> ~/.bashrc && \ + echo "nvm use ${NODE_VERSION} 1> /dev/null" >> ~/.bashrc \ + && /bin/bash -c ". ~/.nvm/nvm.sh && cdk --version" RUN $PYTHON_VERSION -m pip install -U pip +# App specific ADD backend/requirements.txt /dh.requirements.txt ADD backend/dataall/cdkproxy/requirements.txt /cdk.requirements.txt -RUN /bin/bash -c "pip3.8 install -r /dh.requirements.txt" -RUN /bin/bash -c "pip3.8 install -r /cdk.requirements.txt" +RUN /bin/bash -c "pip3.8 install -r /dh.requirements.txt" \ + && /bin/bash -c "pip3.8 install -r /cdk.requirements.txt" ADD backend/dataall /dataall VOLUME ["/dataall"] ADD backend/blueprints /blueprints ADD backend/cdkproxymain.py /cdkproxymain.py -RUN mkdir -p dataall/cdkproxy/assets/glueprofilingjob/jars -RUN mkdir -p blueprints/ml_data_pipeline/engine/glue/jars +RUN mkdir -p dataall/cdkproxy/assets/glueprofilingjob/jars \ + && mkdir -p blueprints/ml_data_pipeline/engine/glue/jars ADD https://repo1.maven.org/maven2/com/amazon/deequ/deequ/$DEEQU_VERSION/deequ-$DEEQU_VERSION.jar /dataall/cdkproxy/assets/glueprofilingjob/jars/ RUN cp -f dataall/cdkproxy/assets/glueprofilingjob/jars/deequ-$DEEQU_VERSION.jar blueprints/ml_data_pipeline/engine/glue/jars/deequ-$DEEQU_VERSION.jar From 4c594c222b0e7ebf7dc6e786781e02ece218dae7 Mon Sep 17 00:00:00 2001 From: dlpzx <71252798+dlpzx@users.noreply.github.com> Date: Wed, 12 Jul 2023 11:09:42 +0200 Subject: [PATCH 38/53] Added ec2:DescribePrefix permissions to CDKSynth (#566) ### Feature or Bugfix - BugFix ### Detail For the release of v1.6 one permission is needed in CDK Synth CodeBuild stage. Since this permission will be added in the next CodeBuild stage of the deployment pipeline (UpdatePipeline and SelfMutate) the pipeline execution will fail when upgrading to V1.6. This PR adds the permission so if customers want to avoid manually adding the permission they can upgrade to v1.5.X and then to V1.6.0 in a 2 steps upgrade ### Relates Release v1.6.0 By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. --- deploy/stacks/pipeline.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/deploy/stacks/pipeline.py b/deploy/stacks/pipeline.py index ea5b2128a..3b646575f 100644 --- a/deploy/stacks/pipeline.py +++ b/deploy/stacks/pipeline.py @@ -95,6 +95,8 @@ def __init__( iam.PolicyStatement( actions=[ 'ecr:GetAuthorizationToken', + 'ec2:DescribePrefixLists', + 'ec2:DescribeManagedPrefixLists' ], resources=['*'], ), From 45c5cfb3f92c198cf94c9f4bd3558d53b8d0a687 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 12 Jul 2023 12:34:15 +0200 Subject: [PATCH 39/53] Bump semver from 5.7.1 to 5.7.2 in /frontend (#564) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [semver](https://github.com/npm/node-semver) from 5.7.1 to 5.7.2.
Release notes

Sourced from semver's releases.

v5.7.2

5.7.2 (2023-07-10)

Bug Fixes

Changelog

Sourced from semver's changelog.

5.7.2 (2023-07-10)

Bug Fixes

5.7

  • Add minVersion method

5.6

  • Move boolean loose param to an options object, with backwards-compatibility protection.
  • Add ability to opt out of special prerelease version handling with the includePrerelease option flag.

5.5

  • Add version coercion capabilities

5.4

  • Add intersection checking

5.3

  • Add minSatisfying method

5.2

  • Add prerelease(v) that returns prerelease components

5.1

  • Add Backus-Naur for ranges
  • Remove excessively cute inspection methods

5.0

  • Remove AMD/Browserified build artifacts
  • Fix ltr and gtr when using the * range
  • Fix for range * with a prerelease identifier
Commits
Maintainer changes

This version was pushed to npm by lukekarrys, a new releaser for semver since your current version.


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=semver&package-manager=npm_and_yarn&previous-version=5.7.1&new-version=5.7.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/awslabs/aws-dataall/network/alerts).
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- frontend/yarn.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/frontend/yarn.lock b/frontend/yarn.lock index 1d888c3f7..1c2e67c95 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -10137,12 +10137,12 @@ selfsigned@^2.1.1: node-forge "^1" semver@^5.5.0: - version "5.7.1" - resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" + version "5.7.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" semver@^6.0.0, semver@^6.3.0: - version "6.3.0" - resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" + version "6.3.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" semver@^7.3.2, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8: version "7.5.4" From 84c555ede529d95aa553f789efe844ea9c723a49 Mon Sep 17 00:00:00 2001 From: dlpzx <71252798+dlpzx@users.noreply.github.com> Date: Wed, 19 Jul 2023 14:53:26 +0200 Subject: [PATCH 40/53] V1.6.0 features (#565) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ### Feature or Bugfix Release PR with the following list of features. Refer to each PR for the details ### Detail - #498 - #482 - #543 - #524 (which also solves #531) - #532 - #535 - #497 - #515 - #529 - #562 - #455 - #572 - #567 - #573 - #579 - #578 - #582 ### Breaking changes - release notes - ⚠️ IMPORTANT: upgrade to a version >V1.5.0 before upgrading to V1.6 to avoid deletion of resources in custom resource deletion - ⚠️ IMPORTANT: requires an update of environments and then datasets after upgrading. Either using cdk.json parameter `enable_update_dataall_stacks_in_cicd_pipeline`, waiting for overnight update stack task, or manually updating first environments and then datasets - CloudFront distribution replace for #529 - Additional EC2 permissions in CDK Synth CodeBuild stage for #543 --> this can be avoided by upgrading to v1.5.6 before upgrading to v1.6.0 - local development affected by more restrictive pivotRole trust policy ### Relates V1.6.0 release By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. --------- Co-authored-by: Gezim Musliaj <102723839+gmuslia@users.noreply.github.com> Co-authored-by: Noah Paige <69586985+noah-paige@users.noreply.github.com> Co-authored-by: nikpodsh <124577300+nikpodsh@users.noreply.github.com> Co-authored-by: chamcca <40579012+chamcca@users.noreply.github.com> Co-authored-by: Nikita Podshivalov Co-authored-by: dbalintx <132444646+dbalintx@users.noreply.github.com> Co-authored-by: mourya-33 <134511711+mourya-33@users.noreply.github.com> --- UserGuide.pdf | Bin 10692972 -> 10744691 bytes backend/cdkproxymain.py | 9 +- .../api/Objects/Dataset/input_types.py | 3 +- .../dataall/api/Objects/Dataset/resolvers.py | 24 +- .../api/Objects/DatasetProfiling/mutations.py | 10 - .../api/Objects/DatasetProfiling/queries.py | 20 +- .../api/Objects/DatasetProfiling/resolvers.py | 100 ++-- .../api/Objects/DatasetProfiling/schema.py | 8 +- .../api/Objects/Environment/queries.py | 8 + .../api/Objects/Environment/resolvers.py | 48 +- .../api/Objects/ShareObject/input_types.py | 1 + .../api/Objects/ShareObject/mutations.py | 26 +- .../api/Objects/ShareObject/resolvers.py | 50 +- .../dataall/api/Objects/ShareObject/schema.py | 2 + .../dataall/aws/handlers/cloudformation.py | 3 - backend/dataall/aws/handlers/ecs.py | 2 +- backend/dataall/aws/handlers/glue.py | 14 +- backend/dataall/aws/handlers/lakeformation.py | 4 +- backend/dataall/aws/handlers/quicksight.py | 2 +- backend/dataall/aws/handlers/sts.py | 49 +- .../__init__.py | 1 - .../datalakelocationcustomresource/index.py | 89 --- .../gluedatabasecustomresource/index.py | 38 +- .../__init__.py | 1 - .../index.py | 118 ---- .../blueprints/cookiecutter_config.yaml | 2 + .../app_multiaccount.py | 0 .../ddk_app/__init__.py | 0 .../ddk_app/ddk_app_stack_multiaccount.py | 0 .../data_pipeline_blueprint/utils/config.py | 0 backend/dataall/cdkproxy/cdk_cli_wrapper.py | 7 +- .../cdkproxy/cdkpipeline/cdk_pipeline.py | 3 +- backend/dataall/cdkproxy/main.py | 9 +- backend/dataall/cdkproxy/requirements.txt | 2 +- backend/dataall/cdkproxy/stacks/dataset.py | 261 +++++---- .../dataall/cdkproxy/stacks/environment.py | 357 +++++------- backend/dataall/cdkproxy/stacks/notebook.py | 38 +- backend/dataall/cdkproxy/stacks/pipeline.py | 46 +- backend/dataall/cdkproxy/stacks/pivot_role.py | 539 +++++------------- .../cdkproxy/stacks/policies/_lambda.py | 78 ++- .../cdkproxy/stacks/policies/athena.py | 64 +++ .../policies/{codestar.py => aws_cicd.py} | 114 +++- .../stacks/policies/cloudformation.py | 22 +- .../cdkproxy/stacks/policies/data_policy.py | 190 +++--- .../cdkproxy/stacks/policies/databrew.py | 38 +- .../dataall/cdkproxy/stacks/policies/glue.py | 163 ++++-- .../cdkproxy/stacks/policies/lakeformation.py | 35 -- .../cdkproxy/stacks/policies/quicksight.py | 37 +- .../cdkproxy/stacks/policies/redshift.py | 68 --- .../cdkproxy/stacks/policies/sagemaker.py | 191 +++++-- .../stacks/policies/secretsmanager.py | 51 ++ .../stacks/policies/service_policy.py | 87 +-- .../dataall/cdkproxy/stacks/policies/sqs.py | 57 ++ .../dataall/cdkproxy/stacks/policies/ssm.py | 54 ++ .../cdkproxy/stacks/policies/stepfunctions.py | 53 +- .../cdkproxy/stacks/sagemakerstudio.py | 42 +- backend/dataall/db/api/dataset.py | 64 ++- backend/dataall/db/api/share_object.py | 65 ++- backend/dataall/db/connection.py | 19 +- backend/dataall/db/dbconfig.py | 56 +- backend/dataall/db/models/ShareObject.py | 2 + backend/dataall/db/permissions.py | 1 - .../share_managers/s3_share_manager.py | 4 +- .../dataall/tasks/subscriptions/sqs_poller.py | 6 +- backend/dataall/tasks/tables_syncer.py | 1 - backend/dataall/utils/naming_convention.py | 7 + backend/docker/prod/ecs/Dockerfile | 5 +- .../72b8a90b6ee8__share_request_purpose.py | 136 +++++ ...b_rename_imported_dataset_aws_resources.py | 132 +++++ deploy/cdk_exec_policy/cdkExecPolicy.yaml | 281 +++++++++ deploy/pivot_role/pivotRole.yaml | 426 ++++---------- deploy/requirements.txt | 2 +- deploy/stacks/aurora.py | 100 ++-- deploy/stacks/backend_stack.py | 49 +- deploy/stacks/backend_stage.py | 6 + deploy/stacks/cloudfront.py | 224 +++----- deploy/stacks/codeartifact.py | 34 ++ deploy/stacks/container.py | 147 +++-- deploy/stacks/dbmigration.py | 50 +- deploy/stacks/lambda_api.py | 49 ++ deploy/stacks/opensearch.py | 38 +- deploy/stacks/param_store_stack.py | 50 +- deploy/stacks/pipeline.py | 361 ++++++------ deploy/stacks/s3_resources.py | 19 + deploy/stacks/secrets_stack.py | 73 +-- deploy/stacks/vpc.py | 19 +- documentation/userguide/docs/datasets.md | 52 +- documentation/userguide/docs/environments.md | 93 ++- .../pictures/environments/env_teams_3.png | Bin 0 -> 83487 bytes .../pictures/environments/env_teams_5.png | Bin 0 -> 58577 bytes .../pictures/environments/env_teams_6.png | Bin 0 -> 120769 bytes frontend/src/api/Dataset/getDataset.js | 1 + .../getCDKExecPolicyPresignedUrl.js | 14 + .../src/api/ShareObject/getShareObject.js | 2 + .../src/api/ShareObject/rejectShareObject.js | 9 +- .../ShareObject/updateShareRejectReason.js | 15 + .../ShareObject/updateShareRequestReason.js | 15 + .../src/views/Catalog/RequestAccessModal.js | 9 +- .../views/Datasets/DatasetConsoleAccess.js | 29 +- .../src/views/Datasets/DatasetEditForm.js | 24 +- .../src/views/Datasets/DatasetImportForm.js | 20 +- .../Environments/EnvironmentCreateForm.js | 47 ++ frontend/src/views/Shares/ShareRejectModal.js | 119 ++++ .../src/views/Shares/ShareUpdateReject.js | 163 ++++++ .../src/views/Shares/ShareUpdateRequest.js | 164 ++++++ frontend/src/views/Shares/ShareView.js | 94 ++- tests/api/conftest.py | 55 +- tests/api/test_dataset.py | 15 +- tests/api/test_dataset_profiling.py | 207 +++---- tests/api/test_glossary.py | 5 +- tests/api/test_share.py | 136 ++++- tests/cdkproxy/test_pipeline_stack.py | 10 +- tests/db/test_connect.py | 5 +- tests/db/test_dbconfig.py | 58 ++ 114 files changed, 4379 insertions(+), 2646 deletions(-) delete mode 100644 backend/dataall/cdkproxy/assets/datalakelocationcustomresource/__init__.py delete mode 100644 backend/dataall/cdkproxy/assets/datalakelocationcustomresource/index.py delete mode 100644 backend/dataall/cdkproxy/assets/gluedatabasecustomresource_nodelete/__init__.py delete mode 100644 backend/dataall/cdkproxy/assets/gluedatabasecustomresource_nodelete/index.py create mode 100644 backend/dataall/cdkproxy/blueprints/cookiecutter_config.yaml rename backend/{ => dataall/cdkproxy}/blueprints/data_pipeline_blueprint/app_multiaccount.py (100%) rename backend/{ => dataall/cdkproxy}/blueprints/data_pipeline_blueprint/ddk_app/__init__.py (100%) rename backend/{ => dataall/cdkproxy}/blueprints/data_pipeline_blueprint/ddk_app/ddk_app_stack_multiaccount.py (100%) rename backend/{ => dataall/cdkproxy}/blueprints/data_pipeline_blueprint/utils/config.py (100%) create mode 100644 backend/dataall/cdkproxy/stacks/policies/athena.py rename backend/dataall/cdkproxy/stacks/policies/{codestar.py => aws_cicd.py} (53%) delete mode 100644 backend/dataall/cdkproxy/stacks/policies/lakeformation.py delete mode 100644 backend/dataall/cdkproxy/stacks/policies/redshift.py create mode 100644 backend/dataall/cdkproxy/stacks/policies/secretsmanager.py create mode 100644 backend/dataall/cdkproxy/stacks/policies/sqs.py create mode 100644 backend/dataall/cdkproxy/stacks/policies/ssm.py create mode 100644 backend/migrations/versions/72b8a90b6ee8__share_request_purpose.py create mode 100644 backend/migrations/versions/e1cd4927482b_rename_imported_dataset_aws_resources.py create mode 100644 deploy/cdk_exec_policy/cdkExecPolicy.yaml create mode 100644 documentation/userguide/docs/pictures/environments/env_teams_3.png create mode 100644 documentation/userguide/docs/pictures/environments/env_teams_5.png create mode 100644 documentation/userguide/docs/pictures/environments/env_teams_6.png create mode 100644 frontend/src/api/Environment/getCDKExecPolicyPresignedUrl.js create mode 100644 frontend/src/api/ShareObject/updateShareRejectReason.js create mode 100644 frontend/src/api/ShareObject/updateShareRequestReason.js create mode 100644 frontend/src/views/Shares/ShareRejectModal.js create mode 100644 frontend/src/views/Shares/ShareUpdateReject.js create mode 100644 frontend/src/views/Shares/ShareUpdateRequest.js create mode 100644 tests/db/test_dbconfig.py diff --git a/UserGuide.pdf b/UserGuide.pdf index 2992ef52e216c628d3c2d22f7d3a8e1fd067dc63..49dda4beb960b6bdf9831ecde7c429c331565caa 100644 GIT binary patch delta 756124 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 eFXJ)AI@qqRM>%}0l0}?xxyd)M2NPs2*BWS$L zB0+Rl5r6r}btfUXb){96K|1HtGs8u(P5B&beRDE@$VG;m6= z5)EHw2C{WyKwJk`wC?8TJ;ebN&tQOQc~M}4@E8Mu z-3hpoMH)bCZpU1yG!R51^^YF{gCtlh=jnRld0v^JFuw#S+nei3|;wA!3 z@|_3(zrz5)EaO08ydVpa!-CR)JU!TZ!YEKU?d(E1;9Nn7Qv9Ivvd_pqM)#EP&vt)j z$5|{5qT@#?NO*@1h+LpIONoVOS^lyZ?$0s{rj`Z|JSzh@al%5}yX)W-EQn}WxK0Kn z+22?|a+lh&$euWy`_v9FeZb?sX=LE@vOvu+4ied;_5%lTvHTM||5yVz@3gW+Iq=v%e84L(BB3JC!f`o>WtTQRd`S-C z7TdS{9uEHLG+_>qu#XFAI8hO3`%hMQc7Twi#*6WJ2KG6JOVr8 zoq~-9_fIIqNr8*yAYOP?9_*s`=3e5afaMe*8kT<~-8a_`n=pYYsEsl3%yICT6a|QF zf9YW!3bm?}Y-G;S;6|XE zYM=z(qwo$;;Qc33>{Ix24H70$hiJJ$cW)0m=!3d(-}ZZZZ$(8o=jdS$2>iAIbTpMI zi8%2%@c-Z6l`21CVN~6tB#+Js3gsabR-=OK7)xIy?#U+`rM zW;=E0Mj)%aTCdF@v#nZbTWJk--JaYov zc<4z%_K`U4S-sS2oYu*xZL>cvUH>s~FN0?bc{B9v zhbwtFHjis{LlKor_Q&nw+_{DVKCefxQvbSe(?M)>LAtwQlEaU4bV&7@D<|Eh90SM7 zD{>YRqhz0NH(9)QzcrCUo$dh1H|wpjj-~L%o~5uqUAZ)Sm(zNkL^) zlPldRFA)#ni3k&U`%U~^&<2FtXH>TPbE`!z5T!-6UrN4#=sxZ@H*UAo-}*H0lkYc2 zy`X8-mJ5C3Ooic$3<-iF6z# zjeQL|DD(K{5#>e_Z_h2swTg{CkIc_Q=PNd{C;c-CWY0)rU*6W#$Kv@GKFQFwkZYnt zCh%9uJqCVC3{o3uc&8a?UKzC0%!>?E$@=AE9|@Yn3hz1KOve#QjE892KemN5tfAO1{D66nB zonu>`CX3OMZQx1aBgvB2M%D$^vye6Mqg zD~xPRj#JhimJqNnBE73!mUQ7;Sifwr#ohLMGWHNO672FApYPT$Hh9Csbq>SEWJxH-y%uJnf@m^$3=Gm75rr zC&|3;`xui`A6IW)UVJ>gG0!DWnA>i#v8?3&(X~~3Da(2K#yGX#!~Vg~-lqy1#4|QM zIQ#u;k&E38V*%@n-*Y<_L!t#Z@5PhIJ|xR#G#siq;;Ju1v>0!h zUPmbR6vO|JUz&AdrYyz`U*WgZoPie{>%}YieV{+fH+v={p!x;|UHy*8iQ~G^%@^4Z z44iJ5Dhqu0)aMlvD?D;N#5DipZ9J3iclH=D39(3qhMJ_a4<)P{T|PyB{w~~*a4VGX zk*=k_;h}pNKJ_2;gAHa}O^HuU9ymu%Os>gC`ji+qmlS%PB50Rye^ZG6O2f3-_ae-u zeCR}u*-4VMy5uXGd0AOJjCIHKgv9I3F;~sh1KYdGLxaYcSEC2oin7i$#Kpf$_}E^z zZsw)%o!@hTOituX1B7s-d!o%Ke3|QNnoHwk6`6+zL#;zooLEf{pR-YY-W=yySNXO# z>CfCsUZ&^ezH(89j!B+9i+@5*?aez#(HEs+_`b*Vi74q)uc|WP@~cu~Wr2%tbe4QV zmus6j=S1tnw}NImo_Cj<{v_AWrSP*NZ}&1f)XZk@WJKE-gbouNd^k&^jqc~-=S+^V zG?q3rN3J2Jqd432^euVM(w!}N>Q}tHgw_ZXi=71L6aDp>Dcf9RgPP}mWLTDS~K!*+Eb32^xdJee(yB3mE~H!QZuAb zUHbiIN9-izly{$H;n(D3m4oh$Y#z>v5`WjF4gMZOmxhV%TOJeF3z`dZUuGB#=bFb# zRnWK`(_H7$l%sFB!4%_*|9Y2#n9Mei$+U&1N!%zuNoh^ixHQYGj^0xBieO)LD16lk ze)-r#b2Bi{ZHlC!TTnVPh>ozqD)ra}MOugXPx>098WEorGR_Xr`8rfA-%QjHm$yk@ zGPv+apx9Wq_<83|{*33p+|szkSk2_v;cNS3;w{en5jd}9K-r1Oe^DAtZB)6D0s=;&hN+Ke> zk0pcr&W98gip7_bMSKhI>AuFYyhyQj&Be>pXCx^Pp>=X;o=mfOc#b=GG|Iuz z&L_mSrDdUQRBg1QdeIzATPz`0qn}Nxs&q&DE2Tt-7X@>G?&Q++s6T#G|6VVVHO=G# z@~5EAZ0|D?rA^1DjRQey6ejA@?lhvdN~d1bU-tf>@{|98o&F~N7^(*I#2_oZw3_a4^jw`5lilLz*MoC!O5pcTmN59xA5u*FMyLKG?G@5I zqx40{ny)Dcbq%DQ3*TCjDo*jta4s5f8V{4rFsNjlN1<3U6&Vezlj*A(Qc|@lF%LCH z8jtAXC*CW}E^Y%}#@8^^AZm{f<6C=Z;1 zxE%kMBwsj*D!-OYnrAygP5nWMT3Vy?MDzU>$NP4VRJXmxyKBlMS{ zaysbei}4z=kXMvhf~yXIqfH@*~atpi+`SCNADNhAc3XaDz|mJ9NxcUx(z; zp5h<0+^8vxN7pyQtZ~Xi{NlO46=hXuHB|?pU9C3V2mjneT5?=p^|-jbP89`rzg#{) z8y|zaSDQp06BU5kf(m3LIDy@!%-Zfl%q-SdsGRVtf2@gV44>byOBbtT2#-Ou`OS5> zf!hISPO>tx%r@!tLY0`tDvX~PPH6$$g zC6S!yOjT8dq(#{+ouWk##i+F|z{Nt{q<6W*C0%oG*hn9^S*K zSxcDHK0@1u!zp#(QNP*iELTOqoEAiErIL?W#lSRJL^JnY^;fi`N}?ZS)T~Hz|HBaZ znI6@?YP5mTq7(`}tRX*{n*442(Da|wOKK7wLz>KzJz3*LBodGv5&#is9A4pyToPGf z@&eUR(N|C$d3Q&f>Zb|G@MLYNRlHih^gELV>&KrJD0H;jf++Gm%xK!B4~~`ahLpWV z!9mqqnxjhftDP^|J$>qp3t9%h>z0})98Gq4?AnX0$n{yeT>NT2CMuLlEBX%fRsP!1 zHCE@)YYF%*M`i*-V_A@_&0j7{)y8zA+ju9Y7)CEwj-4i{M>1I(*(xg=Ar1J~0&4|) z^py!0W2q(eUUv5#J#nZZ{RX>^`nJF9ASPsLCA{;>mp3@CK=K;>lxLt#Ih0TT@tvAZ zD@)MTYj+Q2Ik8=yrdrQ{NpihgY$;y0uBO68`W0G6Wm5%M+pL|&A5A^IMPQ5km#%Rm zZq@%bcH9iRCKqEMRVHWj<6$P#S1htm(Wcf=O(!g`3Ms&TA-jspvbtdq8Nqi@x{!E4 zQ-2wnfKSZtg_DO?v;pK3f$SABfNNTU=qLe*u6U@qM97{<`?0e6} zGJ)ukz^*Wxn}Q68sRwC=E`2{yyMlaS`LPG4?SEIr?aH_hKwH?1j7x*O14 z7-v4RFY&|~-*V{CyUw>)MmLz7g}M!Y6@ZoeHtL1&>|Ka1eyA}W_d1i6J@ZbbcV0|2 zVyOkJ9EE%LDm?E}#%}LSWsm6HIg?U2+EN*x*piajJ%&iLgBK!t_C}1gsKe;= zDauv!nJKwB>G7pWQ;JycyLSl{W9{F#f2AweSv+e0{2R;_0zlC~|LkEASOyyPUM7J} zVLOE>@ZFXwN;G5h;-*3~<&VAMJNQ(!!|9R9T=a5j=|!;x}|LnLNI3OHoxW6^8LX;wMoj2pTj;{|>t&YeYoDq1@42VVO?ZWV!vM>mh6D%_Ll&3S;5ZjX%-R!U$ZBte_? zccrIHJ^8muyZ|zf%jy|ZR=3M-N+*=N-}r0qt2KuMw9^7vTnZOtp}DPp@nHZhsP~#b z))I`vq5Ts)Hup4+8jxG;NUwpx>EVt+dUV4nDW(Vl)q@$FQ#fSdcULBNw~e%Bf2Ew{ zY-y!8kBe8>GdTHKTa)_Oq`%5+82?&$*2znu;6o4eCPdT`P)FY4eig{!u-e3f{ZdEw zRcPN{WrTzoZCX6|(`8W$cCZi7Tfh2|8_8)0+J|>(`|4^NJ}}Vu6Z9nyjtCNWu21h| zuAbh1d`KTcSKtw6XRN*hOe5A8sZC;_**}@ey9%q$$A(uWyi09H_Rn9V(XskQu;rKw zF&>N6FPg|Mh%>j=e@sajupG&ov?9!+36Ro|x>7{O>HVXPw&)7f2NY0&j=?oT<{p`e zTGTsh@Ko^Z3;$IiTbvnBxH@IJ`Us0a)KqW+;%$D44V)@8sjjR1Vz8PtmLij4o)HdvGP}MdXD_ zbq-qaj%~o%BFQmPt4TP3SYO1IUuF<)5#-2!7D;lg!CDKOjr7AhgLi1tpn(Fc?`-ju zVWG67@P)84`Bb;0M5m&TH*f%>_7`)gV*?Z_{xl7Ru}X@+NO8^uU!4?_uqmvnh1kE4 z4*U#)y_HL9Gi0MI`lid7_g$A$gaMIUTnSH-IX(jmSrFI%Ac!Rvka~N%r^zpcSwj@k zV@!g{SKH}FDQ0e~r59O5Zw@_(4A&6pf|-(zzcorimgHSP;QKw;0zs)z-}-k1b$wed@y$I*4tkKLG0$YffRxsLCP!y`rFBJ$X*mqwg%v|gaUlEpC zscljx+T%QpgMUnEzzhEsOL&}V=Bo=u6WTosTlm~F6{_-B8&%*R#rQJj9;#umYnp{u zF*=cEe+Wfz<=-o0FCqmLcobSM{@E0F6jE5|7k+ukLX_;inLAoFfxk1VAcZONHH<_A zPJ)n(W~_vY9P-$x9&aLZZq`$}W>|cb1oypSBK;^F4l&510EGqQ@QtVNwMfOeG#I2v zA2{vU@QVVY@#i4uEG6D4ca{67Po(G=?=65I;Q_`x6MU5NuQ~|<=RMJKH9^^cSWI96 zVhLPNG{k#dS?qJrFi{4cZBII$Es%!CKI07LgiebrVw?&Kh+b0?`II3Y1k-Yxz*Z6V z8NiptqDHU)gFYAs`QH$(+_8h0bGV$9Xt$&%o2HsXz663+nD+riW@A%{Li6t@;cwpA z;*&W+FwyUy=Yc^z+QRAtFpJmQa}eh=xPGGf4HSGkABrR2O{_lYp;R}xcdp)_EWa1I zfZ{_xgT@fAzxHC38r+}VSXdn5jsSEZPgtLrmo6P3COTDVzgugO*rT*YSQAISZ~L#3 z%&?ef+2`Qf8F%{c6Is-)x0Bj4Rt>oxSk(ISmJ<%K3t!Ok1FN|ZPC)Xbe<6Crhay^N z$-9J0UtQ2HRmfila{97g*)#nEx_f}LKf=I}GtAWIxe$8waqu~^A6Abwv`j9!?kqw& z?HmJ8U|jVphWSEd@(RTQL$*VT>se1VSJ5D`+k7m9y4iAl&O{YUVO5CnAalO;wxh(C z)wF*>{KWeEg|tB;MP>uBtIvGtd+K225srCb6C@%RcM`#ml) zq_gaid`Hg`0l|0I`iI9T0-;6}nbv-A`ZmSVd-=rcMhh(7WIe7$KHF9y$t2OT?VLxt z<>7}(uxxl;dA%g+@v_}n#DPmg_o%a|H?^HK8w{^sITH?HYbNd!x}?YAQUPv5vE`A# z&I-v0IsQT}AxKR3oyc1_>MZj*fZyQ(>>bRz^B8J45X?mtVHFOo3X*X} zdb|G$qN8e@%WrI|y#Bsg)mW9I=%2zO@4UJEwCpzgFm6fqi`hm*o@n}xph!T1t>xLV zQ658KBx?*b$_fR3)vq2fK4*e$j%X;LlH+c22g+RDqn8kyXb5vCqv0+tnUY9InGbme zJ=S%9n2a%R-mTOYy%X%5YQ^I1e%=32m{Cf{eFP!RIQ^+4gEdBRox;L60qelgvj7WB zL)AF_jKvLB|NHZhFrz;Xi3fOd;u`febB%nBy;&@i#z0d@w>c;cH_$lpd#VHA{{`XG zBTQfD4lzvZrvhEuj(fe~ZtgI|E7su(fP>&)S&l%AiU0Yg`DZhw z<-(BeYg<+rRC>dG^;d+J4+=~Gb{JE*=92_d=@UW!8q7WO`~H2m;1EPw@aG)DpUde; zf$swW)#&v*;LMmKe&`5GauHD0L7IPXDTX2HV!tBPaOFV?%l66P<#zoMXN9~=vd>9j zutJu<4Y<*)dx)*yiJL^Rcu@M1_6=hx+8f-1*aKYZyH{`SP=IYuI8@nOc?;BdygU!^Ij4nPXpcdy@3BFP)ye*cQaC86mVZ`6G{yF*lVyOMuaW-n2cpBu_ zr@7berjo%Kf0@DcBwqvv=#~XOpDp3cEd&X&=N*0tHX+icyvWhiAgE3=$x<5sLr*EvzVwnWom zdp1-p5E0*BM#(2pPx3Le+=tH&MUc7?Bf-7ZD`)P9dAK5QP1yrUh3WY5`Rpr{@=RfP ztMkj~ruvT$>gPP?7p*(1)K3c9fIg^Uz;1^x0!7A!sD9l1MHhB*>-wL@;_1j>0d7 z2s|++d&v1nm*2d08Q36>g-R3UKIo3s;TKf=5pTi&JA4rAY^L5H6E$=8yCH(Mq|7he zCUC16gfb{F0tC@bayC@TpeXlk%|@vPVsaA1iTAy0h3Obuxz05=S?Oc*Z@y32nJ zUI@mDTsyBN>V7YFxCQbO?Iy8)^T4M5Kg|Sv3+zSyxwxJa%mDMwKJxkR3W9&fa1Izq zrs`dRZk2YgyB-DnDYCf`0*$1JnC_r8tk4Eka+M^;sY~j@E05yf2?3VgJ+XT47|{87 zj{^RmRmhdr;V*)3-;Mm#gaZ6Oeqf)8Iu))wNz^Y#8`a|dtV$h~SL(*QHbvdWbi_*9 zri*c6RoX&o(-HfXmIyxEWX8UdMagST(uJSY$-5PsBqcBp_bqNmcrP`}Z(WWF0pp3)oD zhyK93(1kJ|#epzn9A#1%-H!3I4HbasbpZ)NHt|IKq)HMR=lAzGR~6E>kjAdh3celw z)!^S377N+Te;|EKoA>7~(deyoAfYtxixQou_Jlnpc5$NlK+3ex3qW{Fcl|x@`$?nG zOJjjq4rEO?)CT=waQAdL51^2=$BnHqg3uty_~<2!e-nJe=fIFBbcEruyrOVRQ}Ac3 zR%GMrt$Xan!7_X$^bRiSGW^K!PzxBvKfo#%;|tBj=Z3W-?oa40 zJrE_V3*sMOC2N8c0%{w1FBteGEPOFOn>+=G)z?`Kq zDh;dC2YU>AQ8)67PBWnW9tA0KV4TbtEs!0gvCT`%_QJ@E|m*qGxf@@;AMomO!1x zT5b|_*7Zf`w6SL<3HX*kIS-yb9*>mPwIbch+I3>5yKFd;Qt46QKKj(V<~W z66WHZmDqytx|wGQXJBm5;2)$#l`W|-Q$kd(k)->(<{Xr8W8~AUnTVsIiw*JWblA?5 zC3d}FyA4IY<2Z{K)$2cp6fvXtyaC?_ipTl~wiu!-%vO&2) zug8!bEY%8jU8262r%rXf&Q+_oa%`-N-KP)^qHE8+&`8=m?Vx721q*K1u{;_K!noz0;8BZK#Pnx~@HCuX@{q(?>{XO_#G zjp_XP?+LdaRrgb*xpa8codEmopS@&7;Nj&b{kHTE{pVHw+NREyy%!eI6lTzVMg&1E z;Q3lj8ymqouNaejW}x=X%yL`1-LB-P=TJwvMhmuJn+ff4#SIP($vmp_1O!{j){2M`#_DujX9@kBj9Sc^u{7L__lZc0$7*wKxqb!b62`owZg%Hqiu&(Kb9#B&&dYwur));gzl*W#?%UXc!Q1X1 zo)uN(rM7;r)!h-b?)V)KQKX-K3U3vRjMK!!=UWdiTe0dGL|3mL-Fohq>)pT+rH-rekH2L&9l!!gw{3_l{qEX$(B*g& zi*t-49kR33Ysp%1E7ft5)i<@xAmix@qCZFw@U z+Wq{jGi|rnO>I6W_}NhDbl zx)5YARER!9(FEZNzxt2IKyVuG;mc2t^r1Pkh4s+#vXB!}Rw9eV#731!A(_3!G*{8| zh_}!X$CKAWOY-AQh|UUM#RAQ#cD^|Ev+@Zowmh{&g; zjQKtpxi`uFAQ`{XGsluonF8-52D%1a6}Erfy>YF za&7EYwuluj-b}Up&KsIPxZ-%?PKNXiM0NHprNzd9rC1O!*XS9wvz317@DUc3t=O)L zerS7LPxx)vQ`=hllj#&6d+98bJ?D3~n`!}b{w4mcEBhC+jNVs<>K^{R+hNeDTJ-c^ z#Al#C$7JDr>7}W+1>9T=Z&qea4=JHWxU{H#+V-h}Z^*%w4!`NyIvSE8d7Q;Wbv&U3 zRoz`9dx-H4iBqeI#W!-3GLikvh&Xp>W@|TsZH&BnR6BY*U+JIAXrtH?yswpNPVZ@& zZIRCU0eoemzJ1^77L_%DG7Zu@ZsHJEK`O8+5fc4QA#QKv@qJD3`x#RC(MmFzD(>_f&Exko-k9`vQY++#yoq})>?H4_l@2$oMGm`N)gBC-Aijz$YiE4ggbwJ9G3vv*4#>S z?q|wiC!|@&Fd>uJx)ncxu&uMVd~JKZ^71#QAaqhV(~9-n1zdDUZF6r2CUq?QrlJ64 z@4nJmabCGghSDLsd$QivChFpCntd-A`}MTIMeGtQkjU^)Wzr1dn6-B-|M*`~Zi zbe1Zja=xj5m_<@&$KZwN!r$-rqW{(>Gg$fut`NNR+9KjQw&j z8n2eCdKSe=5%nu4h-87@@zsz4r46lXwyxMtX`X%V3O^=DK9E$Pv3eUwIG#HtmsWRn zE~7TRO3kc()U49^hiCXn`PUvVFTKnq=MqlwlswRgn_2S_-J#wV-6GeE$03rBV_ zTb)V|cJK?EcJiCZtf&D3l97#qgt$z{)|KqI&eodw)o^S)ZwU&<=5o7;9a%a4EweQ! zn$=$?^?nvxa&hNzAPzKXxAwB(yTN4hcT4q4xkt`c-nt`x@iu)&b7xz_L|SBz)y%GF zo5NvQ0Xfw+&)Pd6QD|x*ac^ng@Xmkq453*se-VY;O=+oHB7|S# z`3qNF+9-%f>@u^J<3IsYjwahOXI>-qvj2=*uQ+9OwUDz@|N9X21*CATFLuY-FPhfcdTDsT$W$3m*MGsl=Wv> z!Iv+fmKx;Zs!46=2hM#}3oU&2rB3hXD{5V|)D5Yl*&|?P`{!8s3T@hV?m%r+fg3(h zt4>86v7UfztFlDF+ywK+c2hT3HlK!gDj;64MHJrDnw|*MgzTE70#aD#aGr~cDO*ah zRfGB$_BY5Uh#ZR!owIApww3k%_G5d*r4xttcf(ysEVX0AiepLf43g1XhRPP+Cb;RF zTX^woUiYtM6A4vkX9!~zlG>7M6CamMO$*c}48fy2OwtJ-uiad7G+N*AYi2jAEjfpb zXOjlE?KFS^Rc3J(Zo0b`cMEO4XmAZF^4gdXI_Xd+*n5me9SoLLsiU~zUAPPpOue~T z23AVRkOe)Y6g8k);KT`0GN89ijxa?!OFKQEy{KWtH>FLcl!LM>C9h>FA&y;(&$Z4^ z>(x6eT0y>6#yW=5_muFnPK-zeQjsTl89gGP@&wp#W{CD4v7hmP;BQds64=65BCVMTLI(TY&qLh@YYn`(|LpD~* zTjgV;VqM|Wj@B!+a>5SXc#kd_FlmG^&k9Y&Tx>|x;SiQ zy#X$aM%=e#7RZ6}u)*~ermDoU*G|%iQ?=?Jd(Dr~a=#Ts3$`sSET6QYJ8(^)jVm`Q zSRva7<{>mW z+`=ElRXxfK2+?9B(b+89VLD3(aa4V1qPbmmLKxOIvN)ppsU`W6go*5klyBK^)*=`! z!+Xv35{V-Ai?3cb7uv1;HrH%WA$rsuec0B@>kz1sn^(81CbrGc>Y36hh-7Rr+JL-k z)8yPbl|~wyv}|MR>H(p0hOJDiV2zrL%{z23^TN`mvGrm*E@?%|TAWt7%YexuxOyik z$uf*L+E|`g$&I$@B&jWYx+Bw!wJMDXN2tgl_KmgIdje*%SbEcvRiE#BeNkzbHrC=v z?-4XfyvIy6>*#y8UwD@(S&gO32*B5Z`p-Xz<(RJ5(7759q*82W^$$w0QH5wP$fu++ z7Fe~QQ0R3*LXUk6gshs^l$?y`5(bOnY#0lo!d4ghR zC>{9Q{7bJehuC{zw%YZvI7)Of;#ul~DTt(X4g4+2#FmDH)!KzRxUra-2H@msuGso` z{1s;-Wm-mvzcdnJS~D_IN48PKrinyR=tyQ*g(roxHklEmv1$+hm_br!Z&`k))5#vV zIjSAXfZ+tKimV}$nxtbYJ+3r?il4xptZ&?;WiCrYM;{Fy>{Vv4n0ekxrst*Jx@0WF zBc~n9ND@vv8Q5Tvs!Vjj2^770dyAkI3(x&bp!`j0mfmBXSKlI!K{R`ePMj#Sx|nQ% zW66$Z10FqLAFcCy16u2%j%87^dWpvR)s!Q4VC5nahv4=Xq4$Q#^6G>{CHLQ@pjVr^ z^<=GnvwtsHJ(Q>ZU1_r>kzT4f5*^blWgKcx)&Z|d(F4WmD5D|_jX?fvAsY`&qI|WZ z`rP5nN~b=c;r-PpZD`N2Nhg3hn|3Q3TbjFzMY?eLWI^0ilm%mh6?-ud5<0MI)6h|T zT^QQiq|R4q)#yT_2%le6k5DhS)K|>ZMhTgX2?pNkvJ=)!AIEi)RF9FErp@j zBzYdwl3ye*nB{W+SSAWCstQzZ{%V7T zD6JPcc3G`K)*>k}nG|KLz?DU-qwlNq*j`3Wk{pS1rM7ND zP*3mbGXCjoKOle)QdzE4kbt=-)s|JkN;nB*36{r7Y}XSArklY+#)Em#S63r)M;tfG z)=n<$5?wF4wbo*M~1}H zX5f65;k)}YaEgCn6YCZ`B;i&+)3=OUo2bR(teKvs3+OvUDiwJ^6&*N?_qH-UJY-Ox zSgTd{N)(VE+l@Z8!4$7lu#Xd$WZMki^>eoYGg9Xrn5_|7S>!LUc0uwMdCVKH(P-~N zRUcavAWIb6K(kKNUfLqJR-l3IfA9UdE+t8Fc&rwLClW#ty0N!}^X*1VuXB~1%}8o3 z)HFZ84Jd5UPjDGkpCs-Wv$SU)uC!j9+)^96aEWS4Goo&F)%R4(e+DJE=&K;*f0s%cmS3oJfY>_%UL0^<_jpv(lc``Flw#>#> z7QthcJhZ0WRZ+QWJ6myUJc2S{b9LrOFbr$QdDpRo7|DoNuwfYsuD!wVi zE2*zB@Y2%|j(( z!l~w%8KJ^LheT%uYI~LG_XILA{I@wP2btx zAVwNzL~;pSQ`a>MA-te>(deIhjKnDKYe1f^M=CvNmlJ_p1PL=&djF<%Gmd}&=%PP- z3a|cJFvyV(GY*KP8*wwH9EH1#h<$)%zbEE6BjgT83~{55agl*wScC54NaBKezV_hG z*)kC#eeM46Kr3&3W8xW8wA2giJy-AhLW%EM4@>Qq3yb;cCRK->8r zgAn0xrEVjeb4)3BK|T(*>0it5M#bT)~(khnhw__!Yg|RBF21w5!1_Y)5TN0}QiSj^%uzgO+@O2#UfyGyH;L{Mx{C?;`IFM!4h+V4No|H=~Ihs+Ll0`o0H{ zni#Sn7s)}!rUjG~SW-dC!<4hk$|VJx<=Z3$I&tp`VoV0VWW>TN5od$~5lYM%u`)9d zO<$7>Skz)L^Wn*aRn)>UNpTWLp;SmPR7jELNV1=KhsZ6cEgW&QV}AH6EtWy!DAQMn zK9qs8lc2MZA~Xb0WGW*ZH()gX;#gOPITh0z`Sn{Fg$J=(q;eM5g-e_E1Gi2CWSXV{ z3Qi_^CuAJe&T@W8wyWk*hl9t9fc!#W-rrFCV_6kD*S?KrtW{YJAD z*7zl<8(1U0oPRcpWI_8Ibu-9LqBT#aSJqC_J&$)*@7T@-nXH%vf;s8H`1{hs<2(Kn`B$e>{JnD(Ci73LM%7XkIq`yTQY^+H%MKX+FD z9$_uiPyB6`3b(%xnC^ouVT#6?FhaiLLMq*-_MpiLVZC_N!TH|Qb2(2H;_q8l;pz^xxdTlYoQkz7B@R5J!cGhAIWnq4!}RWlaJ z15Q7p@|vX+zxEHUBYRD+gl^=S1Hav$=#`+!m4NCtIL>`cz^1>t4Qbtx_wrA68v?Hb z=Vfo`uDS=iejv)Qbv=5A1EZTU%A*m{WxwA>ETjh*j3aEQ;}?`Ys+e6ag&i`&zJ9J? z$!pYSsZL~~;Mk$z9pf9vXAd6;0o2@}<^9AP>Sr|{Tmb_6KX^Ad&vHJP0(iNBpCQwO zN4s}7P|qSh0BSe3K>+8j?2VZZPB*^6ui62fYxU=UoXl=agV5Sx&YkLK2_N)sob3Sn z!PedN8-iyAAFOV??ZB(Sr`@+3$Y){DS3hjQ0HVRz-QgSbXKB#4t&rTI^&8e_EfBsR zVUNGT05HsZE&FT=g7?Gd2{9P9-{HK`@u2j>>j~Tj2CsIXZeX58L8u?tSADrViZ|xZ z&LF4{w5uV5-P#+$YtCmK5WxrGr#~>@eXaOx-ih@Y@U&}i&sRRlGIDTo|@ zR~lEEQguX)CE6tJ!~}Yjj8z&lUA#dWd6c|y6rUyaAl^qs2!51LMJ!^}M@0lPF1RQu zDc%Wa2vhqC7oQ;0kTw#QMHQA%7M5WVmU0}HgFS-QkfauGYQn80{3F3iMKr1?Wg*^c zP6#)cJwP)onJwOIPQ<1txe1lml9He((FGOego6KosUf0@!g^%agx(Pi>xA5Hk63?? z)OSGfRoWjh?mJvOQ+S*(8aXo>C0qiTs7V@7Gy=;VfG@oiUpO**fbB%b9fPl^@SQRt zam34sg*!M)MuD_65y^y@w}`jW&w(R-xpK)^}R)1MEJ zA|ydclpHBMV7}$@4B(T_Az2@pH{taR;giiFole9Wi9EP6f$H6sc=Xrg6GOO#a0E!CjevonNERandE ztT2=1|0=aF*jOR6r;ZigmP1s;Wk_Nu4=(sr1ZfM=7s-^fRAgz3sVkw$$f&DCQsa=9 zeoIPFQMQs1wWKB}E=62Gv!YfPr!P!Vr7cTVV^Q)8|D+K?Qc|tSa zfqJ2Q!E)hb0osbx721`;71I^qa7BLLJk>qrJM}q*I2Ac1IW;;(vqE>JZchIl^*if# z!0&`L5j}A|c|B1*Sv^TT#Z4jGV!I-{0=p8se7j=1Lc7w-yvw4?g3FT2{LA9Y!pl;^ zJi;Qv0>To)e8OVFLc-FVyquz(f)-^()%9}oGV}7IvZHdWGOY3*Ro*fnwJfzbU|`qc!A**{Z#do_0;(k;Z)X&^8w?5{Q>0^ z?^NfM_tg6o=2X%O( zA?xwUJt9wHj6@bMiq|c8Hx=AxvR$w)@;XikUzz@;k_>%7lt`hrIJ+tGvUsy8 z^l?t$ckJW*yNf?zUZ6`D@;s_nT+AFZj{@Z}8NV3HJhfMlK!8Akz9f-2kvx$okt~rU zkz%e;u2imAZK-03V!mRrVxeLw=M3Hn>oMy|<8kAO^KsAY(cIDO(LB}+)*RL>)_m$r z=CSO_@+m(~~0m)94@m(mx@ zm(v%;m(iEVSMVL|{rmgZccypPcdB>ncdqv@?_}@ax}yCuwiEXQdZa$H zw}gAddgOXUdSrSedK7wud!&2BuZp%yw)3}(w+pvR1@i=fBEbT|68G8MncTVD+1z=9 z8H2fwliK6j6JTb0W_xaXc6(lMMsUviIQKaBr0bsXU$WKk66BYOWe)2_{7DsJh8<$c z6=FV@=3)lVnw&ml!Ze?bBS*oSIBI0ZyefyBI6h%^$mE>PN0Ccy2%qjLhpIX;VJ?#f zH6c=xL~RT|mM$&_Mf$Tyjy!ei7Zf(2KEYzf-58)Xs>aG56<=<8n)a{8)zU;RD!rcR zM@hJ)nKm}w{8$sSTS@kbAx}EPP_GLs|HRJ;8Z-9B5bi9kaV{LJ`SCU!lzmelIih{@ z*K{z}KVQPb!JWY!!kxk$!=1ye^ou*5 zJ6vlzYa**JYbae{rKdBSz#VFGF5pAT996bo=jZH9Np)|l-X;+f(ZXlPq-O zPISO@N&U(BH#ZvI=t;xUM%EQMH;T-`DWk?!e2&!Y$*G@54W2dvI)5-5?p8=z(z2&h z>JV0fZK!pIQW_&y;D7YVtjf4C(;EM+3Q%vL`7vpwNndIFQ1wf%kHNHZ#q`|C4XPud z+RR#$RA+pt{=o)veI!GZ)%s_(4f^^-OC1N$l5A^yVZ*!L>(-!G6?kFhz0$v;es1N4 zxHSH{BCs_5*a+_CkJLcSF(I)c%rQ2!!j);5c>a}lqGSd25%y8a zjllbxH=8%2H=Q@WH=j3zH;Fe|M-G2Fe=vVCe>8vg<{vwgX~XG%)w9!P(?36la>jH1 zy>d_M|Ir`OAJCuB@3S*vH05ketxs*#sMBcBS*cv9T(w@YUOihmTg6+cK94?^Kc76O zKd(NwJ-;|7IL|)UJKsF#KkqvCJ%2xkJP$k4eF`uxWHhWw`ddi_Q(&3cS_%szYl`u)cJhW(~L{(OvF{sfEwv!{lhy0;aB)%SBM z-XUUS=b%Ea3}dd8eXbnY{keAP4K+L5)L!``Gl%pIIfls0K~raLT?Wp~%>GH>?`@k; zjX&+dp`*AiGiNUCE~W!QyGl(I?GdIUMpjUwQ}Tw9!q6x;ROx|QR>r)8w!-iUH)Ly& z&X~I6c-!9%csp{9$wdc=nv}}@({|{ZcveTVsXncCikfumT^n86<)PJfx0=ASgWp^* z%aacdp^lYpiyOF?4tDfM2fDfd*Gi-u8~Rj&|=h@AkL0w|1B|nD)@N(00i-$@by4;daV4 z%J$MW+l~1Rw@aK$txN7p&r7IF@yn|Xwgw{~T_C`rCUIK>;b>1(>_8@}A3(mU1XauAz9VD8lP4(m(052j$`^r7>! zt{;bBXzuvY&5IAX!N~M}_>`GiLb?+7GTLsdg{*X8Z*MB-5QyyBqC8Z!o-khvY+Qzc<+#+0l1#!2 zZR}0#o#M6Pt>Vr4bLqmn~C z=@@;2piO`e4>Os2BIz}CQh(8XwrcY1|`f@U3@}U%_3BzkLeRv$0~7sXIii z4%4C9Nm@#U*}YHh3{45C3Mqu+xPzovqTK&nN`tyUV7EpYm1iS>s0Bm*AD@7oL?1!} zv4*U~R)s7T!C%E2LC80fX)^d{bVhudfTBHzXU2Hf{Xqr}4;}UIHk01E&ZB|*T$yHl&!-&c~>I3Hd#YS z4#T>WqTYEebzZ;p5pE0U)chlqsc9t9mDwxAqYbI6EpV;@FDgvYDrozd^f>H!e~R8T zyQTmFbnmC_l$@)&HsA>%|Ko~^HxK_E>#xQ>l&VsR$ZGiK0451oG0Ir&s)*GH1=a8f zaGT-rC`oS%#|19oiPiE(VItzBp+C&hf}EX^}kt|RBb+QkH&u@ejXtgUOfX}oO_#(GE+ zIcD{u-2(R!RNDAT`;^W%H{7}V%f$)uAmdyX=Bx+>NOLJzS{P>nw~j#5fOV1YYKyNn z5c(X{QCxb1Pxim9MqTG3l8S8NbuXxC?ppcx&6P_@9+|70;HAI9Z=SVGF#E2<~ zukh*uRdgBwrq-j?Og|u1?QwiFVHN9d{m;@mzV8K$9xR1rT1P~AlG&>!lKE&T{euAi`Yh&75+(RINy`S87bxn06{bzd?;OE0+ zU-OhJ!MXau1uF*}R_MOfsafX1$-ySBOt3yu6e|@!B-AUCWvHYIsFNs|{;+>2{wqN~ zK_Wf5V>IU*q!m(ni>13hU*=kIkHeNN>>1rpnL~?Qn%)4LLBacUjhm)wOw^dMg4;0$ z2qLm^X~I{<&?O{)p^Wqw{Dutc@gow+Lt_QP4{3QokZ*Wsf4u^lB5Td3v*RR?b)CWW z6*`SEmls#`-#;JaqsCmFihlC&kkPOLrht_Ozj3Ma3Dka2v0aly+K3Dv08ZK!4egF4k& zRx6O?VC!|L-@jjaP>S8p;ddN|^H0zop>*C?^i+3A7CTRm#C>hwd;Kq}?m4=T=vx$c zoW`~q+jbf@wrx9YoJoVmR%6??(b#rl8{hclzTbQIuKU-lHUG@4Gv~~lHGA*RmZ@A9 z@*XqIbY%UgcUU61f9Lhsd{MR=&Sh3j33rX(uwMhi+t1IqTDEF z)BP}+hCVF}Qd2P*znjTUYcNi;2sXK@{QBnV`hzRH$T_^uV&mQr1;0@PexT=B=smqg z6|G~tCF(biG!IXGlF(CNql4`mik^q!t1zY`nV@#sVNCS z$?XsEGuNn0%Ka+Y3s&%rp(Nx+tf1fo#w zh;8BzW`GSxT=HULA>TT-z*9=HH|vVQQEUA{7aXiOrxGI3k+i=rdRF!o$-}v}V_>9_ zXXj3|cafjB56sCp51Yi3o7_E*LpuOalpUK8iW(WusAml}EI4!vO~uw$ZIdl+{%0n& zh6vYvu}Z1JO)uWgDiyZUe7Bn4vA?AF1NtnQr_}3G=f;d9p>u zh2iJJdaxaS#P-3jy|e7soz107eADMmp{sUYVdI+Pixp-e!!_16@8^-!F=8TMpIPhq zy{sAU_TK)IktZUgdqr>7^*)szN0O=e(XlrsyY&)jxi;N;ryGoamIg6xzuxJuY06T~ zA<@|y87f~5(KvoCm=wy6@)lX3mHD4Oy$`jDW8H@8)%7tSx11l3Aw(M0nt_j5zIYK= zzYy9taZTPwDpsddczoU5UsTzFWMMuVA2Bk@9#G# zxQAO$NxKxx>)|nPdz)KzR@X2&`}sNC{G;E7<=_dOdpi2>f{b0)(UfhD`WPCWJ*d-} z7dROgjuz_0O@Wm8BfZ3tXKfw(Ld=glMdof77t^0h5F^VC=pSK*RobS&4LZLw9eXqF znSv?>xCw+AC^_!eNUApFA3wXX-?Cm79&Ty=R7?>DgxYSJ=n(~V%jyOQ!)P>0P{_1Yi^>!gEkt$guRQ1U(wh+%?oRE>B#F>Wx*ImTuNkijM<7^)ed!;ZZ_7TkvJABy!J0K&Az(Y2qk!ZFAb zrtU9PKe1er_%s}SYzUFg2zesKAYqZAIM!jXmt~AAbm$mt;=o+<9DKBsHA{PzcZ=D@?La5Ze~Q4(UX7JQXem(17^#`1vfz=aT9=N@4{g;xj@s zQpY1vADOLK%{-tufQeh|l?Q_t|Kj!saBu8-Qz)T32o2d(1%=4;sFT2+*1ee6vBYYk3NYr3UW zcST9|ez_DfkaWPa&CX(wNeWlFpPPGr7OcuBTHW2}r9U7U05)!m6Xy}l#f#Y#w{$l> zK$YdHr~ZAYvZQ8y_-3ZGa!~FJMm$b>aoEPOW)ln-^x&=pQ|^M(EKVPI2MONpBm*mp zYVt*+yJ`B|=fU=K5q#NAw^BnVmP?UUyyF?(Ua`g6xwDk?K@Wf*kwMJc3;#3m>VOR^ z{0kG*hzPPQKrP-Y39Xkg(20e1z2VpgmAd(Opid4PV|v^49{hlqGLy7}q58aCk)5Py zz}D{f7}>nUAn11aSaZ8_Y%XCCF(;DBmV}-p*ZN~)v(q(YVak|uC)9T!9pd$QIU#tL z>)G-C8|99Q0&)cuDmV0X5lf8uu*3+wY(k-pW!RuC;3Uvu=VHIHz4BJ>C5H5%jh>6y zqk|z=Jz_ZaTFFq3f^#KRHF3cfiZx=bU$#WXgKyHPDjz&F{)~@xX)mt-Yv<^I}--@~5 z3tZp_4yPDxeSNOS+W9mq;Sa`rNvf~X*A~SOj)Vp4k4Q5f#bpaxtBR)!6WaT>%AF4D zvdNdLA@=CMmcw0sJI+>XRYR!u&FjJ&XTwT9-|E(LBT z=T*`dt#7pFZDgo0uY+@;UDvbGg=yvzn;4mGZOf+`EY=!IyC_nX&Jd9$g}#}cVHL$6 zf{#2Yk(TX(zK4dh(<33|!gZLHLf^EGW^F5z6NW7KcZc=_IRDnxs=XC>CQ*rioti=c z=w^NuFN-{|&A0FZ{((5obOz~AL(%rjx>aO};+{K4DH!hf}P1C&(-+$G}U_wZl zFycFnHw!m&gv8QI+0E}9yN=e0VUs^6W;3X=d&hEovdL5x;p_1#9uy+01KA7%t$NLe zdh?70(Io8z4KUZ`b`SgEm_a~pLAJ71jjVX~WSUUPT=%}4SdI!?$Y z?U{!)ODCsgi{1NfqvsQ=jFksp{53290rG#6&9CjEB>} z*pdCxs+f38Z#-Q+*T}YQi~CABi`ndWdNUNh@t1wR)PnC>wCd+jmE~NJf~kwRxPvh~ z3RmSMdlJYMA1|Z6tfQqOCsDgmfeHhG)-h?+vs-vA?d>a*K1CtW!(f*6LIvhPSF0GENa}Nly|)Wci>AOX`5m4T739*t}a0Mg~g#3hC4- zl3*jEGAE$58e@y+h%)B5s-v~@4EU3B;4 z)gcba1R?hvD}#%^&5^9wn8VL<9RSrTY!Ed z%XGQT*$PnEKWi1lSFY_)M*qN+`(QO+58pO!&<9(!t7u+jx1Lt~g@-K@_pO(f|8*^dw4&i!k<5 zI4+KErfoKDf+*qkrqi>C@}$s)o+HF}?qxhPom2&o&Fg8ZU8v z7ova^#?~DAwNE%;3Myjn;roC^`^ zB{C%uw9U)*5t9(D4t3Pb$XJhVb~=?J(>y>7>bCkoG6cJlrFn3Tp?k2~?K&lFCjtk9 z7UW4xit&}wYb6}ivV4#l?$TurduaRRZaSGwBIy!~*bDP07q%^33qGT`Zuql5_8k(s z$xyEr^o8<01GSvLe#Mu%)mdIk06F-~A)=$s6mzLHEI9qwSjoI2QGNxK}do#AYTUc-NP1)<-(P8q2{mt z_ezPBvnb?X>izFfb)n>I2aGzydL13!97{*^jr0i#B@|ssvFKG7qoWD?Nu_}3HWU28 znMtDh%PAK}s>(h(9u`ac>jGs|H7k)J39Ql2#86NdMc1+ldwHmqXO5moyJ%f}X5IuoXSWv@IOLi{$xqUUOyb^6ix+^xfpu+z2QT!CqLct9tQ zie|pqOZiA*d*=9ea&Y`>?&W(N4ID=~ly^Agdr|_G*B6RI8^m*gmfPG|8ff_6#JubG zN-T9Ey~8ljkiU6&wstK@ouT1j+UmEnAi4aNnc(|7!QdtLjT~`*4YlrH7lr01jE>(eA_{Z4%k>&wh2;Mh@9y&Y@US0a5!wf0% zaedcBgEKi4fffLT20!CZt``ghFKL+J?5v&J*oFD*mBuFDR^w~TP zVI~IQHW?W()o8wz{+crMGv0npow5M5^n!_t2BE=zt)SQkl4Kl%+p>sV0zu_a3b(?> zxm1X9U{j5tRoFh;+%Ia%XUbmSEk6M!=xk+Mu)gMkl_g!>NG|?rBpOXK57gJJWLrAB zkI7Tr-W1>brH{ps8@Q=|-=X?A>~pM<_}+<_Ie2eZ{9bjwF5>}}857;# zUK+hPo*L_{4kA9vm`Y$8^3IL?4^FK&M-EW~Pu`%KfAv1`SkRoy)I^;$`BmXNKtf(& z)gb?z(jgM6-C{qu3b*_vb_B|V2F=)DN!DT6fy?xOAx(oLIDw(y!qCRTO0d9)U=h#)MrO6$_n~0L270LwK z)qdisVLL{|JbrNfZ}{ovvSzZYr_P`zQf>Kk@hHsn?pNxzPvB8qj27Tl8bz7*HNpV1 z4{the0r)kBn{yuS@2y%ZT>0arm+}sZo=@;Wy?1B}JERk%52Pb$P4*9rbk%jx$i0-A zfr6D~SxL4{`0{-FUM-Ej>2AC6=5^qK-%a8x&Wzk2ejGpR5b$H3aw9n;Nn`R8x~yKN zrJ|q}ys40!I#w59Cjbso@Sc__dDV_p9|xXq`40~VZ%5CJR*$IGravFTAniWUPy937 z2K&TTwbS25b3?zX7T@LRHS7~Bm1tIBn=5qaH)gt|J3XId%X&m?WwZ6G1S^miywy5S zvJM`;#WX}5>o>N@&u&r~G;7s1=MaQNb=Im#ERRrlo=DH3#C@Ik+lUtSYf2n8ADrHi0cZ|Mk>6IW~gkk=G$ zY)10Hg1k;D@k=mwn)cFoRGPZM zN{8idt`U?U<7O|ps8M=EZdaen;31zL9HY9mcibYyu>{=hxz}4H%Z}H3WEPds_}k`Z zIXixsVfx5bs!qLF>IzoHDNm^mZ#xeKHRbE5PJmGC#klQ%Tt4*<_LfR9(N=89aN|#Z zYb?vv;e>!@Q9)j)hnPyO1tuNSk{KPVs;aD?!!`efdyTzVl>Vz*@J-jKT%T_)YOMBt z8jbR8b^|`kj@uX@iPoOAF;2`N(Mz+>Ijmn`vW|@g%9lb@kJO%*vbkBP(rdLnzLrpB3pM0S6W?IcXq*6w!to(g%vxro_vr#7G8U*)S%inGVxcJd>?MnL|k8v0n)Po4xPXoNPat+tTGCy><<2jDEy*BbHP|C!BNX z)x4U}L2L;G|5tuUBba;HX^J!bx}^}7_Jwbavn!lYbbix3j&uw2yS&_& zDRAEnyYt$7J58hqdCLyky#PZ)U<`U z_C)hXrJap#?H5w$;~?4n@!t~i>C1KHu10fp&&knPnFJ{d3pv3*)Dpl?=IBeR=mG!l zH5sB!b}PT6Ww2}vAr7U-PkC#w7$cDFZyohJy~=?#o5B`T(tvh+?u%uHg$E9<2dlz# zcRRa1SnAp4#=nH;moaG)_qJS>zc=Pa9bO))s?HxSWEB4X6l~n*pHDu2(S)DZt0mmv zM0V>ye0M9U+TLt(^|n2I$XtWSj{tsOl{q}6O{7hXrKqwL1jZSOn1$0NDXS{lXxbVs z)lHs1L=l{?@oSe^Q!ijD%WKZ~5;ZX9(jQ^_^O~t>5=8pExk!<_ALgZ)9Zi?2_Ba6wWy~8_p!c%XXW$??I(%ng z!RO=Z`Ium2RNn0b*-l5u7efHD@(9I_1d&cxC$YEpdz-aYt$e%Z-y+H7m8#@QU24-n zU)th^CH%N+l`~{ST)t-f(kN>+Xo8XpMh?ve&9hcL<=UUF?c4jPDESiQnhT7&4IUD{ z#b)vOK1R=fpQ(WS?mtfA_4IqO;$+ntk&$w~}$y^E!g{dzf2`0Wsw zu4X^yE;fdpVAoj2&BLGPR&86*4&mz;V7NB^e8`I{T)17w>z+Aw_}UuZk8|krlSy;D z)osd-DXo!c{r5@mn=P3swdM(CPq8V83(@E6 zMyrdhHu-sjbJHuU9d=@ht`RM!c;gPMU8SYQopt5*w`~Wjh3dfl#A))Uzd%~Q>trbQ zw@LoA@HAbTTzkHu$aDYs06IeB@rqoH{gzkHp9%afwN!bA31q>ERi-GpG&89Ht)It4 z1RtE^R^s==S9a`~l2)9lMTFHCj{X~bhP05$m!HBMQ-#E=pfBYY>pwpM;qPway?C0oG|m8!Qw~B5D1g!s{vXu8L&mRwXL> zXeMfU3$H*9rIR+udKJrvmErGjvjJ}ajX%7A)q(F8zxFFlNHHpa&DTWc7u5Gz%W{n} z0Mo9ZH3*RWEdwv{;(RQi$AzM)%z)_fRiji{{X&OkDdTED1LpO3z)n8s0lVlk2I3W4 zXbw4e(@>PO$rupOW3T10IyQ}2^uzhr`Qo$gp6K`LlGQwT<8X)VBNVhpcX?}^w1OSS=%LufzTuESE|Va=us$s-e_fr0fVp2SL{R2JD|T*XD- zAPtvwtv*UqIDXkYRgoDHkbNDGgn%EddEpXpC*A8c=!qQ>82=T=@jgI=n@I_q9{bB& zd%cSyeAach@r?G=%VWJ#E6`Nx|5*Zq0RjfBUbNTRXj1~dI%`b#YF)26j|wv{=WAVq zAYJ?KlUn~h53Sdnbqn*afu8eNE{tUy^9#e?T)mSW(!UxC+tU{j7Ti^dmn6*ACGMmL zXM}`*a7a&3U%LMS> zQ3v}LE(Y;6D5(PJ&YQZPw?|9bzBJrGAs3q0zpc==zO@!irE@P>9 z-4~1Z?kBL%j`z`~kLkaf`wl+Ju#SubUKt4^2c4*}-W0E`bMpI9#&>RTEFm050x`Q2 zE^=dLeIA!K0!TVnI+Lad|K9KolL!IZ?Ab)ugRMw0j7*Ss)(;V`DH+`@*^4AiTcuw` zKazsJ?KYRdIRB7n56_+rIefxN>ST$S*#9_zz@qD@KG|4ZvNf#MWb}w-p1Ija@Dqnu zzntCscj@y+2CbrXMgCs4;W})JkdAGjTC5Ek3COp3oIfw0+h(`v?bC1c#`XkGIDWif zbIrI-^cAfxd4@mlV&5@&IDKP2?+<*Oc>wcOvDKaCPyY_P-v#R{dTRAXrg)yUxi zxX_nIFp}BmZ4>|F#m1pRdXd8Vl)X&A$9vUVHPfP3S=2Cbsaan@>ep$Or_NcaUbQBQ zrcF4Vi2nFI^?EbH^Z+rvrK@Zn50v8)S)BN;9QneHyoIJOZ)!k`lqs*yyz6v}A2tjn4MH-e7rz z=$*NM{42bAoO9nTQq3E$Yn|CGDrQzsxZ6W-; zHt2~-+J^4@*hH|2|3o88P}GE){tu$YzJ2$)+ks`u@$&kd$)ir-rt zuLCw6Zv%cWmBQZLgy|gG8i@SJUjnwF>rcNS`X6^sH_AxPwPOPD2i_goM1r8@cWC`jnwunh7IK_IJQ zxb;E={aJ^bJ|^~IGC#d|YF)6ay81|4_tyQj>$UUE z*GK;1?X99>*`?Y)KhX3B*!bfQ31~_Vdg=-g(GFkUyl$~)uK~bkx8_@(;5AF3Vkg*r z7I&%|+m8_u?iSMn8+>yv_(RAo0ZLrV?Vq_8u)ed|g50q)8aQ*fP0BoiJWjuJ^5UF1 zg99PfnR>>0%w)i}G)Oy^{g@bW18*mF=N%Cs6d)7+S z0uzN%+Jn6U!GOdfV@xgGdhw z)>VH=Mm;s7hEs@B-YiW<^VRda<>co#g#du)Kjj3xk?SLNP?VSD{yF?wI~y54-+o9{ zwIb=ryaeO7F6TcA%~lBm4&N6$0=KG6Q}yx!_~Gk8+KGD!-|57B(KCk~Z~o29AW{m( z0m9_?pS$urD{V}K2oq;z0qSrZ@qXHws}>sRZj3xNxkS296$#}cno(@=l{^|8w0*Wb zJq3Ux4J`^=V%Jldl#xy@JbX8AM9o7BlXxnuFPKGMLfJzG6E1?x`FUbiToz8*Ob;_x ze>Qp-O_?JORpK@PF~QX&h}u)xBsi2tV=`hV4o+Es{Co0Ya0HITHQcuWHA#+)LrS8o zoKgmvAc?R)G;wH@E_vd=Fes^t#KWYO*~S65HYL9fA>(g_K{QF#G+gK-5t4PvGs6Wm zL`7R@X?1yS9HcU;th3HKDd>fBd2YY`T=O{g6PPF@j^UKkFbc==iV6PxjySel({HJizHSuXwnrm7*ZJ(;TI!k9CJt-d9 zfWeD~Q?%6*Iu;=#txTJZI)j#$HVnKoyzGrFbxh;hJhccsbe$D7vTO2g^1suXrnR^; z`c8SP%AOUt{+<-PO(bx9xvuio#3A@?Yws>78*SLJ-{?-Tc_et5nGo}w@E(M+o3$jg z?DnRv$;aep_R?oMP^^c&irp-%;_`kT%Y4CiyOM9ncUQl#HPTUAY_Uha5dN7kQ&df~ zbj;UvWj`w9U_b)8o9P@`VCHfIR((CD<{Hxm{|d8if9#cT14=wq5wXQ9-f0!wZwE6_ zeeR8B1~mGcu8U!5?FwBlNrlOe@VzPH*;BBV@p-)G#A(oXo3$=$niuE# zG10R(lu!H?tfMP<`yi3s{Rk-ha9_i6Jb${ESacb?X~P+15u>yO>*n9DUgp*CCT ze^s}`FS>01_At0F*M1OP5nTu<`&jS9M{!^BeFRTJBK;wYf^Selt-`172M!qfGCNxvZyMR{sD& z=kBse2^Zrf$+N+7zyHt|(3g?ppPPNBBe@SX%}=IHr>Dby3|WANEVi^K7ArDj|BN|E z?KQC+#t*GbU)AvNv7Swqg!pnLQT?UOx6!0Xt}R?waG0f3zkj}i4%RMWOy989S35ar ze!=v;&X_Zk0c^Z?PNY*-cvt&tMn%+$kp8NUb_A;4OUXWo2&5h@!3@xa4DnQ5!`hQt zT8Snw44tV8wF;}N@W@t~j2AnJyDF3pSrTx2nx1^8t7IuQ>DMS!-gk;w%{N%nT2D%5 z*$?2PtH;8tWHfoOopW|~nm=|8?r?Z&;mVyuk-gbH0BCF3wk;SZ^+wQ=c|!7AMTgU` zP7uvosg9(>$)y*}vZ>fjjBZ!`C$ZsS5+|Kjd5veBn4+jT@RMEOD|v|6y(L|Z<%I~a zVE0)yi|mxCUHFjL%{3x6;`CODN1fu0fmwp@vJ?u2Z20miNPI&ac#ES82X3@h^0bnD zD(b7*KwWDmQz6-oGhQZPztw_gVK6Q2?r*JSy0MtQ^+Q3@74U-_JGE9+BreC8%Goht z!G)g)&t+2Dji>3f(WtKEUfWm8ISJRIuo6<6xfVNCTN{oeNicfW-BE$+=)KmTKfPG70KI^pXOm(zrzCnAD`3=cHjL@}OGM~j zd|Dn_rJmhFkWZDK&H)={)DUeL@1F@8h|O7X5si3l-}REx3}+B!ZCq$W4`O@68>xbj zoiwFjnmEOj%W(@I8au4aBFE{@&J0CyWIG0xDPI|z)8=)knz<3@Ou=IR@^TRUo{WH9Y`sr+KK$>(& zrS(Y3py8FZUaDLWyYvqEaYmH-0eM!#>fThkJzV)>Mts4UpKgzkITG&r=y#e^wkQ3_ zV#UjbnlP2s+zB}efiPnEK3$H}MpGDHfXzyJ1S@iU&&k5q+Et{yu}vmHsCo(27_YN` zD!7k0n{(J>#cFX3nzz+Vt9r~@FjYE)`ft#jdLalFcJrDWAh(UKM9k-F&zcMk4tOMR5}-^6B3Cs=k58ptf_f$v4j zdNVsy(QRa<0Rxq+c%{K1Zy8f(3CiyAy!!av1zY**MQ<<(d{w5@_P@l(_m@gL~P|gfh5R#`%H;)w!azT?!KgmFn;|>}Cp7R|3e_wbZDXms7??YyV5W=9L!#t2 ziR7h9X)-3VJpaP25eH+V=xj7BBmYHK3TH%0o|)S(Ufi~hzYknF4Oz^4!wa<=N-QPE zvK@@@$iXm8mSDL>s#nlnnw}{zRVMLGME2srftLN+$FXA)Bbe%qIldo818hQ{UQUXA zyb{wC^qAdxCF8PydDy1S^ooz4Wwm^E4ZiB8pIDiiMLkpHH=S^7DIeb=IU&3x%!Ek3 zOgMrH)!qij*}u*Sq^XMMQ-gbc)d5jYcBUtGS*%B<#u`PTFB>l9>Z(pBlzi$ms4A@=?~7-dSKf7Fo54l2Ow(rJ{&FnG41}WNVSs+YBAxvYx z2X-bKs+mn{uuS*mR!U{rG&++T<&QI{fce4$_=oRlL`dwZ1%YUXxR*y}p|aQ;HicoS zvn=59L&g>qRGb({tdtV0+jH^~vvL#+NKyEAo}SC8D4=_V_TNc|8*LpUdM0DaDNG|4 zve@?8{JG8mme+CCu`@Lfq<%gxSGjCUBx}l0VbUDu53TI0`yi=E>GYH_?G5E*MptQ9 zx>0C-Ninwq7W`qVJIPW3%n`cLsycg_Q-y;*%G!jPle6FPOV&>K5%|`m_Sdu%s&J-; z9Am*q+9~tGl&KAJ&dL!wb||5(n>C9(ctmKACFWE>w!{e`H%}&Oqi$+FZ!1lHjHFhh z`oBr>kdV&acwcd$ikZLgh??^R>u)wq6eLLIQn$SYnx-0SE;DhltZCsk`4{6J%ffsY zvC=BY#hOGTI=2?w>DLsAehI>raGnGC#?@1kZ14$#m-wzNY`&7kTn9xjEtE1pmnEX3VV zW#m)r!n`l2bdVOcb#k?v&sJh*bDr$+pp-KKIQEssFt~oKTE}_Kds$AiSIAp6riqfC zp(HiZLSsy%ogt?xhh)JXxGnR^kf0)%zwJ#+M)QOg_soYTCi&id#7S0!;!c8vya=$oIvsKCw z7I^&yiT55((h?UBX$`|fShXox^hA6HNL1ljiBnqcm63UlXCzU?LbS2;N-X>qNt#37 zf&txbUdCeg2mO(sGFVxvPv=YY9wRnYrki)-u3w?DX$mVgeqf|_(H~adXd=r|s&aDc z#1(5Fbh(=263tW;?>|aPYq^2XHkhmj{UVOH^(b)l5fQY!_fJgt+lG7q|ffJtMe z9nk@LZS9{So%zK5T^s8X!sJLBJibe$QmYs~OF4-Q<nruJjC! zl7vXZDRccW(QJuKE@&5xn3?^|oa;vla#q-J>HH~j_J?C$jKjoK^oqa5OD$L!y(+VN z!z#M65tQ{2w@`)opTV{f%%a;tActwsj!m6(ppHDvpUK>fT|0#RA5zM!!w*r;osmPN zez)^!ii$F;#UyqR0cV+3puO56~sSBRTcQ>OJ~%U%?aJ7Tg|6fxi%6V zb!~^)UfQAjm4Z1o6IUz5AqZXKAAd$i{e{ytB;yNxoaoY&U7O^B zu9MFkbQd#JPEyrM_ng>R0Vx9l_~ZoMpLA1rY-JU_)%7KxEaNwQHpy4$(h>GFwmy`zgH&X#c@dU!9@0r-;TAbM9FqwK91od@p8$}Lg zV=CE6GF15v`E)zxRASotLpx|O+ERHKX=u`1Crh+~Dw72mDe<}SfCEKI3W&odQ%H^J z&$zauA&>It5ifahax{Bf1qDvLj_YrNtHf_{nY^e3TbQky06@!lO?G?3) zaZ?s;ERrfLMkx@A05#)e>2^-@q%j`zyBdX};XPc>fxoj741C5$xW(VfcJgd0!;Nf`iDfE+4eN4 zj@ezsCk7#?0Cxl1?46y8&9WP7bPSj%_EE|KR5@^>=Bg<*rUN(P+A*O#9AYB=?cPx(qq@2fv_&)d z(Nyva*!lPjyC{-PH=i9oJ$2mbbiJ%z%)w^Jxmoxn)-oPK#q;z8BuCUcvi#M_UP0gHw19i5H|!OXhW1$0K;J>I z#)8qtg7Yf*3r#b3=r&{7K|&g#+QEt$!5V=92=gM44I;32Jz$YNP~$xi6+JL#J>VHV z(Ca;r9X+tGU%>*tLjC;AjxjdE;UPT3-c*W!cl^wTzZ@>;`SLvwaTwmwIx2wmA7d5S zAFu>}NJ=Fb)$K1%6g==gu!Km_;C}-y19p3^x1pTKc;GS+6~K!F=6a5|5w8TDsCW=E z0HjIq!+^`c+n%RwSR)h=DG03vOz#U51WurAPvJJ36K@NI9$XcKFpMy`FtjkFW?*)p zZBOGipOat<_$$Qv7YB%LDDJ?{ZEPp{7NpN&elYid_MVMx;wyS5<`$G!{B;yRNMbOQ zfUSU#p8jpLD;f_(0pu*OZb-#|;-0x}0Po8CiU9=af&7a03U>xM6^PRlu}yi!<^lbR z*8y(;SslpTlfKP(g>%K_0o#G_4!;QrKwbu-^n`4aU%6kgf}ma@Uom{(g&?y7nR`-< z@W(~o8%dy8DQe&~`th|8aC(AkkclC1dc9h3xq2v_XzhaJYw(x?$Ns^$pjQO|j82?- zkV}0(YOtDm?`w!0{E2EXe)c-Fpg9BxDnW7gGuGgQ=R(QkB97)lJoNgN1ktr%IRrvF zp*nIoSwLp_hC+?urIP z6hBh{~UH6ABcBk zA-L=S#eU1}%YXG(C|A57DG+rFiV%vSKXYHo_Sh8`$Pz^NNuVKb`8)PCZyRo}T@itp zUg>>M-jTXcg#AhSVu0-QkOyr= zS|%2fBT+)kD2ZeRrxT8^jA0`=Hto^?Q7K-ogrF0(nA7;FKuXwK3ED^zDE*h*S3+Pf zp00#~o;zWMa3W#ysR2@mxfF=_mXOfK!P`r$O@rZ!ug#zWtG{pu$T(-eGR~3;vVA3I zBW17qN?%9H@A8$}g_Qf|EAtJhFnrEe_}t7RB{$sFU}ULwWn2j*%t0kWqy1(1m#A?2bUSC z@U1v+ZuSIZd7Fgi=58xT{>E1sS^!n^anV|a%2LViPg zgF6?S%Ey_GIHJ5`^MZcE>kKy#tIp^C^p+U!aPGLgU^^q;!#BkMvCDjv>5wDxJNLWK zCh>2OZy3JeLSotZ%+o1W_!CC{q>{L%0p(7dRlSWK;0B?mSEL?jRevL#Aq@gjb|lw> z(y!S%fd5kcuIbhTG_O|c(88O=(=+nLC67Yw;{wWaTZUj^R-&){usQhvy<8rwDax~F$nErB<;BtiTattI- zsF(+}5GKiQ_kaD@4unH!goCVvfBONRUkRV|pA){N6ZWAKam)^@Kr}*2DD@S^ffHQH zHKq^*NmxwZRZ{AEgwLhJ;Ro|UEFAISpWP1(0DUi4w;t^@U9rA^AYVz}zkCn@k;1(nJs$(vJ5yJOAcR-StRZ$N)bFUhL9uiy z@;2WYwMDSw`CPuFSdV`?7mEo$>wdY#D$Gi>jY!so-Jznb$Th_pkWrzNQL>Ry!_P`R zhsBo+Yt%&{#(t~IM2sT}B4tp_5K9tI z5{EDxyhrB3+8U%M^Z)R_J-Qpy8;l#(8+I4YC*IcIda_mIO9=$S%)?Q8R5!9N>?^W> z18H;o+VJ@vvI})<#Jc3>|n>Q5Pv z`~Ta305wU1;;`_r@JKPR$9}{658wwpPwm`Bso$H=UO$|bCcB;>K#$)QijE2KvC#2J z7H4_lrvF4vhgO6SnJy$ff>{WE8UGlU=uq-lOLUYva5zW3AYrebDC9tz7+-gq8XsrG zA`@cT-z5bjuKqsUTwVE{M`SLJ?kZn zW>V5rIh2;ZXW+B{8R)c5b8`^QZRZ|0?I|z&#N|{#pKkRmrrnm_{aw|Wn>Qh*y*Ir2 z@5Y`t?CwRN^J8zzi_y9-%Y_iGJ4s|a%FxE==@0Imi#KPZ{tp?#@Ahsi$O5>q#F3CF zL%(2mdjg%edwFoLj0ingkY52(rc81=6JeK|fcr0jEc2*vq6k{m} zVt|*G?SJRFPk6(6U}!d7t>a<2>u$tHP{@+E4%eA!$9wl9xz{-NWA4Ip8JVV)76otW zLckG;O4GoRk_JPe$DhH>av85oP$3ZXQOOR+GqkS^EZzeb-?@IvZ@zSWcyB#sg_O72 zU+_NOxmxC+N+|oOF%N#~$e;7bv%|%JR$}FDn!l@pjH%1jcS15;6nZ*qnWr(=b;M;Z z0dvqBYjvuD%gtS-H<5chMU=m!F~4~KdC8JVHE~-=LSm_zlbhph+6P2{+YT`}149J< z2t`{%jI#RNRLXu>wL;sCaGsAj_?^Fqo2x_br?!;xE7y@OcOzizKz%RNhTGBS?pNu@or;(8-epgUamw)9 z&|xV*48C(#${zqcZFAk{2G%_n`%q=U;Qs(TK*PV(K;wYLOFT3(_;;D>xlGkje9A)6 zkBlR@7{-n^!KfF17vBb5f2{k??4w#}G2+v-fZ_A_G{ftqsAa<+t}Gd$p)x6r#=u{P z^N>xbMXzL1XkcIfp5DeU=61#tB%#p3CumZRQ@5BLY6TFIh0-B7P8A4}s3O!wje@aC zC}!y2?3q6e+7)o$Oeawc^cO<82gL-X0*VI8Bq%jdilHokG79FNe}=Mwtif9baG)^j zse01pze5G_tEdPlg;3Y=zNDgg-INyU1*8q|Y)lvx4fO~ZixP&x+;;}PBI7VGf}2+b z&vjG1FrE%=UnpYXdMX6&flwrrd!I)=_af#Z+3UdHNgMDO3H3g>=K-!ca4&{AWl&Fp z;tzPI(n$l2P!~Zxe+_6Og1R4+TzKv$@(j%P2OOJVTncTP%mujqa1SAKVa=%FoZ?kd zQtJQUAAObT{NKi5_#bH9?O*B#x_<{6b{FV6f)vsRJh=G(1HAj7C!_R0dT`jin|~^QcACKI&O!kw&UfYQi)T8UxWWf0${a(x@z$GmdH)nj?WZ zq3$^YUp{g*4m9@fyRqlSQ#W?rXuh%HKdi-n{TD@5QyZx-Q9e40uA(1k1-${T=jk`- zYxHdq|*l2;{Pxi6{z|KO$n zAG&IXU9Hkt(if#~!1cFZzhq{Ri(3P?(A)fW@O;5wf2(zj!Jgo-#mi+Ys1*4;1g%$lN6|Be@hpng` zzC4}jkkg6gm?TLOp5&C?}f_zz@lcHkEC z8LS;bf2k=-A<@}w60Kb;u`#6BWI8BXMkmoS60JnrJ?_LSxdRlEjI9`pMm1DSIDS5F z0N)!oYAk+s!ZcJ-fKP;?cSfV?a`X;PBBdN38||*qN>mM+)G^S+JOMtE1;x=2QaKJsfV9l5xFlYg+TD>Hj`2l(28fp-OsKo^D*fyP@whbe?~ ze@HvXLV~bE5dmlc#&TP{6A&{RP`v!%aUnNhaG2lOudikP)IVnB_M@}QmY0>U&9jxs zMS7Xq5)p6JFvs%OmmHrta&=kR>U@hX)*N9m>n#>7zy0TN{DU_(pS)20%;d>usuSnF zv38_0T%1sH_CkrxHLdQM)-$ivJ>5R}e`J;2k@x2F`8Mas=Uy!$Ap%u2aFgE$`>=u? z8VP&Q$^-&hC=xQJ1&Ab;`a8e|h!eO=f)v z-#2APeZlyiWNVL0dG^Ts+#?O`2jamljsnS6ae78chHJqdhaw?1HieV?$oVlK>=t%2 z2s@%GaUs2czkzsvBm({+?2;s&FBm&K9?9Mr%Gn z4m2<=I_F!wRj*KlpL}-V&{{ zXaT<|x~OFfp7SaGEk@JW+&ifK@~5ZQ9N9&pyUlbt(+Mk$hKAvRW($Nwf7U%!!i+(= z0**j~t8=p*PBK2oL2{8Po^|BtJ6>>vRj)SN1x`~=c7!%IdwGd1p{S=QHavV}dQ=)M z(_2E=aGBYUpJE!xszM_yQBffi(^DKp^TT3e!?lIec+%XQNi0B$kKLc6i!U?8s@dc) zkvt?oo^1>_MUS+`B#oFIe-r5plbJ0mZSh9SXnBx1ROuA^N&S@}fhw6cE+jU3G1=`j zd;&dAy-O(w-5i{N=^_TPckgyuYnQiB=*xXS^z799IR9q%!e`haozvj415?K%2 zqSJx;j9a_ubSx`JclaBAuHqjj*0FHlYvx7B7=kFsS|kZ#q8$pkNJ?|$cLpgqJ#vVM zqHsH*3)ju8oA~5{-K%~#>C%#^Z{;R+IcA2NE&8OWGX09-jhWo;rU7)hDdo=)2dBm(FjD%46+ z>oGksQSKvTRctozo&9|)XC#KxEK7%3=h1)K7Oe?a!&)X->jbP7PJD+JY_40Kg*uOX zf%wouZ9GU4b7DgO4b*@%d!{w*HL%JLb|3!SQh4O2bTp}>e>zWv__&Wn+34|OOODLy zI{)@3n_62Bynyc|23cbXM}SsU04E-Bc5rlpwdEWDt%tuL#T>;r!vg!zku4Eygl)-Z zmLIInetBVU=N5ctbz_`XsS?dqu+c3$bt-ktj#5q8-hw3)cen8hS8tzER<~`B_1yf^ zOOECk!%SZMe++@|o{qAj#IVS$aG&wZ%UTy7A>7lz&d&ozKHxb)<8>mPNNYznxFP2J zxx=nY^sH%zu^!#ufOnymUS?_kI(olr0_L&WS3LIw6QJC;9vuwB1t^V%z| z3$CnfxUdBU{=40EMVy~!8(F=2)j~rxzm4@TJMhlx#v7-PuRC7W1;bV`u8}s6K%(9yDXKqFn+P&=L@{cA?As` zpe+jk<28V>k}^;vBQ*>&To0M2;od_b8T1{Tt6aT*+?8X8-t9PXI;r@NXD)VB^&soq z%-Jn1y>_dkqI~_-j-`ft`o!{mRm)$0ZbtE*fA&?SEnOSm>uKn&J9DjLVcFz4v&$0N z;_zSd4o_UNdtP-x(iEWODA>(Wz)V3IA)X;7+3Dt*(<72JP!$oR+*olW?O1x_qo}7A zZ@khn|Lv#eZ298t{TFDPIJ>8$_OaTm3FbwiEIkY9Pc?u3;&W?{tvS*67u>UC3VnWQ ze`&+bx%>9~Zcdd6AfE=ivxzwkbOh^$hFKoTa4V$sM0=*VtZZ^;PP@&KIm;!oc=b#-@KxxxrsQII z&c5G}!gP5?+UZGzk!!PugB&pv<2-Li=)Yk^#flq zDd3wUC^LzH9iG6=EeAteaWe$eN+29gqPL@j){<2H%1PBtsb+0-?xiE|Hxy)z-JB)! z&3Cw=jb(H6ENRBx>)>^eEOrhVkDwnMA$XT@>mor|1$Ba?h($VKSbUkTYh3lJ9Ns-fTe~aF}R%TSk z30XEU*s_&Z-}m^cQGAx=nYE?~$e-4`{zRg!2*^ZlgD!>V+sr(-e?G6F_s?IsdTnD^MVPU~Mi(Ax+_7hYYd$+6Y0K8q zOD{K-&+K~PLe-^>=`|tr+3@W870u_zunye}rel%T#0KkMoYS&DP$?+deqA8h`TVm+%jpx{gX;IQsL;{qLd5 zR|@2k5DVc3IejBmRZi@x?O~E=co0K@r!WFYN)$u^MRc|*y*!lcJrY?^+Qnxs;#r?9 zuKF6q z1(G-j_RmuTZm|S6f(W2yrgb`zJDY%<>j8BJv4U}Q@W(M_{w#}(xj8@j`)EuStLtS; zr6JhgM;&9eFyH&@RJqMl0F^sM)3Lp*ki}K4TBSIcWv!ZdOozLUuT7{Wjs|j^oBZP- z2MKOD06-d|A#Onse-Tl%Yh}dF$RPi6O9hEA2i>2O_YGiH*>eHAR(9?9M{m)(EOpjs z+Fw~3Chfkl8qc}%L{-ak+utkfnVu+-gfJi>mHS4`y87(jFX1<~8(6feB|~d4B(PI) zLwa)mYd=1J=*`L1!BH|DVHqbaPXUc`iRL~a1cwk{^eCmYf4@#U&m-tCJsXG?W3kXV z9RGl7CX2=Os-?o9bgkirtgcr)^n?*Q*J_DT2h+bt%iG*kR0L%;^>2SbQuGvV97f>w zVbfp-unl@H>;P;J`zu%t?t`BD2w*^oLx_Edb)??EjjIz0AGpbgV0|5lria!OJn(m( zfWZUv3b$A zI?xt*MxOLM>>>)Z?nT%I#Dz$~JYth&29H#6mchZ>p`F=x+g8QOI1AL$QLPE`i(l6G zYPy}fX`WD?ny>ZoG3)%8G*Bh2lcDLnKS|qT_>36`sl;IHwrKfV6rxoN96Onv_KpH@!;voRfig5Se!Xah<`Bd(ko zx$-D}6`y^66^ce#sQ$z%fJ8iR45w=*VpIQv?3~*jN}}ZtoUITY3N@4@xLyHXOGALy zf9U&jA8-2XUF(c2`{=N?odwG)ZRPZQJgZj?yiQclWI9N#=(%}EJ`BkB@!8*7v$IG- z_KK&2cWb9)5ED~;q9g{r-sm}IAiI`QXlT>!oYBBM)^c~}8vHi?Ys;p}c`MNx6pVb( z3ZTNgbJN#tnD)Y}-75=|UJE>Z#81O-e}29>IjaGMTm)~p1y99Sf5NMHe_MJGpT;jf zw|eyfl=_b&y*(a3+Xl3VB$i#PMckJEE0PF_PD7A6m|Y0@ZFmQ^+cf^+L7|3XJ4YN& z5zu$nuWmee0tHW8Grd1e66$^F^4?|1jr2SkAw2tG5@j5lweTeap8r^lAH5A7e_gtG zFFAOjdIxUu_&_HTA8}sKbBGpBd(sAXb}F)k(}Ovd-Y^(061T&gV8!E}sc%~qlm5+x zwMBn_H6=m)rb-zGv6-sog^q=roykUgXlwC}XFGZl6)LR{NKnkmed8C8O1Bj)Y?-=k z)UH2!^E1NZ&_`P~Ph4IX-(m`Xe{<%#$}PXME7fs;VLHgtX}8^W`$dD>GY=ylXWN82 z32%R(!B?Vgt$ZEyBhGb^D9gbKkqL!DLlD0hU#iq6JNxbrDhAIlK+;i<(gB9=zzzNx zfI;HpM{GCvSy946E`pyKA%?%%bv_MfzPVJXYn^)p;&%C5{PocY3angzo}cp(P;Jn7k~j2t9E`bYL_ zw3Bl}U<*Q?EZ5FIS-{$(u#v?)V~}!WIvqVe(Tr+QW?XVE-;ZC+`fIJteT#UT>!fNO zM8@7`ef*UEuNcwH*f6^`{jU2j7Ed|8rJE-L}wQ+ zv}cD)WAI~JPoSFk_@7fBZ=}1+Q!F2TA1(0>Y@h#Ny>sMard9Mp$#^R_Rx_L`0a9&G8AbRhy#J*)c2d zZ%wM|VL`_xlSc6%iKuk+u3bbotqax(M6lLe|EU8gJ3 z^{05-yRV;qEd*Q{l?Mh4 zC0yjIf77KmrH$IZdQzz~0oA|oCKCMlIttiWVu&-yW~;*sC+$DfH^SUQc#$)33p~aK zuu`#v7jCkPf$a7NTXPd%!PnVE#HDy3)9;MvE!=VA-*5Jm!4_39{zw!XsFjDr`r>o@3nPG?eC+q=L0J;8&VlvOaN zDJc~OGAK|yc!@%D_{e3f*5LMEe?(19E9+Los%5`@{P3Oc&+U5KwGtiW2PqpJ70c+9 zD>G*{&XumdiO?VJAmMw*lWX*enM;V2mqCm+kH3zJc{qw8)?a70kpq9vsR?<Opk4_{Ew z*?UfENRo;)LLS5S_U|0s)wrcP-Vq$kW_vfPt!mwPdgbhSd#bZ%%-dU+-M_?Ef5Tez z>5B^zP{804Io`3FdvgHYe$&Y(O=ftw9n=;V%2IFTcXko)k!BZ;VF`qHe@&Jam} zk0leQ%QEAA7l6d!_GsYoo9FC!v1b|IcbV^EebZW{X zr8NtW7-0sF6Rrx43_w!;1~QNu9i4);E=^SufLEoCK@HnY8fBoq69AF#nb1c5Mt~Oe zAJB%`KDq4?pph}DsWGs2@4NfP)>yTw5K)6R*erhldLuU+9g~VR{VjKHe`V`*@&3YU zwt6$YZfA^^1CJ;XL}7lgS0~{Gku2i=Iln3tN;t{04IbX1!8auF&IcSKn3R1}=;x(1 zpbev^X5G0nDZ-*xrsENYkVyPjrMU!~^K>%bzyOU(7A-7GZ|KXaN(|$u&SdV+=QzymT3`VktR`06{R&X=3xep`CuabJ zLd64^L*2q*68aE(Y^c0R9NT8AS|DrPP&BejEBE(tq~TOaidNyne+w~I+1rb0T9%xL zt;I>ce66X>VXuf)T8nT>M!bq+qA?IjW9V<20u9kk6Xq5bjY(dBXIE+DAh3!cov0kG z=`?5B3w&d65huk!vC+_H%?vX+v8>J!qSuF{j6vgfn%vBWefxpt{RsQEdA!#z>K!>I z9oG4Pyf##{e@jt^e?}hQYt6RUonWDBg3L>v{94AhuU3_E<<=yFt2stl?r=%_THrpizeqYr}nHoHNU_2@Y-h={WK>le`C*rckvhd-n_qVBGIs) za3S+DtZyU{F~izqLod!aD8@k!+T_EG4Bt%y&o>3!TSufa4TMN|5y`pg(csG!Vi}nB zU|S)Mmn4QsgU7BKx#A-veKTpIA=$pn*p$(^?_hUIJ#(tBr6xXQ6df7z|tVOoL084Kip0U!Kw1zqLc~u(qge~vAHmkBjD^vJuwV`_^M!HQapIl&QhIMI>co(yce_{u@><+31mj$8&V8+!lAfBkppk**gRdZf*t zAprQiK^F&vF+TJv%Si|of=)$gb-wbfqJjtma#;1&F$-^179`>FSfwQMv8_3=vG`Mc zh@tL{lZB(w0LxHCaC}fiTU(<_76v#5N6dH{ztm%8^m=K4LNV^Gx5kQsjkI3Rf0u^M z8R+kD5-SZ6;(fp~{?|Cgu}Uy3I3RN3MDA?f51o+3#%lk3RV4I^h(Xb8WU#jquXUUn zl~U}qXpXhh?(ZCsf0jF6&^fg-q~%`qF!jFu*CDn1q#;!j!iy9zlxr6% zom`{{@M{cB$X#DoTEuo70jzvLE^oD=SqWzUR8squKh5m!*W$<7nbLgv=NAHja ze}^vfM0CJV9xNhxFuF`W7aO>XE_;dTz`-#u@sFQ*vFLIk@d+cCR;B_nayj=NOEwhb z+lHaU{&F|Ut10&J_V+i5f1}b0og+F{&|{l3eSQ6WP4cL;lEmyOkMY~1%uOje|A4?W zlO=cNn5Jh9hUEJ6(13uTlo)Hlj4_j+r3MCuaA2snAYMEORKCbGqaUD0#eHMseE4O# zb1*ahu9a2!`UUukRiemrb#(HG_SzJtIWEm^u&VC`kRGpQb`lj|7) ztr<`!zYWkonVVsTku0hME)6vr`dZ=nnN&B|YKD6=%$^OuO)#?(#;0<<8mbiTbGTX4 zp|1f}BJ*3RS+G(AJo700I7VfIzyd>-*a%m z+W!w%hrmP%mqMTg5|@wM3Kf^P@&zRUIG5e>1xEwuxUiQe^96u^j=!vcu}e_wz0eVv zAqa!@c+l4LE*f5GR*F7=_HigH2ZlO3($lpyu>P|!{>q|`m5ZtQR27URLt8o6v8Y>{ zn)?rUGzj|MTs*XN*r%Z`0R78koFcsN>HFUJCiO4vkvTsFDS`+e)RC`jCFK6ar#ZWQ zZ{QN)HU0q14d&*5lMmd5EcQ^1L6q+eU$5}m^^vJh8`slDRf3!XPu%ihm_GW~6rT#> zKghSh1g-zh9HM&YD8#4fAV$dN(+uI9nf_pXrCUjn>j{28Eoz#It|MuPhX98Qrlo`7L?d&^NXN=ZH9ZxR3ALI35ppC3&jG( zb1O@P#`XF4`RTyC)#T29gA(x@s5H3OLQz0Hh4&R@6ga6mC}~Urv?)pkbt8=Fg!fV@ zFfRexH89Ug?$FlpmQsB%UIz6HvL@_URABw6U&xrF@B1!*qZOV_WA3G@;9d>)YQS3r z{gu!z0Xd|9(kFaxK)o31X@V0}1?h+JGPvuZRKYXlfU_2!BRKM5OagSpa5q5_!?-jc zZn9(1@Qt`T5A21a;wcgIgi&fLg)&k$Dx1os@~K9unQEs-s6*5fWCvmI^i(>P85k|( zMmzkYzOQb3b^1DQqhGiG7-78~f$K5q9qK1?p*WO(jPkjw2kk~5q95t>>sK9j^}zKQ zT;DJjW)X9m`3KL%yNCBJKbGIfe~SNSL9Sp}@TA}yVY+Zw_@;0oC_iXr(Az<82aBg& ziEu3oekSvcA(-C~wWqlH2NL+%2#iu9p@bfMmAYAu`5Znnj% z-0kgdcY7N;yX45n7iU+twa=`${P8e;x4oDfnFnj1rr%{=gtfzn1t2wZW96G0b2EFR z8*@vlV$fQ1cT96$X?Yy|E?QUa%xj!uGqmAb!W9d{La|8ITv1C{M#4(imWItoT%Z2jIM#&p4P#B)9?ALgpA8!u@TV=qNSBR2 zjz`BgBF%dA6s{&^J^o}PZbHX#6Ky~m;$61U@1bWn9&X{lnXxc>c3x?v944$O%_(eu zY_%KakSAv09(o*}0INY#fe${#&YZ2@9|Tpir;T6E^N8? z6#ftV5kAvhVl&sGA5bwWK;OYyv9MONe=Uj4?tn`yqV+nxO-9y=?ag%S{Y#;0{1omn zdJ0>%okrQ9b*0==I2`{PpTiP@s|fFZLoXu>CFj<%+pKz>S|to@F2|IhXLz9yc0DX1 z&DGdd+A#72-j{AZSSJn+5{g^%in=xq-}f1;WJW{uDmstYB4TYUy~=x*E=5D{5GpOc zZ_qJhr9z=GU3sXIj`M+dTUH;-pNnY{@Nx)b&iFd=cYOlGl2S)0WS=)_ik9f7CU z()(p4l}TQ^rm-w8DpP5h8HIk}_fDK#?Mc^alS|gpueO<3rRFNZ1*<&-tAQr7tc{AY zS-Br}74hvH=`A0N#V13(zv$gh5b}TqCudEwCjOJ%@}t7T)t< z_-kk89hbdvYfgV_lF-l{`k`Jdu+~Q zYu?8nI+OE_g%Lpqm$hv9hFB|!V^08r5GovY5n05b>ta^SI#{uV9viuT^G^I7mUf`6 z$j2<4-182;j56M#iEt?oSj{sK!&GF?7*@!W6U;pI6kHi-s2{L~RS8iRJ=*R4lLa-u zxNkeg4?fzQSD2=+>Bvn_($89o58)pbc76rMo5BxnxUl*!>+;gG(u$PDsiLrz^`}2U zoL~6{O)}>}59Bv%f@HdXRy1&`(9uyG&<^H&hhIB7yi0EA3D`V(l{d(228|N}->j6o zl6fT)FOtG+UjO=fn6=vXHFGamiwe9k@nut6B#=hSZx9XamOvn!j^sa6=-7p9Z>e1y zFG+KovnnpVaQ-*F4|L^6x!c;@P|%A*gXfktY+REdixH_R?U_Y?)rHHSKD(j)@cg0$ zlQ4yNy*5B0f|z+4_K2m317ZEt<)GJ~ddPxg{)WZu;7m}jXBeg)v(9*IqWr?W;8uWzhfwvvvXh9Dy=$ekXbzFRB7uTnLB@9 zRKajd%hDX=eF#^Y?T*q-b?tj{K>KQaUqU?V=OiLl6U!EV5V=GVx(=xTHbDb>6{R6& zL%R5l`t-lJwElqZ&363`wq6oDosL2(NfP`9ACcY?DP18 zeT%m&Thad{Dmil=wZ4|8FP?tkv3*6~-j=5A;aNfef2O)F;=_RP>~mC}XGoxN7Qwx|}L zdFQ_G546XH@q81X)$2kcmplmWoBz;AdJ?g_6v&YN2`I>JhzSOZSZ$=$erHFTj9(Wx zY=k^PM??fQ+NfAJEYj)1DtkI4*6i9>zBX%fCk70EE=^oSC_hA@D>CqgbO{URWj)Bl z-j9wv?9Cp&--6dKHY-m*i)*#g2vtlEb7!kmEs59SpRbECL}2xtlf zspHXqEn|vEB9%Jd7Xl6B{uaMJXh0w6DRr143u*y6A|^hH(6@;wHsDkp{Eb>S{_)`6 zx9eMfdvE3fyUdfRrgxRQM8WIvH+#t@qoSaH@)Re*2O1-Y1{t|;j!QR*MM^viLCF51 z=hi3aj9cYJzfS6rq3Cm2u``{%n4Y7C7O8u4{B?R8ZoO52{yJWZ*4}7Mj@_uEqkfH} zuK{*YKkdIkO)%2eZifl5YHvf9BLwTqd|xs@!uqKs3Qk*3Fx|g`dnIn~Mkq&W`rY(@ z98GLwXw@6rPF`uq%dHdg9C5nbv@AIgyd10EYkrtQMjx!$b$u$OlrB*9Ql%)=%O{sW$pY;|YMMto)3vdhCGuxt* zg)*RDDa(m2!4aMx4w$vjVE)~H$T^Py+8u70sF;T4ii_Kp70j$5QiFEO19Fqur{iKSqs4Txf5)cOlGMF_kMaJ0l^@Wn+kYYi?|HQC?qQR1YTttgU`;N zHQKOe@9fdad0`vx4$9R%f7*&hkN{<%U3dV$i~o*C`23d+;Lq^UtQR;jx>=QT)Q_?)iC1*w!pdVzhK0z0dokWn=&T`-w&L`M%(>AQ|G`CH@SA%geY+ z8cl+Xo=Z#AV#`$KuG1UoX}P?EIUkym@YPt)e+p?rf$7Axx>@+=O9e|BGLqu5qqN%e ziJgl#T6)LM9%;PxTv48BlOirL970ddiFX#28q_8uTfeNg_wExv#c86GQ)ud=uSRM! zT51dDtbMrs$W>8Tp)wb6mVw;DKyJ!Frlh}JVCL*uE#`-5lvTyL_HMa5+u+Uid++&M zfASjTI!MlU-ZjKVP5kMGHS%QHwY$*}kw%8^3;t1{V&t-EU_0O(0{f%a`90GO#|~D= zZJaQJ{PuLP&n&cD&m2Uw=kZ*m z)v6?#oj4!u+nuS1isggEeBa>`o&>)|PWud;x+FZ^#K-up4PfJ~z8{#+mpWJUgboo!10VQ+Dxm-an76=1b0zLEO=9<1U$R;mHE=-M!*Ufb0f6rcWX>j9y zc|=Hbc$^~9++SSN60*vrXJZZKt$P+$_n+L}*5^n`h>DRWr6p&2Dl9WLl-yC2x(7c{ zz>2gnW$y9^kh8Sb?l7tq#3QBouJRNhRXL?6wiS3O;70<+Wc3Fce>^l#y&plRmT#MP zV&2H54He6s`&Gh_Gz%INe}q)HEHg9h`XW$vuXp5*%bWN8b3=x`oA*eqBwj&ly+`r9 zyVS0k*^htmVNEvdXce5k+d)!lkQ2u|_!URsB+7Xny>3e332~+%sp$2gm%iv3{b=V& zPnN4PSRj`tWvHz6GacobP2b1dxeCSo$E!O}jkh?9tGe=IV=a{jf5*Oer5Svi|Kg2OV3HkI{j zW3(o#L7v=H#jlvSv?!WY^4QAz8}bgVe|gVeMy!P>u3wfApX$APdvwx6ho3s3lWg^4 zVdetgQqG^Te(wC+e^0PP0TiKiig_tB*Xs*z@pR_v)XJ^xGqcS0+VSn)j=@w_Bi{Md073cy@rX!1-USwpna?>kUy8 zx%;+YwENZ zc#}qQRg#@erHc?J#8dA${C!|Z7b@3!npUSI=VF~Xe>N&AO_5xY9w~8Qohw$XhqTT6 zRjs>g(;>X8-zL;(glt?lIy~%R9UdIo6{`x;Xaq`GKl6N_HHgdK;Iu)j;lvoqy{Df3 zKIvvOKv`GVGN+)RrR9>*jfHuM(Z(YF0M}7aFbBK5icSYlqoGyuPFe+3vO4)K3VA_$ zLb?&w($8<>q`@Ne@FF?P_Y1z>8f62yJl@%u_6H?FSBzX$rib%~g7AeIP!LGrE24OJ~8Y|XBkj->`YaOPA*MW-dCH5tV6 ze?lCuH$+C86v?c~24jgF*UYiedUt(8OHK2Z-FV%A6;zC`S9GB9)x~UnJ`U-Q(-Pe3 z%vosst^$oTsT_xN<_kDM4A3G@5Po}b04HfTIJpfIzr=fC##qIimC+)AqqoULQE71v zWqKRd2cWI0D(xMnyaMqxW?L>!`f99~GICNo_@Foag3uWL{UjPi@T;3E&q`8<9 zC0F?m-ZFopz~yoXkG!|2d*s6_SHFG7GE*KAI>Ts4)Q3mwv~kRZHUG8sjk}Ma)->mdzDl>*(Jirv;M#T*6bQ5XsQ5B8K6lZmZ9aG>5Zu7uuSO=m&l5zLW|gMvh>+p zTS>*~p4!n5SJtdH98ihks=Zh9C$gk!Q;fDEwaBT@)6AJ)5T`k?`pKQXO?Jnk2~VqB z3t3UTu@t?Gw@V2IP6PyV_P}eGL7)W_mkap{4VRqU3J90Q4F)FxH<#@V2DpDOy>~om z`#XuMAyUA)a227iAkS4p!Nlm{j{MWe^Xnv@Fzkti*aqe)0E+jJ=dwW9<#_Pvd*3GG z?-hZdz-0@$> zd3+{%i#+B51SUSD58gR00t@lQr2c1oW|q?Ak27211g%7`xgLjn5PSfh4rr2lh6Dgh z_TOdTS5ggVp(g^=p}kFdvn9)YCdb20@XCIoGzONL{`KN!;|JxsU9FP$@ z-PuvZppL{o66cb*h{S~?R+3mlqKw4FBv$Nee~{Q>pvvA)82>eUe-Vh#gTRbjz?^;l zi9Eju%n*aFNqx+C5Liih2l|Jc&QW}M~mnc^jZ=Q|AX)vGnX+jr!c#iuh>R* zh|Q327JDiC4u`k~?r;*$<*KUFpuiSe?SO528xAwF-y@%$z>%}(d+_LS+NY&&MqO(jg(Tc zjH;|CppJ!kh2^rUDp`499;6pEs8kILXgf8dL}5{D%!-m3)I?rw5%O@|{HCUcr3)7> zZD?wmzu48+(9q|qt+iR(Ri&k>cB@Uu>r`cBDxK9P@YsJx5;x(6c-Hd5$^u+jBrk;S zX0}G%R<#p7wpdXzrEQE7TFxcO*QBM0@GP%sM1*N1FwGWVwp>}>h}DglFinIgK;j-a zy+T>NP*y#scxl_x>NZs+4WA!7o2gZ|l$SS37F9NMF4OeaFN9B(HOWe6R`83eH4=W| z99hdild*qXF0P$jv`nkxWhVK8n%1>s^hM)8z%epr$p%_#o0{u1<;yM0l%1+Y zsAopGyh5d$Q!QOElcp(njt&=A%FD~-m9zR*se6CxOBSd)l`Gd5pjifqRJW|SqQNFF z)zr)puOHg+FWTQ`0K*Nj~S zUmlZpU46At&~GJ?a4))B&@WV$<6_k$DG4kpOYnr0f_MyDtA?+RUEZRf*IZXsUspVL ziMoHJOj%n@}yT-La*v9zku##iZ!Q4Iv3nWCbwJkkM zSFBl4GH*V5hHzd(P{|U`D}kDDAg`$rv{*EIpK^1P`q!=WpQzW2x>qh; zWvi9i8Y{(8v}Ap!a`_|kMfK&STJgMjb<4}k>qYaja|~p4Q;^k7Q8|H}yb;5_V@jCN zI1D_qfnKIxk0N?&{V5mSVDG-=>NAN2788jmBGGif6W=Awv)0u! zvZ`4{RnkQzvg#r|u|!1<>!pH!P*;D>nIo6&XKjLEm74HQID?anATWG<50@G^Dp}jo zFO&B+RxHxmREqw&h%%ey23Rn=Mpa%auP&NiuB@q2RnNL%t^Ki`o?}d<6)Sq=ivGq* z&p;Lw8|1qDl3Z$38WtmhvB*5@YsJF6Ml`X zrtnL$Kf$1G!sEf*94wwwK(XYRJWX;EZ-&Rd?wL`ks8TgiXil}Lb^+>{KCg7fjMBN& zOEn$5!nVAWcuaVBWrKKrqqw>xAxpEVw1X5(ivQ#8S0dnh=$0%0&OG17LXMUs0(u#qbh%KVGe|qH(uIe z*Uno|r&LL1?EPWjXxri)S6NYAb-QO}%euy@Sv1P*RmnD-Y~Ow@;a#BDNazVN7ZN9& z3ud@yEDYmgTj8nbsl6)ePu7pDIZ5v(l8T9EDwY=#r!?na_!J*3KXT7&7~AzRDyi?) zG^}YXTUfuYd2zd@hTVUVukIXN-g9J+Xj%Ue)~3S;2H>bw+S63UTLv|Z-DOZ6(Y7e+ z0KqMIaEIVdaDuzLySqCb+=IKjOK=VD4vSz54bDP?B@4o1@4DyIeec)%)jiv)XG>Mr z>@mi-VVY>Jt@M&o5psx{^K39%o9Ml&;L%Iglc>Wf5R*>B~o5x|%5!!$*j(RI3R-JKhk_U>gei~c5(UVh)1f`A=5ZJWkT`GO1% zn}Ib!J}()?cubM)CzE~O-E2`OiYEZM&Vz|6*h0NRZB+Qk0E0S{1RFtACoXKFK-=X6tNsUFQ_Hfk&~Xc31u|JZWHhxRke;* z$6KngdL(@ctna*i?Ps<1T#cLXA@{0KBwqqag`t7PsUa~yD)GwMNw=w$GLF_xjaC%+ z5!?8d$*xm%G@l7#wOmlN@hA*{G?;8?wk=8h8QEVM31%&UzYuFFT<`DJB4eja{S9}` zB&fgi!Am0$4tkWn$sT0C+`!nnZ$*LlYS)qBu7>`9Ykr-}=j7so=0aJIW)}LCZGg%l7Re5?EimmB# zw2gFhgiFPZn0{)`S?YRk^md^#S#v71rex4^{Z`;n7!PLFlfB9jh?vbaGSY6frPDF& zvaA^JV%qa(NcL~og^#gLzYTlTN{@(YsIC{TGM(fM)_(c&QUav>4M9lnLmK=`sC94d zW^pkyl!LICg4fpaexja{HGgvDG~d2$`BMYlAcF;yy=P9WyHBaBXjEG=9{Q9G2nQ@Ce|AJwJJn<^`13geAzGjBETH~BDjepC;_*5Kx zVV>XeW4qn}Tqwa~D84-q_c)s?UoKATD3&%9nZdwV!|ZDP?N^gd1uPRz&5O6~9f{d-Y;81GTdMp&K=OsIvnE|}KI zs5ZOD)(^OHUmqaR)NSc)u+_VOT?@l+WY;DwcG{qz(mMw4Pd zGMz@eah@U1C@Ju#q<7tF)N8udn#3)*+}q2_E4QRoaa~=ld|4aYP6yl02ZwmRFp0Ng z5YN3UvuJ84UAV=*wM|_~#mp$TSGT*Bk=$y_LJP3!^KFpk^yY6}sZU{nuvXoT83x(w5H&tmOmMW0843ADMiecfTnh%FgGhN6nRblaEh!stln5t zm>y`9S=H1Rj5^QmXsy=X<^m%1unoU`=zILU#u;R1Bxh!~)%%^;Od-tK+HT7*MbPnk zdyT7JzNK5gUH=2hquJqy3oFE&vYt-&&|At_gPru@zk%YXCL8c194dw?#*P!H%9qY; z23^5Yzq-?{te94L8g%=c(Ws2saz#xlj{Sf>&wqi{1*-!03K=K)`t=GXI+Z?3zRmvo zlPHe?%|jBx*(v`Xg$R`vl7S{BgP@Z#`V9lhJb_}pE+cJkG^+%5NNmBnd46DeA9rn| ziWO;1gg0mbmnKL)<|-ily4TRRk$-?y@8s1Kwfj|;hLRb$8* z^VVKWiRG_C)Uie1kJUPp&;GviDc69dK-ffI@DWAsJSBVCf#{FD-XF(ikr{n%n}^<0 z#cjx~U!cbQ-H^Oey`qM`uBMtuhbKa+i6N6IcOp&PLb;yM2QaD(W$0-%CRUoPWp7Jm zf4?b~$+n?jfH914^a&~}`?oDE+5#ZgX5S4OH|&YTKI)+(AP^v0Ae)3+k? zFg_|{=|9`QezJ#LAnOj^TWliN;WMXuV(AY-FDt|Gdw_%j_)PHUCcOObdtytKINQCC zpF=#%_JhSYUKaI#+}8Yik5Wf0K6$UxNGdL}O$e$9G`uRk^ptmPUX1q>vg4+m+I`nS}YX2RzHB z;3pJ{E!{eHXWi8!b~|n-DJiYDe$K_Pbhuc5-f#>K;_Xi^O9-FKr(vN_BSy}jm#d*J z{fv#$BfF8SgxK8XAh!V{AS>|2*Egk1DtzM|q1q=7YYh!vofnGZq)3D~qP9X55qI&y^|qD%2Lr9{rU&8ixGidkG4$hlRKhRAx#ahQ+YR zvi%po^|IbTbz=p0j1RDvhB3T44pf>Fmf`OSDPe`Wu;~eBDf6CFj=ew7%nPKTrlxSJ z=f1mP=3zq?`9QHKHYKFD0Yohs$ou=t=Dw@;NWP_Dz6Axsu$B4b3( zfvuP$C0*;&&5>n%l4emF4Q}|qurlUk;?0cIncVWLNq44`f%HR)0)SXp>~CgrhMBm; zLiU3E!t?}<05T2U++AWZ1i(5L1JzRvQv zRo$y49Py`OhQB0 zk@TwQEPAnJ(gfB7mEZmqVEQb+Cv=Y~!hUY{a2P?4JV`NN3A}Dpt)Wp!XcJNHH0f1I zC$&aeiXyFpjeK2Z|83b+*j2>%a+tNw>XBnw*D){n!7``}9lNJx3(H}Ce0_yTq={jz z+(UGR`^({*E858=&FmETcK=-^!F+KM%nB9RLwYiN6+nMy`SLn53`9+#g?@k`S?+iV zM*EoERd67R5B#fB63NAkIDC>sE*P+uNc^ho)zc(!<|N)#C%T#hdOdq1vc&K2{NDk8 zAdf5&O3NKEX)K!@TPW9TiO)Z*j?mN*ChU7KPmnZT^Cv>>5M#dCA}lgj5aP3zzvp4+ z7d|+`_EDwy5Uq0Xu=QH{&b_|M{s{gO=Q5R$0%*UM1hkejkDW^Q<1=EHd5e!0zUYts zZbuG*TAsE1IsXmhHG9b$Y&Qr6+ux_vYx3C4?aT#nI?bomYh)fY(%+0f-}^nM)%*3J z7*A|U-S$j;V9Zho;C1G7mnE^;?hT*~ z^bYj07jr#ug;=y2ok-nTQc%_^9YtiH!}lSn0Sj}IS>55`Oz>UdUtif>`TPF@388#~ zX%d5p2dBno#z$GqDBmbQt^H;z+8t+b(%8q*suh+m-DqL|EI`qV9xFUuf8D4YyveyU}C7KkT zSeQQuvAByI-Y*xU=&MLHDNGMV9PH2v$ak+Il;Axs(%M=gET_bK z+})0A16XpL4a+F&jfk$4g!Afr95eeo;J-cpLR0ncI7tfTZ{crvc(&)q(MK`=dGPodM8Pq5xmyQpiV8nx@BG|X8Cs7N*LKfcDZP*?&_ zK7oUOqMky}L?7TmjdyCV)oc`oO7(O=-_Gap^vgmD`!bz1+uo33s^3(0<)IA^;@ia-B5-`QF>xI@g0}h(z$xCM z=taS-<{Jh_KGB z;2oPc1YR|OKlWfuq+j${r8sWLS+S9P)OhmV3Kn+cmprP+xli@#>~}d0IsQJ3aV>Xy ztzz)p_#OW5GXATBW5{dk=qr%{M6ei3gek%)Oz;EI%whda%=4*bZr9W)YUkt&p4s$i zv?Od9!z4k$zI(Kh+joG8#anR1IdKgKJ7C|uQ3a9^6E%^J3k92-7(x`H;gH?fSuyBF zC@cAJKSYV|%YGq|i?%Rx3)Cf1iNWD;n>xOZB@I*iZlMc_ju`pY88#BWmW(AxdJr3z zPv#CUM?)KCPCq$1qCE7@Y*>P|a*c=YlXpamV)?_(p)7K5*9$;1mT&GO!2H0MYOX>t z?X0`Imii$;c2bsax`&P8Arc;|R}Oo5UktHJ)-w(fZhtVzmtBO4OwoEIjNvB9f`;i+ zF%#1H#FXHthX@aKXujEZ(GzT_#=aS1*E0>m=x~GB4ZE4$n#5FO$-Y^kudl8U35AZV zkfJU6cpnW$Ocap1zlU|>s!!sI77M5B_O)zSGLup)KZK@hh$iJMjZd}}=Wb*~tWk!9 zgl6?ajG5cQTZm~~7^NG#P#V`4_I&IplEpeo@IkE2h1lN@x#8jx`>Kj0u~DPN++E`P zO$sC!vBNicT_tjE%%AAmDZS$&`u0Eikx>$GP*M{5NRI$+1aI4QMj1-bjE&w5*2Tc> z^X*Y9vzogv@zQ-u?G85$C|P*_UD8}N?;}3F_`am>R|zUGHyu_r~iIIq-cIGzbn~F<+AnQ_GKFX)=PRMh9zwqxa+0IVW-DiYlrK+F>_~+<=^GseyP6CGbZ$Y zN7EJ;^1EmZ4St*azjPW#YVwa!R{wB_c@4Rb zH%z>Zt}nl1Dn6d6G?D`k@HN}8>j%Rwg^iqKApwZ6Tl6BVn|?31U;bf=2F$%4?2%T! zJ_kpXOl!8c{=Q30yxP$IQB`ZUTS?sibao7N+4cth{5>D;R$b1l|NdJ+o(OQ}5$Rlg z8jAqtd%fiW!PxGmcwQE&XE}!&$b>C3}VpL_J zKRwxOdaJ!qD-iH>Dq2t8<$aXQ!Q6M?wdtlJ{5O!)M96go4jx=EaTy_F1Tnd;dEIAH z`SIucn01Y}@$U05;duXDLQPU%tnU5|K!FqPzZz;5bawFwTyQ}mg}l@n0!r9+LUibY!VKxg zPO{ybTgZKliLI%KB|*iK>bxl^0boEqV1wARy;cJ5qBuGqQ+D`e$rntoB4ufWow!Pa z(m@=VaFLSr!%MTm`6{7WsNw4%_3zPmVGfOez=hM}7w_z#XqSXhYWvz9mNP=l6RK=p z#4Cl#S;B&6Hk@%TzG}0pGHm=&B+B>GDG}dN~H=f+4@*? zT25Z%tBXbZgknkyA6cx7o0u#K(v>NHt=LajJ~j7PKUOlhp^9coGh~3;z1MiWh|aQs)5GwAeC({i#+5$@5hi^dEPo zC9^3=2Bhvm0q3qWxgff{Zxk--f6_S%^-DR?#_QnZqTJZcj_>t*W(b;aY)F+GiPSr+ z11rjcRrfk3sO>bS7Pf(c_(Y7ik@`yJ;)ke|m#yq?o@_2xyph}$bK0kn6Dqr5m&sGw)D^Q6xulNUiV0*L^FsD;u#3R0p z9+jyVh~hn5iBepYlqFt@;Wo|%r#_SmPa0bp{-nq8`vrr}rj~PXT12^0y(GXXpV&ZK zpGI6}9YwcjW{*s#_@42*NM`kpFjefRU+pMi{B#Z%as-FvL^$_l>*t1h0ZV-mQYu~) zLGw~-w^YfuT3VI>N|bzxy!D-RoXq}xTViK@A2n5@0qt$subO}HOSGSBCAUSAnKtT` z+7hQ)8Jy^puN{yk#cxg+V@4~E>YE3fRyzea7gjIHWjiJiEdxQhpivh5#3kGBk)+)Z zrp#OC)DM{Dmez7pYeZ)!nNN@!?S4-FeIEfwxgh;ioVS3_i7PSkR@o*RscKZ z_Of%BkID^E(EOW-3*!c92C;!un7kIdoot0gH80*^njj>WkjuDB20w;2r6yQyEjuIr z?w+v3Ih(2Ig!tAD$|=F&P&=P?skD|*96p&P7obk4CTUGd>tTrfIl>A*ox`4jm3>1b z38^w&&T9&o`kkSwi_<)bcTsclg*%&@k90V&)?;K2lLignPM_&aZVd`?Pi>sP_-1A4 z)~Iu#eqWAYSwD?juy{j@Jv~@`-<=JM)vP`3i zVKj5XZX>i6YpE&Ov}S{j;W-_I<-li|l0ZZKGaS5Rjfvj+fFY0omxE#CKu1QbShcgZKY|~7ST2~Q^W`?6KUxQQ)8)2*tEBzN%uKPC^tJ-Ns%Sw zUm?>iXUEg6Fr2!ssr#?nYYACtR+HAgZ14tiZ|@YIUi;KYaTJQsj7Q!GY@JgB}zikj@2| zvPm4%I5VXxey|tE%6D1-ZD4y4Nes(x?7Jh|b}n@fW{u}?yiaFL6eVr; zQ3x}O+L=cTkRk$@vu>XvOBp@BxU|yEI&GU(_85>M3oM~5nljdLGEj*qO|TLxk1YLL);<&)%>LN|JBM!~@#>HVLymNCwi zW7EH>Tx9Xo9|T2X>qC;rnFtbUi}h+m>D2H*;epL zxqh-rg~+p>`Z9^%=^`;QtzD#ib37{Tg&{$EgIkf@yvn|>k5>Nm%GNj zmHc4so6SVKq?{x87HASjIHuD_uu3t zk2NtLWrwQ)-5m)$)e zYB6X~{o)Zw-Ls6#Q$e5f%hf1}=Z^$aR?}eL$LqeNl=Z1p<9jI_QZ-7`q?G^Ct~5FK z{#GURPsF5kXDU}IzXp)4({aZ48@|*|*l_rzWt=+W;`u?P@#6uGaRNB0wR$<*y1HY& znkSkHre1@Ks6#r;yG>ny!UMwr+InUw-ynB)k2o7_Y~~})<=w_#0eP6%I*Xr>wB#z+ zq4i76f1GHe+OEN@QLMG>Z8M^d^@8WNM4;y^B}~-MeYl3{5&$k#X*bd=Nz=ZINL{S}iH==Ej#H>1_WU~T-7qWEWQ z*;`}3jkT29vtFVOE&AW>0Yh-cr>=~pslT^v>3;U*KuiwQ>ls)T{5C@M6Qz?iZI+O? zaoJ-$VS3_EmiB-QJ1G_httlyEgVfN80EV3%Svl6y#T0dU;LZa)oK9b;_IEr$p!Whigd^lo?yKC8kD9 z&N)$PS+EI|A@CP|^F=%;u{~yAj2fBs!RXOAYT~L&vQt+}=6Sy{!tAt!sIJr`Cs+qIf97k3 zE0&VZrA-aQ(Rh~{7Ps29<`hvMIN?Z@Q07bLawq^`W4$lyESP+XV`{Z6iICJ^gh8U; zbswvk_m2IX6sYjL^p}ZBqpmAgi9lP*KYDUI+V5|tOaZW?B9nRrs3|kkVd6pM{3hp+ z)kTGF?+Wd={c$v{B?jH05i;RUz1EoabUH(r&?3RD!?UoPPj}{1e8bnNU)ug&$jCQJ zFfBl(@Zn^uZN3u%l?0%U*IZFQrWi>fbC3}eh|uQFy@&pr46vcV+Ly_%xAZB^s2u*e zoyKpQy6I)@G*p2WRS(zOUN}Fp3F+lz!R*@b46k(Um1x&5`CQITRU2J*VO-rjFH+}q z#;IRuupuVYobgD_nEuR-jYz56wJbq(s3A}fvk znf}+Xb*=KqZ@JLvk%ce7d{gsmaff#gk9@73ed}GkFG&y~ri+e1HP6^tFnAD3(!i9u6Wsqm$X-kkRs}$|MbHa6P^HLTpu4 za+|CvY4uabES}3B4fU~Uf$<2P{knD zk3O~oWv^s@&J;I6#EEToZ1?ggY@*wSy>_Bj?@AH#B`=5kYS!eGRZIs>6rft$IklS$ z0V{j;U$heK{fGcJvJqo>2byh)vIRJYvm9LxYkfQRK;M9FneunM?Q=<|LFKWqWCsd= zW7FT#6u!pH6rV5IdMxN8hi1mV6y#@%3%-uy%G1+^Ve9lO*i)e9(2v%lWt;8yD5ZGj z8lB&qTOex`#R>X z^<)Wa-8|d88u|y1-AchSs)QbLXme^YHEb!MDxMTgI)+o*xIbvYt5q>N*4WDB?gQ8$ zdKT>L_Iib*2jYvZiV&=hRif4h!7zj_t(eVL6Y1 zgakvS_=PNjMoEzxo&3$PyuxY~e?CTa1Q&*b?jZ!#Zuq-%^7wLtlGLG_R<3yURD6wZ zveO#gIhj|^lNzRI$&Ejb+gpfbPaWm{FNs@>=_Gll6j_TP;ohGcgt4R82N$17;wJWk z(Uboar_g?Ov;$K zBXis#XR~?0rJ;>L_tJr7=BQX;#|ewdH>4(#1zQnnSM*L1kqbb2$u`B$nyrWP_`;Ee zdKB^}{6V}4DebGe>R3HIUJ_A+Vo9P^wyX zVvI4)#Nc#ch{SMok#odQZQ-3v@pREQLNHE3U_OQ*d%ojpddGC~-l&Lp?F;4!d{7ZN z+B-pAxSye3rowB$J6`L4J;+q>G${9_y#n)TkR9o(>BD9l)`!_(C@)M31-$gYr#D8A z4~^t4=$?8Y*_4Y9h2+0(-kX|dipmF*holTkAEq&&?aIi9o`*5_&L*^FV11Xwm6Z=O z5Az>vdkE@4#4eR9N9TJ(6jr#*Fs6a@T}D@)P6R{L1^{j~jCjD?mAVrdjOGl}5lXtt z>nhj@2S&bx6&(Bzlc)0^CJ&7HA0qGn0`j~==m%1F8Lqi~5rj|+-c-E)kpFe@{%;lU zzb4-H|9W_D8s7g(c)LtZ#Loa}Ao@R;hp#RJ9lL_p!cQ>INWrk8VI~8OyPvNG*HFg> z_;7z{$5KS%mQlj#O$-WUVO9=QyAm;fUEV{}MY0*vbLC|Y^)ThgLp>h+;|gPlL@U-vcre}uhZ+9r(HqK~W*(-fGrswh^f7aaSodM~!_c}w? zYp@1p#D?%X!`@Y4{H&{!5w1kDH_k-Teg0cPZoD7XcT)qyrwQbWwo0}1~t z>A8Nu5F@`EHv9Nh>|^NvG4!&&%4LO8yW+kPdSnQgQMqrrpll~08GK^o_<+Tp+qG{e zJW%jXC7gaRb&tW7NeHh1K_$v&fNM|h+R+z7h@b#*J_-og+=agu_r>b{Xbj61kvTZM zhj%USi`Pr^Mh`};4xaC!y9)MVZNGPk>=-cE!|)~UCEbR(3ilbzzjpS;d}it;*hajH z!W=-{leji}LJGtcK_HLn*~Ph*d%_JQ0^V4{i21?ey`5duYpFK~jPM7nNkrq|>K^g6 z(i46l@ejD2h^xWJJ;ZB?C#>g>Z#O5RaBzN);9B7c4~+hb(I5HxHQ?=D89b3bll^-K zgo_Rq?y+6#JP|*WUPf5BlEA#j691?cEsbW56?LmBk`r1{VpsJ}Nrp?6GAG6wC|<8Z zniU(hWzC5?Dt&YG^uy&<85kuFt6;TC7&Q~@Rax}oGl~Rg#LZiAStNu~C>T;G`PC_C z)hYjD;^}`oQ-jkFdE@rSdjq~35n zbP7TJu%9Jfw!#}CN*CCYZ2cQRsbtMTv@uZsQyILlSqIxKV(kQrnqI1 z|HROfOo03a-bsR>2z62F#M~3P8`mh3RYs?XX;JIM-V?nW-zcg9kojD6aU$)B(@nS) z>MSL=;B?~ciP(*^72#ddvnYJhcw+2H-c2t2l}r+|IBJplMD6aQKgor-N)i2{#);h> znm@j9RDsM}g@_`8MTHZqI~0GszDQ#km!i*$1}9E;82$u(QQI=)MVN~+Cl+_ee{q8% zMPy8h*cNqcKmQf{3lP1)U5M=zxh(pe1l+;>#d--3mhLYyS#&w^X(dP~c0*$yL9$RZ zBjU;$C7B!kAxWA;sOO_oDsQ4K3G=Jk$+I*Ns@w4Qun|Zve*8ec_!)lzeHO$5=Y?I`*`D zd7Q@u>c$ZqN9e#IvumOCoj5*w&W^*vodl12!9rgze9?{LR`>3G;kKjy7tlkz`S4&S zN;U>VGD7)3bRKfv2!l|lj2n^7+jH;Qi%cGpIFfs#_GBA~CW22Ml{jv2jr;^i24ag4 z7KV20Yuwm9c?Keg;Jm#LW5>H5H-1ln&jh{bZ&u_8!Cu@A?UVZ3%Ryoi(m0~CS9`6L>fdtzzS7VR6{rdqoK~KTY?}9&whLeva z?#kR)Jh}CviiQ-9sO(kVa6JKf&m_TQujp^8ABZ7ZC{SAKlrzy1{&sdB*ui_!u`owmsk}lB9^`3{pd~w7W(}ydR8!ewXerK? zAF2JWh6jn;V`+(}t6OREYl&&8YiaUmNvx>HRnuyc(w2;X)a?mJHL&I7CqMC*7p0}e zs%sF*E3j0aRU_ELugLPKF;!dFMA(;aRB3_iYx0-W{HMMUGT^L;Wiy~!l?zm}*5o#; z32U;g$lPndrRD3tRbDLrsdiqC4w9Y{<7Xf^tPo1eBr1#iM1EKqS^W;LOk6W7R#lBr zdbIj|dYL*1iATP?8qMpY7hhY9K&U{FKsRF4Csftsva*=YGa*1+Zt3e>1eE~ zuBxx9t!jK$-K-|A&aKL=HmEYFCIvZxE7DVP`JK6dP(g7Z1<*8z2~-Pm0G)$~--aj+K${>z zP!A{o1O-5dpeT?GXdFZjss!19jzI*VOpp%9`Rod`3KFdn27Lx~fP6rYAWTpqNCh+x zVgogTTtHVKWBYibN*HuINsF8kyPRUZoYLPXf&M7M=>^gR3(Kd3o|M9=1yb`BaVPwq z9Kx9eGV_%L3#g}3p2$Y>nTv;>@J4bviz|R9x{(4~MdpH6Yc&3{!l@Ovih?ZzOX*>2 zsP+=0zLJA2OJ80?CGiQKC-s(OV_EJges{Wasm@~Uskgq&xgDHSnUW`>Qw2+F`ej+q ziSvf^<3gV&`IZXig10|xLPU~9Vnnh< zBDUoV1-zF_?vl(VIt%)=S6m6{8 zBW4t>@wsvt%#YYdXAG^$xC-?Km@V-+XcZYW#?rX(6lpa^HMw{cSz5C6hCm!t(lg9f z85}~?W@Yj5$y_MXlT{yiO3i@Q8TX0;J5z1;1Vx;d6gzAEw?cIZdZTsL8-%2#HfZt5 z92}(aZ}pJ0D^gF*y9tSxhwnIp6h*lP*0OnK^sPx-3f2c4ElJ{2-8h`bhJCZetfOx@ zf~~WV*~REa!n2WZtjrbj}!pqd20ta5dSH2Qcp!T) zco2HXx0-JwhZ=o|2y(7Id zy+gfIy<@#|y@S1zy`#Oey~DlJz2m*}fdhdPfg^!4fkS~)fn$MlfrEjQfuj)Xe{+Ge z&tdDsfy05*f#ZSm&jZgB&m+$>&qL2s&tuPX5Ua5)H~gj~DS+9UA;X$5!-}6ban`1? zNn_p45k@dSe-OW!Yh4fG*dCofjNjt1?gt68~rd$6Z)EIbv>3KYV|IymPQwZE{%mg7|yG^(1>WDgPYp z*26rvLR_c(IsSLujCTNG{R6QzwPRYscQ@Wax^-N^p>NH0yu)N;WOL5uiKdB`pIc^fA8#>O!&$>wPhCr0*I28ER730_rw~F&HUQCstV8%AT@XLWABf4C69gU- z0g-}?LTDl75G%+b1P_u9(Soc%cpz;MFUUOv9pe2U{Xq9%{eb_V?Tr{f93U8g7(gFD z(39Gi+ZXl16u=fh9v}*R2c>|1fU-l8pr4>0p?p1YL7_n@L9szOL6JcjLEnN3UWlQv zP=E@G4dsNQKpCM#Pyr|cln#my<%MEES)pW55hx6l5{d=ofFeT~poCCs9;Yfsl_<|fEb2bRw-YO1z*OmP9fI9 z+##jI3O9JLr!#`i#O#5!TT2%e;EbU&GkbXC_PYxnEbfe@GnDRbWyr5HsO7F@$fGm7 z;vUyUYe-7JKLS>FCLH&`R-T&V$`aE4!<;BjN>vTlfQINa#e z0^2v_FT45A4G{9bgT5RakX)`akKF_c0G1Kc02X}_S)SD zTnXF>+z31}T{GP?-7-A@9akN99XB11Ro7MbRku}-&#s$Y#9g_axm^aG23@3JC-4QB z6r2w>0>1@PUy@xmg8RTh;1@6)I1DTS9tKl`OTiZ4Utrctv11`!;Qf|=TOT0XC}CzQy|vl#%W^$}Z+WSL7(KClQoPh@hW4i*UmwZgvTi*J1L{<1 zpA!;y#P^Lb;}frDyrv%Tx9R1)t(9T-z;V-Z3t#plXnrW{cXaLSqmax@wC5##rNnMp zdw23G84EX$NW-t25wwI9g7=Sl^)9Dws6SE@7G2rd8=W|u7zTEEMpfay-39CLiuz-EX=k2 zI{D_MYZIp5*VgC4X3~4|HRoouS3GPN>hAu;iMv$^D*=j?e;T^1tNSJb5%5w&49rlF zOmSsX(eu2)*gTRL9I~1qA%e@r@NJz6N+yhBp=Zica&hD(s^egAbA^>hLTjQ^G=*mPF8jC?n6palDwlSfnX>e zE*>#{oi2=+)Q2XjlCSbub-K1ouO0!Zv$QmnVz0&zP|mAdKNp+Lp1$05hMs=75APO2 zXy3Oc=0Z4*Ds)PE-o3lB>B_XhuK)_>tyDjP+YOeWq6&kmGyYmjMnlURo`*ICf z^M5B`q?u)`#ViV&#nlvR^}sa4s<894v`Y$k@_47(jAAoa<{qEh+11#`&JW=X2 zVx7I<$IMTMhl@CyjEsE0_wi=a)ECp`gv+(N7lpJig8&YN=$1AwQxJk7S^v~FYLKVI0`5)+Ph~qZN=G!|3q;@%ALrvbF|<}4-Fij-`HSS+y6x$ z5+f0n&mV@d7UU`dCuHdhn!kqZSA1K--w-#jMXhJZYO{NrIu*0DMzk;B>r2`8eD3(q z+<#a9&*J|!(4*Q#JpQk3H^k3T0H=!<;Pdsl9e|zCR0T7uTQH)d@h%d>Ly`|=AZ$7T z$<^i^rm%w~1qAjwni`fLd%z+n9_e7T;YsNKb?pCdLznr>0+#8!m=`1M&+U0g&0?&d z5aB6EXUrYqU9FQ}NH-B45qPc!N`Ul8o@guc)~O~LB4SH1*q;(p+?GTk8$Kpc>plu> ztgNnUOP%qj@Op|i*@#xff~z*VO)iDmM5lO!B={uygxOdee$v{K@+)`YX*Jah#l@h}GoWa!TrA^lKM7hGc*`g~m|(Dr;Gzz-{?lzE>4%HwJ2pB3 z#T!>{pDhp;tN>-Co|0;2li(QT@blDBbPst@sOTyBC09nV zaJ6%Ca541?_4M+w(s6Nq;$Wukw=H-qOL0$R1PsK!s4M?TYh@su zr0mioqx~nAu2*2i(M1Ly%#S6~ehZ#@dY-vns5ukwuZy3U=v`1vJj;6GAfw#=ak%|G zri-%taIwG)tG)AU9#W%gB4mQ_2AQjc-bNc=dW;S?14^3^Bag;#7oFH3pU3GJX`-xb z?4D#3siQ6>e|KoI;;OD1Po}b1?ALf3lCiDyt%yH+_{XtkE-D_NaItm4+B^wn{-KD!{us zEKJ8ivC_dv&&bQb&En}T?Puy9KP$RSO>e6x8S0V_WcA3X18pk0Qo3IvY|;Y0$+$_% zYRO3jsuj#OntB)bD5}YdJAdt&oi7zCx0g4!{TpA+0PhzwxgJrxSDh-18o2Jl*xSi1 z?B@T(%w}*?mcqfnV4P~R;m84l+=3#`ImKD2n8UNVL(NLT`k7u(gl~MOa)^tTwVK;Y zQCnP2)yqB|090$DOak2_bP9lm04ZmG-L~1ID^i7?m1lNPq2#QrEh>H~Uz*er2f=;NqoYprNH>;G+KYiGPu8r+y`x7))lStm-Nj8={hk@~^&}j`!R55K-hv|W96G&Rfj~Qw zCX+^|1JFNdNBRDh8ljy_)&24I>`QKds;R!L zYp_+bNwB4>YqpA^uDGI{m#bumk9eS(se7QY7jPNh>-)%Ec$@MBTbNh01}^E96LZTJ z3r=78bEwB#*lAz*oMsDn|4=oMwbHe7Hq){-40d-PJ;KU z)0(sku}Vj-#;X<)X$PY`K4&!z#52FXdz^vPRS&jpcJ89h+1%a zYbR&`d^=%3e?0*?kPAkZgNK1hUkTv{L|TM<0~r}>%`2j;;KQRjbv8pK%*6v^n-zXB za!SaLSz49R&{Rrl9}q;8+053--aI5Q&NDn>68*}@Axz)Tz2ay1&RrqU%5Caz>ZfQM zK0ExGkDXhH-9_3?yo=?h;N~Wv?yVeSqbwQ2!coR3z`^pVWQ2{4W`v7}x|gvQpqgJ6 zZDkx2ooVb|qVM5zvL1@>Z3>)s-N9{KUmkW}mT>fQ)8f4f=NQah4{;OOzD(D;x%pG@ zFN6%nj*>&<`w#w=(cn}rq0nZWl&!E-Ves@cBi-@%8mz)n*zXscvQeE3>+n%{sm^2N z8s>ZEDRku9yWc9YQ#oo7JTd}Yz(Rrb_f2BX1qUssqqV!MR%9k(?Of2W6ptFNRMcne zluF65L+kgNhq$9hw0;4RG+I%eGIZUD85vLEPo10lbOB}Eo3OAFK`-jV`+cF!>p^q^ zY=ZTs-6p#29V%aj;yKK2>^Oe3;K++J*<>KnXS{zpJR*RPcp|W-$Mx$z24)nMnUQDj zklXPhbtDN?@(FX(({*z8G%l|+IC&ZcI5;R6nL#a7j2zS~B}??5xdT#czRZ=q-+?rL zEDTg>bbU+$M++HPCG~W${Io{By_Z#(jQ)lhEr-U;D)09AI6cQ4FI$6_!^u!r6sT<+ zKbw(3mS)7?!d$~l&tW6|4PYt#)X>aLHz&y9$5_i08GX~^Pbd4Jl5ZjDhG zXa6?EI+ETOaSfYOVd`1vm$^+M!+ZfD-j%_gD4h_4y|uBWpSr)Yte&N^m87m*u(9t1 zC@j2IY~xZ&&pU*bt!FRYM>}~YL_8(xdyI=i&K8622P?j4tV>8J{LE^jKVk{ ztuldrk2Har&0|p`V;ySZZ?E4lJIqB%#la!qCGYKTCmU?4YiwmK`{_45W$6e#n~#62 z&ri@-h^j&F>^xHsyD&QkYZv>cs!tuv_T4g4U}o~2$#pBjf)<6BDJOn0GPUyc^k3tT zIigWEmu&^=j+pgrTAIG z$G{yM!z%@g-QgQ5d`UwuHn!jU7|G7BHbOLlypj`G=nhI zP~REu`*|OHejk76>~r>6ajk3ZwTHd;fuOnc{Et7xyNVHU$@zv_QSV6m#p7SDBV3(A z?y2P72VeW9Trt~3NP>QbuKyBuYixuaM$L{uj*>VkfK*0x#hLOQUk4(s+SaomP2j!Y z)3vrS{g%d&H?Yvv)RJD@CM#8Mjjp9wZI&2FdU-K*64(^w&1ttYln}`0 zB%20YL_B-f!(MU^;{D5Xx+J9DdsqlU4;6G--S3APP93(NGsw9#3ECfW8M^MY>{Q9} zTU(ueVyLDmocKD)&C_48JgRhLq9lZnb|bx7UlG7NlNJ%$%e2Kaq}n*18E7YW;ab-2EKGS5R!ZUtI&mP2@?TOznlpyr$Q8g8qbC!Lbspjz{q8AdPkw4+7pgc zXKRCDj6ZdM?DRa${_L5iyVjdUoh>)cTH2Wzi(Q?hS^gEb#)Hc2}@s0b1;G@ z&eJDtd$LKKW{^}51>t-78ilNDYT3Vy=xKaaNpOW@Lj~_C^HXv+6s3jlQ}DS~>=QJ| z0wJ0hEg9YujOA80d*Y8MjA#@%Xl=9@K!D#`k-{5o5gU$eNO3FD@rDfyeVKHGZ?uKE%h zp!BwdEimjobHhZgq_eedE#U7ly5TkA&!Mulv6hlI;*I-MEr{%io}he1rzwYdqMzVc zV%;;@Db+TLP}}ti`y{4|zsPHj6Vz?=v$m)Orai6` z%=25`=-92W1;Rb16Ff?c;8r7h3`$JE|IGqFKdPdi>H;_aH*aAgx{!yy_iiZ%+=*J@3~b%~rNW^*u{B{1o)HcB@6_ zJr6hZ|16@r?`iyZ5xrs2%Z*SEg|yvs5xVDng5pIaib2};9l4UOhei_^)z-PF0`6(J zBZ`?GG|+0gr+q@{Mcs@7ZYv;Nl-n~sx#e}g8B4SE#&Wu5yShD(7iqDt)uQJf^aNE8 z8xpX!h;>2?{)VlsZ|}_s?)g1$EJ(0nEBl^Y?R{^|nzoWfK6{}VRM&R9Mb|ygTD;vL z&jo`M^cn2qZ#0WaduAti=l3tM2wUeDY4(&(NQH3-fwpgZIKsECf;t!8xuK;6e74P?`Yh^vrp-W)EYW<9dXz)S ziy;(lB76z|AtLU3_>$j-a8@FvKff~P-WN;j!ix}}>%u;zgRDfMDbtdNJ&{@-baNt3 z@?oR{C~ir#F=GUNetIvGPMQ9_#E|)&_u^&D1mCkT;zJm-=;Omx2JgkcA0AY5;;hHe zf1jJ#JGjbBWtt%$A6Wj1py#=}IaoBflu=owo|`kWN;8;~us%1G$&4_+I~6V}ot~it44JJv!ZD}(nx%BX zm39gQIn=*8i^`k{K>`hKmT4HYt;F5|Uvm#NhumCpM?p|s_+Cl@nf~iUg5i-FS?hLA zx2a^9246VcN|iQy+Dh~&oU`p7o>s@54`qJpUyZ057F}vZc724F6l=M5{Th~RYlU`w zJ(mE3TE1QXvn4!x$P5i(EBYT=VKTxt$v;npDWh6<-RP+UW!?~Ohc@kzZAU;$IgY+v z@}pocm7Pck6GU~AF5L zsnk}$kFWHdbXjgM$Bn%CwqfMRJFNZ=ZGH-1Z9y+3IB(fY7@c%MLNCB<$ym?NY*9ro zsP`RaafiAaZ}AV!1-3uxCzf9LY5r?VR)3sNJiO4GiRT0Ce$*_upJ;$vPpIa7VI8iE z4S&ElavAuL-ds#4UHpDxbdF=-NAo>uvGb40IfnNgaA(Sofd$hOa7i8Trf%^`TqgY^ zcVY^TZueV)G#4iRP@E{7lXz3K_-ihK+YG!(OWLgdc%DGdQ4NA29b12}&WYzj_!j$4 z-kjrJ-UEUlorVkSCvuJVfxw!@l0STILUX>ZOLl);Pdpp(U_U(f49?N#f{&MJ{wST8 zo#S2JzX~E;nEyj_qI3?BiiQv_emlVteSh_%bMKuOT6#y`o`qKs3K}lmM2aQ~rA>j(>fIM)$;atE@cgeFV-K<)|sa+jL}G4M%@@eTzpT^oHs zK#tgcS0YQ(MNW~VZ_QZ#?i;ht90FqeL38v=D=AOp!YI2rnhUAKGh^z zKK6O}3xaM2cN4*GCN5c27W(HVj4X@{CL}Bjrr9ZK(Jxh=zm2nWz^seadtS^q5iMZy zr0#>BOfeH*G)1?<%3B8j?~{xzLru(dH`R)w18H6IPp0E&Op}Loi8C_0OoY+c-I6B6 z+Va$lQPB)5ulC8@Qyw!YMKg7)u2}5f)|O6V7>HTx#xoIck7<-LU@VE&?6xw&bWd#* zpQE>nsp%FnVbFfA5$D=XUjCs`W{!y_+IdB?Jk6SxCMLqXvUloP4}K9GyaxZ_MLxppKPhHWc_fE{tqVS`G(9m%s{JafoYIza~d2Cd*nf=tPcr-CVw8M{vORL^Bp z2{&Ift&?pkK=U~cvo5)Pu!hUv5`vMDd89+QPIOg6wB+)V=FIq6i`;(F!_4FgOhaVk za?9qz3K^kJ&lEm)a|bGB7H~%>=8%rat>-wAH-#H0j#yyz0omHz$-f8nl4SBmyafG8 z1|@W)%!ZA1B+Q0XbfkMNFpIL)op_6KH3!)?)ZvyM_^Fa>!&V#4a1RgkrWkOb%dHu7 zhiiCHG^Ngo!?In$6>BdKLVYpPVb2XH+#7)cjTV(69r_M8Lg462(Bwo7b#AC2Frcxb z&(m`U22BCDHi8nG)-0AdLb@RbH$~inCNxWH4o+-Pz!ktTFu7S$b6DMp2bx%%X|>@A zhayn*WgyvG8(0Y9Sy{fJKKL61?nS(}G$hY(kR2{ppWywxW~gL?&q-)j+;!M)!xipX zAGVw8xo&_!pOrZtq1jM^n<4Nn5-z0)2j@2c8n_aIR793==o=hI1(O)8DE+b(Mq|5Rs>NEnmDC>$IuaGL$n7dS8g z9N%`WMG2#nrv|mMA8F<9SxZC{Jr2Ohl=w*WL<%QHBA$p{{*G~g)7iuTz48F-hcaFF_X9R0nx9HC6Wt1=Gs;zd z9FJ2Gppq%iOv)PYGV|p}b~QXr9L-yrxS9ao1dd}sU3*o#bNgXCetSf_LVI63d%N(W z#v<>c%Ob&|;^LDL%x=>n5Yc^7Rg& zfd{)~6;Rdg*?!iJ-7dH&Y1C9Iej+=`Y<-6pj|MLtC;e7BZaSVJj&1-)U{SkfJMW^^ zB85>yspKS!7n>K87svJ;7d+2^rgp-1QKOce07iE70LZq_jz8C&UPdcnPZUy zXCct&88Y`dYMl)cdTH!K z#vFN{<6dXz^7pU~+$E_YMy${_;}9~|pwLC*05TTo(4i%IPU-Ob%N=f<;_~;H!d@7c zf230+R{hTX?u%QQTc}$Bze1yYqn!&YkdpT$p==!!-}yTDzSnfre0S|gSYmxw zby8d_t;g2P)Xd>cTYMLCZz7DMBdQ}}iSb>{cE$>@Gu{-9!LpmVeTRQxg z9{wqHlM-gVWT(Cx6~@#Nx5V`VMPtNLZwB8`R4t(JI7St3=;>94MQq^6}o2=dv*> z@%PvjVvV!4SQOtU-pQ7-D37OSkYgFX$D;l+F83v=T%v5^%aQEf?A{zF7RjFY@@#7s znVy9G>Zb{bYTRC(VxoVFSWGk`(l>&LzMAqz=1uv7>)#Ws0HD7AJ(3G2ybJFwmo1aincbO_GkkYAZdi4AWSDFC*@pIpz=rz9XK{ zs~72VhO)ZZ963e9n!~&sRvQ!+4V98pEKoKm6O>~o)V4r*o7`zE7Yq%SfN?ISx+&M3s{jCkn8{8xS}VZl=ft; zmum&BPWef!SaG?TQu##2xoSdLZ49-j=SGo|bOxmHAc3 z3S_lq#ee_dX{nc#DC-qFO^ZWFr5)5YF9<5ag)0Afhb+Vr_AA`LQ#)q5AUkgDuro7x#X_`uR^apuaa#Q7dFrMrXIo`QPYBDw{wfIA3ziXw%*~V6!+c%6kpvF}A!m>Q+v*Ih&F>dEC z9%UY(9tDC5P4Z283YuJ_@;q{V8jhoSJW8p>zYDoW(W;c$Rm{G8w+t1OV^{ATb*Pdk zQY#$&Wm)AB=#k@*;8EofAt;ktXix|kuACzt8*2ixL#Vnuo=i}F7eJN zR)wfd6jFeDfFr<4SAi%)gdz$MpAdD3!20JGDzjg_b8J;xG+JKO6bg-|Zq{tNZXRzw zajvPCnJv7`*i}6)gnWS%Knh#(TfVduV2{p^K}I2CEu;RM4-ZQ{q(r`47E!B46*7&+ zZL%CzdPt*_k46Xae14@c2uLXmntV!X|~+pg}e{Lt)ffCz|AIpn0awN0Q>_<}o_)Bt;6t#z3VOyJFbHok}U2 z@(}QrTPCTjj(q**jWZY0WOvJGNiBq0`JO$u@Yaiq0li z<7MWsrSJlh0#IJ@X&a*?`~rn#o2riG@}gt=p7-Bi_-^VH!K{#3-2!c^ZB`;_pG z#t!d}%MQVg;?9#DTfnB-C8}CXH-ENpHgC2>Bts-$B%6Jh#EQ@=%3Q8ermC~Dvnprm z?o`~A>eR>-*VMBe?Hz#~_Z>`|x}(oWu}9@c?~lG5B~?p!>U&Chs(Q+K>UzrP78DI@ zSivlFf+qm@bq0WyQ;~4GSSUwB`&z?xl=3;NOd4y1Z3Eo)r2%s*I*%(65 zi%3U}EyLYJ#Fa*wwqAIYr+ro$Qa$8`e(^5z4)rboL={@(TlADBxZv_4as%Uza6J*F z^y0NGE;w3~GRLsl=68=!Q8|vWUbsV(M9F9&{Fg_Scc6EUcY=47cZ8@+dZA&VVV+^h ze8znKeD?g;`OgC*c4KxUb`#(x?NM->_W0V?@j4zn5YdEyA}$c<2!C+8LI*9oEWHeA zmI44ZKpxOD`~t}Y6DS8#1j*tUNgqoeNuMwrOx)twaw_5+OV)CucZXYC>eo_PHa)Yqu>z;Mrg%l*=6Wu!R4pRy34@k=T|E8 zUw|CDk(Tk6p_(lrcq*a>;fgp$JOQ9J%`)?aR~fL8<1NT0WCOC*vfi@UvVjesKZL*` zhb?e_#KVhHZz;%^t0J0_s4XUV9D?Pd()$N~tvKIG&};~W^W7OKzHS8<)fqLuJ_T1t zN2|5*xgvjEnHojgRMgfj5h}u;53aV2(q&CJLrvYuVZ&&8KbBO)d{CYa0+SkO=A9o9 zelhar;R4+#Z+3oFgx{;=%VUb+Or9F_TB)lk9SE#{U?KF#Mr(?~BABsy-8?%rY4USL zjEjYFSh4g}Q7C&og+&y2!y>y0yipT#1m0+t_7K0T3+EcXRIui3mBr>Q`%e3aYNktv znvr~dj?(jeL_8S_j|$Kx`}|QtxEim@cUkpEW8rG)st0VZjY8jXk4XRcS^cg0O2X0_ z6(^Uy%upes2&KD{=Sc2L+3aKzd4tHA^VlTSX~U{ZgJYjv>@R($6oG@aO)fJ7Tx>Ew7QmzEDg^FHC#~b_=>95Aa$7c$C_w zAZ1XRv!f%Mo#|hY(2Kj1BAVjw{14_BtPki6B6rFj*~c&6bLkq{wy&53-!U!4qZK*p zE3MROMdZbJfS)<_Jo(BZqGAxd z?v#+?i{wehR$269;eM@R4r}A&chZ8*Lx;lh7#X>uE~6chf|IY#1UL0%BBuLgg~%+J z9_<)s&xTiarcCW`>#+%Ko=xdIIMDe-c3M?c-fCsq3C*YmG(NZ&ZPzl5j`xt4Bv2g( zPwCWAmFQC*-{RwHd8GShh3s^v@BB&Q4@ByM*v7fNs zO^ipKT`=3<$7VdfF>eNH<{7kRdSFDsTIWe?G^X!5DLYda`NQTpljZGaUbze`YQFyk z`T0(d3fy1V2?#{8(LFs&6o@RO|~nQUQ1p+soc5#FMw)iP1gp9{mRSlO~`Xt zCc@v$)mgK8l14cnz1;B5i!BnC722TCpm{b{O@4-UVEbtM4Yp1vfg{J6JG*J8^}wc7 zd$HLLG=oCO!?n8U!gkOf99mP-WVbAY<1`NR`2pdQreNkDR0T~VaaKoberUm^r?=A{YnKYJTfqwCod+?|(wPis<-j(i4W9eHmR$2_svK4?aPzu3CC==ES`8i7{VK! zNpIX-NvEQ6WwpyYi?3MSsr=EPSp2PezRfE&dsk)FOUvxnJF^46U8~DnF|Kh1tM6r$ zgRKeXh)YejBcaUYCvKS!qx1TEqdC3_Zc(`cT|Zz^3cb&BdD>W9{XQw?#~EremYXlD zSdC4UDi-&#kowV*_~ZL37D!G+^;>PDXYlkG_wGPpy1q{^2-WUxgsIE zf?qpnitJT$Jg(aeM<1kYrlZ-A17D%+3!rh;J><7j9J^3zuqhm5(T&n}2Y zlsGRaM@pVvFpeCVoz*;TO13!rqg0M{S4h;vK=KG*;x{K{JNH)ow@`UcPAKunL-~q> zHVgU0pPZNTBy&IDUb*SUNvYV)ZE!335>pS%5gN`u9fRnqr;CcpXINr3x+Q=McV>0V z?pu(_cHcN}EzVe#%#wV}LTxoKK+U2W^M$PmyI^m^k5R99_*)F=I_}9X#?!5F> zqrTJLpUeBh-Mw%6%n29L1d0K#F>SNL3%x^#r$X?`#31dSCFDXT!IGe|NTgO*Msh6Ton_GM$L9_APqthiDFl=(p(ik3>ci~=qJiD{;;maP4 z5BrZ!1l~t6ffAKQ)x|0L2YUOj~OvlII%k?RSLrrf$P4ww)g3^3}Tr#Q<;9*6J#>e)1Yu$MqM-t)(RI z#N&xa#{32^A84i6cGPb;am@<|mXygg$Mo|LIFgoXtyk);#|xIc>o4eIe>VJS&3)IH zL~gSq)Z;aDpo zXy0-buzb|?TX;Yu_)77|e)0^A1Q85Ouvo9i?GGYjL zhcl%GXJlt1oZ@3V$O;l;JSYlaDM<#T=E-Mv*1Pi-Qtm`FuUx`Ak9iM*%e`}A-mDz+ z9LSJ0*?#~(aUIB%aghl~U!ri$#~q?aP(A{H=ufadgcVpyAss)D-yEjSt zXeT%{V?glt`#;}awnk~|0iD|l@<88GkU(VP>|`+(V=K_*w1R-Erb8FJ+sbIYMlyW z)0*j8!hY=CzC`NMg!tLrEnl*7YFJjA_T7$hU^6YH2Y&V#uzmYSuKDT-iEFv@2L2_& z(%ZiuRe(%+d)da>1O1!#K&jz(xyc;ujwjuG)=0Kj zc+4JC@%^-k7+5=&+H58qt{b|rl2e<&nh@$yyC_#<W-F^GZQ z@x&kVoAzmt0}FdR@Qa6Y7iC^-c}E&|-dn4BUdPc7kpMAyXTJOhPx66zr#4UWhZz=-ceb4wZ2;p1iecgRWE z)zTTwQZFELLO}`~4EZfvr>hL^4=U?U693fE*IyW=cK9-esZrSbXmWxt!sf0@i$*7# zc0|)Hb2pyBKMk$;C8#^H#6+?Wh+go}R^mmkd>2#CL#=DmX6a5 zg%wu1ke5w}I%&$o%DMH+BSd}fTibjpwVFs#T}wbmJe8uLj;hM#8&9>qrH(|z*mR^$ zLz!ShHP7goa5{QHLCG1PHiYl;v5W$AcCx{3&4W5Cx0!lwVVan|FhPc|w7ITopX{Ki zzJ6G($T|@Ln>>9m^zdl4UWqZ~qS1F*+po-Qb)xH+5@~p0#fls2!e{B@lB)n8=&-I7kpRX5G z7325=;?t|!?qCg&i~O`UDt)X}SR*`!6fu!1(!2up;p!M67rFe!)tWe={gQ7u9MlL2 zOE#4Xo=mLR`r0R81$4?=8)S8+djlGZ-l+_o)|TS_XZufw()e{~BR%WiJjoYer<6&~ zE^~>@${9UxPR?o>*TU-@vbCs99m$E&PMwRWcBCwduh13p`tY-KYhdTLwTZ2n6uP63 zmu+8Z>YB@mb+VDrZx>1~uE+|O&_6L{BV(LJTg)a8*Sr|HpRRpdL&2YR?++fhm2?*L2Yg7${Q9BagQXDy>9}T!KV2*D zC_T0Z|M^)_Goz6%@Q$K_#=i2mqVS42ep>Co9J!v&O1fL@F9_EK_eje#8-V5rMYks4 z*MQJmo=Dk@qW&7yuA2_vl1Vd3vH|vgkC_o%ba5Y?Mnf;nP;|{`#;7~?e^)qTe=_JA zr>Zc#Tix%iNcf>9r09)kib*qdb>df)>Rrj)&hkbk&2)jsTo;c4U9&4Fc7<~~7gf)` zfytKJSz{XtMVaqNm*a)Avu?0N)^upbE`QUbF8ts1JRheE+Gcj~e;;MS$h>BFuqa%! zQiG-)NJ!4?u~Vj2js$-gP(RYrV5PBn(7EK1rSPPj9HXp0xT>4N9AN9S1}6HdCTj3& zswixYrl-e_sw^mvb_FFa8eL}4TrqfSVKYyTGoC&h|NbySUy}dV9tr4%32RV)Dxt4zwD5^zx?co4jij?>QA43iV1=hiIBS+ zf3|z{1_wQvD@gh3N$FHA9$D2zaZ&?H?;D~I~^jTG)^Ca)g8slK>!7JO#YvgZ8OefQAHT|*UyjgPIRG@)-<`=cne`!0nZ z2hT@cAwM!&p@_O;Pi-DmD30BD8~$U!SJaIm!|i_bAIl72!PWQu1WLqMHkG!*rXmFU z(T2g(_q*6x8=MOdolw&JIQH)3`f*C2?vdDHinbdsu$|)~ZUMe{9dcq2PAWJl4Tg6t z_Fkejtyt1+v>f55A1-D%;(zgK?Vs60@KpX3Q;IcDEPm?#ZOsN> z;!S0uA}qfbmfRsmu0C2tG$9jcVtyo;cdF!CO^R^n%Z%f{_F=P3sXTqIi>gu;LAyh_ z40BHZY_5IMc{R{sDeszfF+K?4)*dqRWY?QsCNy8U@B_w~oafC;gZQPTE$2Vmp9d!v zHd*Re=icv_|7?D-ByU~%p1*>wU2j+6Ap33h&NgTDI9rw7fK)0e)wlZ&yfImaa_ltp z)uCm>;|x5HYW_Sq&OTKUN=lh*)pFR1PdY9qr&+dzE|EExJg_J^tyfKiY!bc*)W(i3td+^PXHy<2Iz` zEMkz?+fg`Jc~wl~SjW_t*csu(V(9VD{_TdD!ravdBRW4i#^$({(pC`yiJrq=?sJs} zudl`Q)_D&hr5HRbO8itimHfM#O|NAWX-&ze@mtr{>qk}GU$c#W^MQ{Z}wOgB662n`)f*rv0t`^G+#~n^bWUrRwu-hKmlTp5_(^Tjk zaztvnP~a#2o>G@ zr5pXB8(83Cif#Q-P*kLt@#0O;9qSai$uAfVFX^mPY^OId$c1IP1R9isZA+=F!_{VA zVkDhYOcL|D7h*}Rejw95f}#65AGFHT*0C=ms2i0Pcv1AbrAL2fOu&oR-LRBgC*T-U0EVX%a*U}kN7{I^y$1db>A&4r zh`7;q3$y6+Ke+6Uxs*(|TSf3{dJdzd+wrL=s`$IMH!RGSCRDT_p}@;{?q(Q$(3}wn zxET(vK-rxGjP6Z5sWTehuwlqBYQORu zJG49b`F~_361zeL)e)&>f#j9|^%KKsO6xE0r-MAv4ml2#pCgTp216Kf&>Rh#Bg?~% zZvmEoPoi6T4cAFE(~k_0vl!JYrcn^Pt`%rzaTk~mK!>|w7f5B3{bpq)6A-*5@G}VB zGk3#$j&d+T-p!GggGqSESA>e}|8IBh$;zONhu0biS3N!!idgs#e2a*W8;uqs50%aY zVM7|}P6v{oXbt)hq)l}9nS|&K2}p$~_%#=R{&Ha_sRcKnA1!wtnRBe^iwJj|$_z#)l@zmwt{$aohL9}FySSyPlZ^nZX-iGc=0##gLMCK0{AD^=D5gMi}X~1 z|rdz)v3(CtlO({43H859%hL4_W^PyD9vJSzz#s#QqBeGE{RC zf44OrBE1IlAIXkE@)4b|@#|QeQ%}Gekg+)TMe0Bh70FO2{~K=J>u3H;sPz9KnC}0? z%I1a}m9v#D8C2K70FlzYMyiDiKtgqWV5JHi-$B-!)7)S^$VoWY-)*P=i8li8Mzjc$ z$BCVg)0C05EWN88WWWzNAFa~!IH9FV<^9JC)M^mx33Jfx(r)0a9YYr+J($P3U><|x z{fAO8k3SwXmx7^~T!9+l-?%;fNyBqy?pi*9o~sjbw5p3kqV&(<7?4n<-DmA0Wq(On zY@P%Y7aU6_!91Utuf%!{0{?UkYJ@ZZh`#Q0+!okEY z#XjmVsQp)i=naWrxwc0^dgM4qS`CgA$&DPs1UGC3T}lf9i()%(F*tU$x8>gVlf0Hs zuqya-3`nbNU9(3*L>Zc8&ut6x6)EuX-vU#v1%Q-CN&vZ)chd#X1JxTIpQwx^1?AOU zr}cx0#A_<0*k-3>2XVb4>Hkrba)Cs-{~O3gqy96X9UKabKzicc00D%3(byUs48ft? z8cYzdD%ak=;S!rd;VsQ;4Z_J=me))wc?uHg+x4q6ks$3M)A+^{pvGq6zuRfSNKk

X%lp0x%G*G!T?!sJEMOat*jPI*9}8^I0cH@RcrhZGUzVDpdB zZY+Ppc+P#J4YAT0SX=|HL*bpaMXHCa;|AA28MbpQYubZ3hXh9Rf3UVQxWy^YvA{cje}sl64&eM>W}2>^+_ZoPymv!>BfJH)V(1R84H`g z>9$93BQ}@)mCc>=4ajgehHcGW*9jOWG8m8rs2k*8LhTLwj|kL%MF9WC_k`nyOfcRj zI5(i8;VN1_sRh4=xw_^ngZqW}o ze$EdI(+W9$4%VKb5HKqP{_l3oQ3sfn?SQ*s2bh+_-Iapi`VX>VyDrujUZ>qGGVNpu zhvVRMAZd{zHsrt|mM-P^IXLpuT_{+gl;Oa_?B__!h+ttK8#$f@{H^hU_>Jya@>bjr zc95Z{z@A9EhRO2*3lmU4Y_}xo^&cnD{>R97*GB$hqw#)omy|J>6=m;`{Ni*sq`#@K zU4hL{3jFH#7D3tV9DnV>kaW)rOZuRWSpH#f&H-W)bN&2cBZu+70s?`*P5$)qhRKYu zF!@Iyn~3|*=s-5bIF0nsKDfrn%prC4x|&ua$#i{`%K{uZKnrD2|Hec`{%?Wt#30ph z)}X}T;1|+;MhB?h@X+DAKuvAA>3)g(_(DjBDqzG+s@Zh5$xjQe^ksPRs3_p4H+F!1tslG701sn>Hcm<68#?ufNK_X zB31k+Lh%-F0#%ZD^4L;NtP;4`S;U-6H_8Bz!6^N3MDyWZn4f+a-3&)pphLueTd;0!2`1($XbqTH zhtG;Q;lMT&^CRW+31@XBO}k^K;~%pTwGH48Q*vL=PkQ=?FZFy-+V1iKVm^WTv~Kpe zyWmf;?}c6ZPQg#S5|pd{aeBk~v!8W&iY~c!a_SRB-AC1`seOh&>zZhU^7~ipR%VFT zAukl1Nc5#NW0nRk@9eu9eh%iBNIPaYUxS7|T6Z^;5QWLXiDkMDnxzaO)ZznY$UeqC zH~RqBoo-)u3b<Y}3m-vw}GI|Y)d*yDpgyS)n7!BU4=pf#234dVj}LLo?R#=!V93@0rWY zoEZenZu*xO_W$Wv{a=Vz-3^-$|A@^m7(ICH{QA*rir20SvUZC}h987Z4|0oDbHIe;(PY=X!04+NVM9O!8T1_WBDTDT#Pl+y13 zcIp}gm5<^3Dka^lJ|BV&UTr#SGbmH?X=rcaYu_L287zF+gjx&vJpsx60Sq zx0YH9|8$Nd9`oLMRrXxa7*-KxQ{CFE@y5zOH?GL`a`auA6mMFLLeO`pCpnG>!zWv6}f@IUgKliB1PC#|f79K|7?jnh=p zz)@8UyRrNTd_-})Xitb1o-W|f{&>Kv)$Gci%D_Ar{1S>zfhBkkVP9aES%Hm-kS&0{ z&JvT6pkY5ub<)Tbqrnr!@)EYEvwudEMMJ?f-w+moO@$5h8yzsYD-JM;rPCkIT0dK- zUsug;2LIr7DjGCt^tfyzV0TMLxES@opJDkQrFUsVC# z7oq4AT<{k_WHkBitruor-qFRczl9(#Xpz?BzPG;BI^kD>ZHr-xwN%^_nFxc16=91| zBd`iuI(hwUeJWpU(v8r4NXQF1OaZ2bChWX13IoGtwEIQ&R~%$l+YAO4txQHv)S? zA}*rMz(2=H+m8piGSk_egHzExc;T}u9KAUD$lHUD(% zW%rlh_GI2XnReA#LEmNGhEAaFX?! z7tq@gg31~54-av-6$gbfXfRstp4%=owVwHY{58ycAAsF+;ak@qgvB6kyKt>El z@dAqH`2fzaULp&{_Ph_jzh3eJ%H&A}=UKOtg_3&Sh2yW=`L^I*66}dAV2h11ZrhyB zas3j?u#*HdHybSAfoK=d0+=by|D)@@1L4}fxAEvn1Xr|Zagz|8h)$R!f*=T@hmmN} zduL80!41*FM2}vhcVVO;h(3B5mqf2&X0#c<5TUW<3spEd=LH?}iL%!?rdzLxuqYb?`{jD$v|YAmK%gYE&o+zfFPOfUy9v5ijNElN9PF= zKD}dzKe|Ga@GVa{lqliwe6jBTTY?=)0*^3So*?1kRUUCP6-ffWrcxq_!KQfG9r>1v zMS!4y-}A{UE;P4oH@=P_JLVJmI3(iE!!o>@z zSw(ljcPhMDgS!9g^%xeN+e0o-SED@kp6u zFPxV-K#Gu$q$SLWi|+}V!HVCDIf}_mT`ZbyEaR!ek;Zmh1IIyNu>DX0KO$=*Qz+4D z(_54ELcR^YvEQeU$RPOMJv7=8o&WEV0tiF3MVioUDr;B|uoUZ~Cl88=^Xv&cxDd&+ zNSKh?ut+30@&8|=ow-Q7Ct%@7D8a~R=+N}+P7phk*9W3VwY~~|>=SDIkuV6v0SAzN zC-?s*&hgC~;DpPC{aV(-NfPpK$+C;_zzLH|!FG0c%>6plKYa@&SK?6s>j6%?%fE`Y zUDvxDG2Gn@pkxnEeVRtiG?p`LK#TU0A0R?qYjS&~TIw&|Q;130c{` zcY1eC;{TE;K>Sqd8oW&!u`JCHJ}}JgC!W)%YfhwM0fJ~cQn3)pN38!Bjx!2+5(VU8 z2tP;>g@`)QSZg7DHlAKbOA^Qe6L}JjT>l3JolMfl@FSg((2lyaG9Hzns9x}X&|B0; z75>X3HKSY?huo7!zU3&<(tgjrCEyrlaD^;cPwI(e)5WAO_6RiJ$y<#5pBJqOoz@5 zKhi6`j*gH5J=#W)B^o#hI-i{IHT^^se|Y9F!A(~BFy#4)JORG=gun*qAlJzBP!2^) zQb<=bi^Dm%6f%}$P5o0F5;_8U9OxK037{Kl)do55!$F!k0(eGq(hg?fN6cN#mdp&cJR(PZ(9q`!b-7548m-%#s-o5e*c|8X=b>vEQ%)}fyDU6!KO(5boe zzt9UM$hrG2Zu`Japp~fO_Q!hJ>;A1J%5}QA1AA(w73xw27*mi(XIsea-lo$2-dxeL zMYcm_@6Cn3VO%)9fNY?{5re~F~5-*Pi*-sWn^3Al;zeOJJ-X_^&)T^*^H!T z$hLS8vQ$-0oodjZ?wu_y;D3B<33?V8U(?OUyhZ{TwYwF~8LFG=#hcNNmK_RNQ@Z-o zobjK9q!OnFz?N-Mb#3v2PVS)rM@Xi2lD}>9pPrFB4P3JwLL)4uv4J+CsSV?KEkR0a z#iB1LovLjqoF3I=vr1L_6zmNvH;2~cPFmY5+zeTzpNtaP%JjZ-G@Ri@*(VTAKiy6} z!VS1l_DS6wdE|7zi_Uq*{JVplOsri&je|(4hGa>Aly%>1mkDb$K1GV6FFz$%tgpXD z$hDmy4w+IIyxq9$>*jXN~EFPsSo)`la>+|+ouYb(|V^K?*4 zl#ZG5e(D7_v})qZG>`>D!f?AAP2MNfD+jj2=hL+$-#ty`w&?>3Wui;KY<}b`!dOR7 zQ>3mh4Rb@_TVtkAQ17umv2P%tKW=%%&4HoxW;e#M9Y3y;A*xtbGG7hR>R>G zsoUx+S5$@kp@If!YNO}5bI)g>L=-?-`f5eMgBOVEBALECJ+b?^8~2ZsRDGV`oUOW! zgj}zMnm(bi8wM-{NIi9ha;N9fvFA69#{xPI)d{W-`kE_AV041%6Kh+2OU5-G#%6r= z%299LX99_oqpcoYqDFu!XdbS2+_|vGosDN?*WNUbiuHSQr2eLSS)@5ra@Ca!gi|y( zX>h^CzymwIV?79TjVJyP2?K_~FNo@I#A?gzalvdO!tkjI7N{|Q;7|Eqo zu~>uyr@eJuf~8Y2j*-xcvE(e)_8NJ#ZQ_zMF5?J5gOyb4N1{qj%Ce#=3eOuJGM3EL zynrQ}!sQHC7)zRKngD#!TFhg<4AGN4^(5~%CG*ayBO-rdL;-ZhdBgfiDSOjj+~#YF zj3t^i4xQCM6zh?G*Pl4pjg;BO`#BeHKPVco9hrG{)<)Tmq+fe2^zA&s*=5oj(*My> z{C)`k{Uj5aSvSe8>pEaNL@sTsko`%BY7ywoV?Q!0^;)Qq=%F|nQly>5l-3?hL9l;Jv4b-tj%Ka{z&INuyrsw{y4339qd?n>}c>Q>mG{{*x}7wSG?8#as6*1 zJxpeFl--+~5TNjJ+S<~kW_m&Z$zq)Q?qQTZ>TQ26X0c;goM4QNb1pHJTrnfSOQ7-C zrRFh$u~w0`^fPJ;Cs5503$h?p{B?Pq02;_x;czt2hTj`E^LE(O(Eydc{v`ZY2+&O#YyDrTro57#rYaush)xBQCe7I-r^}hU2AY+*;mBMb& zpDEu-S#w!F!tN!z)EuEet9O!XUDJjHTurT^8>5?gg zHbA(rO_R)+l2TS9cq?bA5MuM>g84jgSRzt&5va7EdU_UVkB5L6zY{{FU#VMdj@3iG z9SV`MXaDbZ#Fi|(_iR_u_V*R#R031;mi0cn1P9i$o^_dLPx*CcYdTZpUTi?ty+zCZ zZX{5!dwVH_Iyy++8`1qSNbBeEC55fC_B$|AOi=$}$6+UduW|Y50~d|~Yoy_}1T^<0uUm!H#Ff`v0W}FC z3y%AM`_28&L0R^LT=#QjqJM)KRm~!0z);UX%8fgY2GOl?o!!3j=EBmZCk9X>MW`hi>>gICx#E|8bbVZB z#D~J65I#8I_$ka=JTl;TpSLdP;4tWTpR4Zp;Lrf|w)N2_84M4`a(f)aTj!uiQ07;x zlsr|NK~STP%zWrFr9%+udbR6Rc;-J)Gn?`kb^MFxOU|EfK`o>L&TS zAv|VQrkN&P?KtS-=C+IiTj5YJ;4RLLQ1U*}$@OZ1FEvnkD~lEERl&=X$Q5|Ni$ANu zzlK^rzwB2h%ZLqD;0cgwV;!_-9X$L|xEHU!=metVN1ua_KHuSh(yjzE|E~@Oox?9l_NSPqc^MV!SNC?K$i19@2x5@?M(ArO%CE+hUs5pO(EFYsSIoz<^+ ziZkxHOjVF`^j<6y`#F#!vuR8gZ5#H4ZAraI``GZIwdu9dutV?Dfn1zWUR7CKXJ2sh z>GBYaW!S{%;i4Tr&~e1Xl3*2`c9>SIZ5?n8^poaD!KR^R7{_=D9?D^I!)DskZIL8-f>iZc_8_6~>< zgR?=aubJQ^1g`e6T_lk8Ku*mZN2kdjy~rUh9LWK6(Ii*VQKR_6$X`ga$Je?R5DO{kN*Brz7YoRE$mc&DER%v~%$ z(PqqYNB~w7*b`C`!uY&+wcurCHoy5w1x#(bOEirvs#6n2lgr9&(0on;lM)Hi@ntDC zqP$LgrkveV8e{jWbrO8y%Q$JvY@$!Mc?2a!G(F5iseF0Oi;(qsry7i>JBja3KOUo^ z4iVOD6DZkj#n8$%UUFKI%69T&h->}n^tL*@NgyF#_~-S?cD%DK{_DVd?LgL0D%Oc1 zyWb`OMxloLSvL)ujV1vj@H8!*25NC~oyTyXfm(#}YqM(%{AUx0Gzh@2Hc*R^`&E#x z8Hm^7WD+EYwnDgNGqo5nt8%eE#M`{GoYTar*#1kit5t-k$v7QB4DF*JrOd+hp*rUpJNQ4tzMKRjr(WPIP{0^O~3Q z`sA%{wTCjA)e;HOiO#QV5_!|EPfB&$J(SU^mQUzQbPly)Pp}0vlle?zY#6(rCx|9F zr`QPdnhQ=kc8_WLezxJ{o#vfn?XK6TSE**=n--iDOxR4=@b2z^zv0~NtL0m66U3(o ztqw`B;5BWtfomEGO#V*Tgl`CSm&b1?bkjfd&9#x$@-4M#(DE&`@zd~)wZUp&UfM8d zVE(a*)xf;5(bWJj?`#G%Ft2RHH87Dj6&jdu8#fJ1jLo(NCe(&U1M}7k@}r0F?M7;L zxMdUdMFMh(BJD;B{8|(B75Lvx)J(QZ(LiWY-md4;w>P+NQY zu?yiD2#^`K0p|>#ZKkjqlv82p(ZFvC6jxeg}1UY7Bsri(GL^1m9D_IoDU-(i98rB8 z11OHmEx%fy`Q?zEoXwgolRcJ=$@b0G$&Se`&lby`%eKshWw&LAW|L)K%l?x6Z}zk7 z)oh1s)9jS&rfm6as_esT)$DhVT?P1=X;oFa!jr>|-XupDg&Bp9MZ_?;Ty(kQLg#W} z^Slc~2D5@5s>p3zcWht~yTY~tUol=8Ujt-U{Z_DR4C}gU1M3xQZtGdAs1?X6g4W`V zs%c1Kn+ik~VgNBl6+%n4$16tM#=yOFMtFv@hM|Md5!4X4D1Q_fi+b}{y+EPcnC_tN z=)myaJ}sIYr-=*1vEn|$5cnc|Ej|a|j4#KB;WO}2R$u>$5vXt*(nb2M+OGpa;GRME zaYDG4uu>Qt{}TTJ{|=vk565TX^YN|t()sJ!jXAH{3?Uj2ZHPKV7hwW!6J&djENuIw)3h- zXyb#Y*UDMyR8@u^)iP#0U>MT9#F+b?QbPMDBl~rA5fT;i|`H<;8Gp^&YgxMqJk&dTT4}V2kcL-HkrVI674p_La_jftCzh*PAaAoLzEtACq zaf!Q^n5@6^N~ru~O1XYL`R(ZQ*AsmGtU(>BIgg+6(f`BNLA$`RTkUW0`R3eZw@AMZ z#RZC8e3oU_Tip)$0_|=zcvQ7`8x!O$PsjFx>}$@SgVAyEc30FUD&O^}@#UuKjTSi| zZ>?Rai#}3Q%1s*@1O~!S#Y(I^x5P zpZ_ks@Om%b&*h{e!JjtL=ddK=RUki}ZY_3eIjzYqhFvmuscK2zE39eescpGbL#p{t z?j_$n-n|EV%zHL_QeNMgHlJGPv$)j?As zo64ATEeNHFtAGtdO~jP-#t_CoC|#*L^M!6*;e_PID(1f8wB>Ui`-&RbY5s}ADf`I) zOqg$INPb9bNL0vR8w!TRBk@!CA$;Ej`DBC6{z|Wne2nI?e^69NPHV67^qdp8R%yz3 zl4iqvvt@&3qibVe!)+sL1I0aiLD6s2ZpduNSYWsCTP$ ztJ$sx|K8sKX+YEg^-)~^PUy%hj>Js#Zj556gVI_@lxOE$vfP%Z;nU+2vQrJy*a?P7 z-3jOfY7!y$Q-Z5Y&`rEP7vmWe-8wYqn&q7JY`aRlQoO37vZBtddb@JFj;B7W7Ez06 z0DOSP#HB_Zs>1k@L5Bq?-&DoEbR!+D!cQZetE>C&M{=zhcpZp+oa7+;+9eM)#oTm{ zeiQo~$uB7jk9-RhN79@6x$HwFQKr9au2d7?KkZA z>96aj>nB^5SvFeMS*BlhT^3tbUbbAmw@e0}vRVacyAot)lD4od-5O-}-cp(!AO5FW z;@zjiuqrgQweD>9rGgsgt&qg(ENS~!b-ZJd`Bh_O^ev%wQ1R;K4Z4zfn2my;snQ$} zK00ra(oIv-WA;92+_&o4R7Y7G=Caer);v5H=>|O()FRoN0Jo>8ntf<#WUPS(T0o)}v@CBZJsVJ8`>1!<0 zb+vzKs%GL&p_uu+_cPjzXCmKHzOc$OCa*eMMP-bbCMOP5XK@f&H})EB(`w>27J;_K#r$bq{Dlimr~7+ZJ%fRgUO!XaGk6D48y;8MU&I>%2)KXv zb0=Z(8&2-kQy($D?Hi%F@0a7bcs9EvewBC$2Jp~w72b*cb>I)t`P(={tNZxDJn!!S z-Y))QkBd!fPc`QX$qNMsZpbUo#!CJ$T-N`i%p|83aJ74P@)QkS27~OJf`8pzCYqdz zpZp~MZHhO5p8xrnpkoLMoHRZ9oq}hAUiwK;cIVjb#5v}V^J)1q`Hh~vhcW7>3j-bR z?T>VWFSr*Igm&RK{X`5h_n_F{?JNWf9&GGfoqoU^&}U3$EDS1XTjD`@Z9;a2=URN) z7qvoK@)y@ncNJw%D8x5gr_awkS(_H+Ms0M767mBAP#0$k2nqT^wnzzHXlF_SD*)+^ zRqQ4t1iQV%OvqRly(s26+VuW&7WEwqLWYtj{x^vw7$DF5M4*s|&1jb^z!R`a?Op_m zfxSgbk_XKlD8YmFq%oFQWj1ngLb@l<0mxEfX@CAN+~xUvLN;s%RdGZMIGMOH!Qvuh zi=SBcr1nz6z#z;5s5@ZV`pRgtd7mDvm^`fY&n5cf(95UaIbX^Op=y2|X!l4S7$ce< zKsH(DKlNaR2oR>Tvt^_k}+WQ$k@x*CW=@G?8x1RW^!Vh~XWz;h5v(7|)GdxNM0xO76)p^H0U zC+dLEz=%5FuoIFFCDUg15Ow7803;m)?NEY_)6v)nQdCZ0$Bz&;Dl(U* z$4k&-xudAK|As~o+n?NipV21XXWNv6k2BO0Fk*eNH)Rc%6W+AeynHqq!0WK>3{jZT z%h0-v>8C0vCHNS3#@Ys$5}kU;dP&fiSe5`)A|ym6OoD#%AZpeSd#5MjyMX8}pmZRf z)l*7V%8$KL;%WIURyshNXzxhoM6&OS^$D;bLThB}L}Jj9XSMj9n z+${0Z_&O&|C1XH@nt052Scy;_WxYNTs^gj7ks(1;;3`(o5hw?jvF^|lF&|1_l35K; z%Z?ZcqVgq?weSS(TqQziN({-Wf#-NfnFLW`h*tfl$9}=*AQw;Z++8TdqWU5VvG<7q zFSJO_Ky{1m1)0l7S`i8nnzD0clx5^))MaF4R6rR;8IAKfXG-Tw&KI5Ooi8}kInz2b zfQu(DZCu=--?#vt1W&ucz;&MM64ym8daesxbX>Gt4C&|7FQs2hr%%6-PM1!b&hYg7 zQ_828eo`-y=eF~;TZi_Bc99vAjh`DQ8>f&Zm!-fV;+qCuFCY?&?~UhQeNO%)!u8?o zv3cra;A5J8!wI6o;XZ@b>=)=XFIDpm^zENiJ|7FUTJPYm@(T|3YPMb$rZHm;3@A3X zWx3m{QXzom*ryj56xM2$DJ3^!4>T+uw;sJ)dcQ&p9loytuC9C^Xnm5TtN(F4IZ*Os zl+Z{D)S4n^UP0&2g-f6N#L$|JoUT#(NS6)p+(7Hp+6oM&J!}bsYA z&+Qs|?mZ*(%BQ@!*g9$#s@7;EO?CZ8myZpJM}PG&U)-nH=jm5?<@<6@V=Z?_R!1Xr zPIb-Nf#Kub?VIQeWr{CkSCsOUQ_z%~WUX*y;ZWwiP;g15q$zYzdGJ^xgnpf2is9%S zP&`nm6iyxzhm@SK8oW0c@i0V!^P&Rf(XHa;!T6WtA#aem&b%w!lksQECmSk>%O~TGd=+vYe*~BF zymgjY5m^COKHg5FRiHV#Qw(h9+yGbjkr!uuVSOd`GV>a`X7c*rrIi$Yl#2bii~Azr z8nv^4!$s)pDN%a0Jcr3k<)oh+4XA=oA!hDFrX89*o-0X?l><4F>JwD|xhgz4e8dp6v&= zRaLLILK&YQiucrL+KLZ@E=dS1vGY&`y!0$RA=&i!1rmw8A+u&LP)+i*PUrZx>^^X%Jnn z|4L6lyDyfuJ```B6S4^!N(%-U2LvYnUfBJky>u7jct-im{z>Hk|96}7JraqvKVSUC2; zN_=>oe8B?jj(RH#7U$wW+92um8G~uD=sgl>?Y3XWF_3Z>8 z$?$_J`0Q)42Nwoz<-RXMP?OsyR2f-zxpd=n``_WZk^@9{5{vWUO1+h#Y-PLtz$?Sq zc6#&5k~9w1vNghE%+m%@lTq*q=Ws32f?O-S7&?m1tepR(Lch0o9uo6s@d_knZ;=wB z^JkG6qO-Sn3Br1+hUc={1>EKa_D*fvc-W3S;(6GPC8lGWVDFAR-txqv7d;_Ym%9vM zPZzs#k3d9^Z|( zd_o+^hvJ4lOS>Hd_$O9i<|bC5d?Q?^0nzGkZp&WrJtzzis%+Op;d^8y09%(kglDuO zLp{Ao+rte){%e06%KW+ictWDi@Lm?)qGa$U)=-CBUcCqSKrAzh1U|K&PiG#VV>AG-SBXO3~piVf2U< z8%5LcNCGOts#o>2jFJEC$andLJ04YykDiKVG7UsBd_P{W-i<#nJbC`)Ru5-Jv`*(G z>t;p?&*;SHj83Y~Lx-S|KR>|$%xCulcB6zwW1$EVUZxG{p56igFF`B*;)5t0#71MViCh5HBh7MFy39r9y{ zYXs2nTT?`*yXqL*zmc3t`Tf)Txejvjm$P@jcfY%skC=z6udC-(kE^~{{jOSXgkz_; zU|R!X;o!b$l2@i%lB=}n6n?j^>}U3a-#0T-8(ty9EwoS6S(j`-^a)Euj9ZCSbPa>2 zl&3tlHj+WUNuu?!{;iU05;n+dB=NpmD9i|`>B(07aDKM?-Qc}s*5;^`?3R>#^Rh_G zaKq8kO2@l>HW3_Zr zBImM`h^v+M_r$Vd|43;j-I}EZ_Obh)yUZdPOoewPom?i$qV;0xq&X^m)eOewUi2vd zSGY~pt#7T{ynB`r?NAmK|E-y$tH!m{XlxezLVBy;S}B^-RD6+sY}!8wt)ZBR)>ee0 zwOYc_x-HRk4_ngc9tFkG-8QfJVh5G^&NUF8n&SMSDV0uEwvusa)j2O^KrJP{l8Ja_)0mTUCYnCYE#y0^3A8foS?BGq)aK0PJ-5I0O)R+UCbMjPtNylV zq9YgkI~-*dzY`?F0q!sN6;Z|KYg&(V{TWl&Qf-TIub;{6Fp^`L^w9CCA1>}S0^~O* z91Cg97cW^mWw1MEFg@#1(1dRikh+ z#57enN%x>_;285sq4eIkov2aT=rh2_RLLky+KSHfhVLb(pQ)7vW$aGg>5q)W_cX*jbnuk45{~E1BqyMWO9NOrT@2XnTr@yE6aK*{MuCmU%~Ke`DgI zOk}j3^@NE`Otd}I!~>bP+I9vLPh_IC?IkB3$wc+pc}+Z(iS4teow%R;g|+GtQ2)WU z$~pO)rz!Zn`<>`Bt;s59cJqFt%EbxI`p8dqP7`MJG28=VHFVB5roYS7h&l^Tch=W% zf7w0c>FPS}W#&HzE)h8rx6Mn=eIayZg%PvSA1_agG(@9a>Kco+{7 zh&+f(!Ky?aC{-JYr-A}S;*kw?BgvU=_ao6*%m{|Ad_+WA z&z^>axU$sKs20NL1)MMHBBuWITy!I$+UbR4eWZqYyE`yLm>2ynADR3J)4_}F!&PEq z?{<5&2Z2#uoJNF)1YK;8BtaFFWn3gksJ-M2qAojgr!!?FB+MUUSS7A|$9URP+qGJRwAaK83oRL97#EBxo~~`wU{7 z5F|kvp%!Nl%Y-NinhjMtgP10SNlSW30n+hI)fPH&V(g~8k|8aa-cAPkoZWbOuXpDsn_+4PZoY2Qf_Br-oqAkl1c3%N5W z<9~&G?Jk+rONYBmFUY>#Q5Zm6sK*m6nyTl@kEIh-q%6XcYv$K&WoT zZ)I=AW@T(8YvpIfV5Ms%ZslghV+FN>SON3r=I??pY+B9#HUAiV_0N6&{QSdtf%zBn zSHPDz<>vk8Dd)i_lk+z7%=1s?rRKfC7ds!#i_AOEbIm`UzcU{^Pdj8@FR6$&vjF{-PyPpO~MKP9_E-*~z4Vk1W*bt7vdz5g9|C3gz<8}3Z* zlJ2zNE1#V1itaRztt&&WzTqAJAlB6X<`;E9dYXv#pIdbcGtZKLt?r9^SSC*R&{uPZ>?NaxSgzJ`Y-+%WF5a)@KPtPPOF3kk3PYgyZbr8{kC zY~eFi>CFJ)DbMtVXVScG>ZacVXpFS}=)BiU_j~5UyRA0a5x`)i`^WOVLpt^u9q+cf zY1iSov4?-|)zWwLY)!j8@*?CAgrvFEyw#!2~tS&j2 zV>2Xuz{-U$OI7_k(7#-XNf^k@y}V3oqTVgJa=s(r=DJ7#EB7b4foB$cv4inZdso)Q z4)qlxJ=)%(-v?8156MBh1GU|4#9=ZSRdT34KurrKmeDGQ>h08oDQ9%c zp}IP?V2l}~as&2Ee2Dk`?&)mR-3d?~d&PciO>qKL)n2*3;@JovBBuP69HiY&6L!Ob z(E}!#CVKeE+voe?rgQl(zu~0I%YIdd2`Cj~?Q~QZt0w-O#XS%FU*^1rH@u}g4y~Q5 ze(4S-u`KHXRnFa6*`*@=S=LPnh`Yv5(-Gfu5)k)|q3MXuPv9)9_?!Cuh(>a%wF8H7|l;<#)n$)6sOCZKFCH_u=${~Cp~t&j zATO|Fa1#Bz(Qn8t8@xKXJCt)E+;KZkGBQcvVx;uL)0F2*kr4ti1qUo0$;_zSiMdz{ z!L|og4LmeQ9*sO*`oZrOY$6#9(lvHrk$Zx3_dO&!gay?Ew+b6)Vx0uGavS3px|tgc zW;AwfB6|fgJt|k0TLiau7pa&l^8GKUZUZ>ugIzPo+yjp*9f|^&9Dnf+UuK?yiI)qB z%%zWm=VB}LYX#fD7ZM7uNAl_H;s9}n>#^F2Pzj%b}8|X$N`B^L~=VyXP$?5N0;fq z_`=CCC0>hMT;XR^X8R|~%*=LS-kp*QpN+^Xvf4TMcUUicb|K$>-`>K%qkJLQikv68 zU7dgD!i8W*@~ouxW&WL?lt5-$JN)L(;^l)W$~K8mH?4Voz8#ATCuNkGgI$MI7w$kp zp~>wPn)BoQJ84V@+!szVDe+e1fJi7LqaFHizT)Oi!{vkH3nz(`cw6#QvCz}>b^!9T z?lHM6Q)60tFaM6vh0k{674Y_0jrl$%|1`=uiBLbS`BtWbmz2sp>-sqMOt<_mA`NHQH{Qo@uCMaT8)Je8s!BPvmHi`QIt zsy}my4+!r>e!gAtwe*kUXN8Jxr`@T~^cB79d(@w=xqXivQXW+vQ66s_Y`Y|#Ja-2v zgp@&EL&_s1k^D%A6d)iaC8Z#BQ%XikOiEcwTIzMTIPqbG2(F8htZR zvbAaMzFTp_@brocnsnZm#&((CP|Mov{?$O;R`{Ixb}kkeIbNsO4?X%jMObXLq}Ia%9M4$6Yi1xtBGjAz$dZb@y_|+ade&`VX*WzeQ18g(D>T={vsNkQ(bhu zB+@abx$)kST9t+~tNC{$90g7VcLQgQW2(}2W>X{_rn~#uU*ogT++S`{*gW96G8^=* zTL;5JoB(iJO65wyzgNoRUEfReaIi!Rsrlq4>y5v7A$2=Of`e20ot>IjZrIT93)@v+kI*3D=P1@J8xMxN_@TI^iHyqlj+^t&PUcU5~v@ySUL5qi>qc# z9LgldI62=%ciyzFsp^|>-MFQ5OGipaLPxS+s$ZgC8o;o#al$#^?8nh*@6w{p-RT|wN8n1K;XpI8rP;#2Iahl;yrmoT_hxo&#K={RAgN7>nvBVzjpx3yK`9hJzbxJI z%9HO*w*hpd?LXA?1=!WIOTa&XhqC;XUNZB_2>9GIH{N?-L?K;c4;kwT{-MaR==(@|g#k$gZ$U4Qk%DVMB z(>h?VF1hZt?zFDBuD;H;-f)Y->EFjD3{jOVzF%#>{{EKqRr+h)H}G)lZ_(dGzqx$f z{Fd?6;#+GzmVx0S16}O-SbE({x)*dA1}+ZJZPR73DMNzq`9lx-cFg~6__qB9MTg+Q z|9$f8Aa|$hU-7Td2n6lv6?})C?++R0Uf&H*Um&36mBmoGjckqil*9AJoZl<`I zL9e4;m^d=Iy0!0lq(G7WrT?M*JIT3}Uypq36!+4@bP5tTMLd$_yW~qVeERL|)4X2Q zi~#bZ^1YLrzvPz{*%YYyfA=T#OZTJuMf*4V?=4?lhAj^@wq(qTxf(a5P0wzwf{R*O zLT1`r0l$}ugWSL9eU}@(W&^f@{X*0J74wvw?Ql&_TU=^plwIqb$=|Bly6xB0^3`Is z+|#(lX{K&#cPr5Eb<5D~FISI-=INQuEqVa^0L$xF7*rh;+0v`jr!=ed4XrlbFy)`? zxZ7)vMcd8HrDimU=|9ZjD*V zI>*;tbtVwr!0C!>L57at$tzrqDd*9~pECBQsMgv58({)TXo!jd|eHG(HFYGGh7#U#P;0o}!uPQiBi~M>-I^^I`WM#!>`L#v8L0hr z%z+nd5lWDLegVaM@+IaFZWIP|=S$2jpG;#9oz|Y{b>b?eaR!;s4&C~8QZNYI&m};= zM`LV3_tfYu3-oP=aqYj@bF;AyuuI2PWjwuykgP5BuGj?zr7+yJ&LEvb2(VJl(+9!c zSqd?J@?~5UG6fS!+}XQ^C}HauA3$tY9r65;I{AQ!*z9Ux!hgf0Lw=>KQqXdO;l+=(4|i(;uqnhX`s7Dh+Bljyo

^IqYN@Rspr*%q2vnwc)}piH*e@masw*je#ew^^Q9=xomZOF|$3BHKVdBVxcR0I=sx>Y}^8Xr~fo!n_`=Fn+IAd zn%!D>nzLGhMwy@}Pq!mtupK`a$k8q1Bnfu+TAVrj5!Sgf}w z_qd*oAGj3iR%>aM@hq_v&?Q{?L^=jMXzbycmd-bPft`&&9vj-0i#jI33`vppg4){7jGKC4wa31Oq$T;F zY(;0Wrovbiqki0nx`NXD=wo@|ZCLkIGqmR7R)cpK5Ii8%45`L!4U{Du3$M@PJB3Lw&C9d`Klo@jm^OGv_~`nXGBkIgAFUMsF}K{mUqMr#2dyqT zo$wB6M(XxFMhU3nvdPubG^IF`S$O)ueJ{3Wll# zqrLka0HkBLS=E@gpYwmMBkDj*8`QdNpT1^>;MjCOi~2xLY-YFe+cp;p$1qQ-QM>$K zF-Db}%I$5Mn3e;L0$h^w@s7cLn&hMUsH}E*lWtg7maF`eFW?oI{L^k28zjjiFTsTe zw(#$YKFW7@gtAL$a{D0hs8e{t7uYq}xd~n_@c+~{s^0vj>y~D=HZ2CbJ>|`J%nhtf zJfZ@xa>kwcj+JQSjJxX@Aa5OE#cnMJg1WRx8-6DjG^3cETMkwqM1fbki9j_`jgO~R z$aIHp*;_)S5vyc@3E$mBqZq?#REMsFX}QgGMAl!PPeB^sV3o79|>O|lvW?Toa zcA416geNi7-7>_acq>i8qyR0T^py+SDfNjj-?7EX^lyHFNzA{f8RcSRgT;yY5Wg@O z%Z)3m#A><&(HE4OfD^-OPfETAtK*iPX$WS8ryKBkzkzjyZ0S{QdW8mPVuAqiojZKf z%Ft?B&5-Himu#Tks1yIHS1!vG;(FC6I63Wm=a$FSyKNyr|H=hQ_1UZ& z2Br9H)LmbZxN)S9!jR3=X=0AmAai+E)8O_tpmPJcn?d#FG+#?DvLS?j=VJn{tvA+B zcmku;9+b3!4QW44at4mcy040$T_BXf;J`r^y3|>mk0s_8L8=S$iJJAe_cprlqxvi| z$?wc_KOE(bQcgf7-w zu$X9f!;ERh9#?Osf;>)1^Yu;?>jIP8&Fz7j^%kgDI&gAatBg;;DN|3Fbl0by^kuo3 zy_$BVb}qL;n4dEjn)DTh)PuK$OnW_eTX0vlCb;+=q(M+slnt{NCcyc#h($CdpiY84x%?lJ0VH?R$Oo#17Scc)S5*j;NV)pRF_@F7n7!0ylc0CswM?IWn0?;ve~ z3q%c1FxXS;ZSDE0BTUx_4>w&WiWf9^!umC8ZdTqkBm(KpV?*=eZV%>{c?pg@?Gc0D?#UPN z)UJA8-I0IELs0l>4<)=Bk^jz3u-Ck2Be}XM|B|bqley+tvS)4nhO?l!dC!kz&#HV8 zXTejmp3lji<@wI*ea}|`@nn5hpN}TgQMUh>Y_as-s=6bPtoNK_?qY1i3 zLvRle+#P~@aCdii4ekzuORx|K?gV!Z?(XjH?(TBQ^WOX3@8|dDtT|P^yQ_OKzzWCW4=P)}+!;p!~U8G-s% zPm1x7_DFx`#FkkoJOwKeRdPm@F3-#jy*B>)l#-7*K+j=XQV$aVYHj?%r25RqFv2E1(Y{7HQU?bNmeg!seua56 zC;mBaqN8(v6hY7t4j;0xf3obH1SL>t_!B0ZS7~HQ8EM~#3?(Pw&CEwvQMzc6RP;3> zg;!B*lz{x7X7XR_{*SRn31~h{wl>CQ^J>B3_)^>U(U&zi@DG9}@&U0S&NY)q-Ts(* z_CF2jKSkVseF=+=vSa*Hg#R19=wFAj|0%>j6qx@M!T%7_{}5{b46geiu`KIth)?0w zol&y9L-?m)`G;r~5gW~*`!LJ;gRZD(u`VY8Py+3TeN1Ip^+QAX&)~;@{hx~1yn|k) zu-TUNB0m};{gYw-{5R$F$dps6f9-nzjkHFTYsMY^Z)u7OKkj?0>CB1g#}baZqI|6N z9mWS<_8)%uzrkh2M)ipQLI3=NBE>6$)FXg@*rkX{$}cv^&v zL?X}8ZwVC7pBE|67a4|pjCf>bo<)5&%u}7obmF0V9t0IbBe=HAQ)y#q;7N^mq-J7s z_-;U>Z0_j2VOTL3w}$$Qg2~O{Jra3XG3YLlh1 zQ!(>>agY2r?a;LmkLb)`PTK`&6n6pl!)X1lF2#k@zID`?jm=?^w3%

HIn;ehZxEwhzs4`ynph?hI2ye*54m}45^m_H^4)B z9L?S0r#lbROL`VpA-}VG-PY)?4c%7Sdu7EX1l92KkkU&ks8UxUu~LJmirmroa>l-+ z^q367(|^b^n1_1Iw%cQ6^#->(i-kZ{DW{kTdlO-HxwVul`1d!)W3b&(;gsrN9fCl_ z5xba|zff1<3AQ1nd|(Jb;sY}fT!@ooh6*C}XP=W1^t^PL$d@WBJx!Yu?g70Gx`74E zg5=g*M*Q>(af!@p_wq8Bv}~=h?Tkb6p=(2%)qh($mQR02{t@U!C`Do`6c0Q$R(kec zZa#Za4r zhZ}4*zKWF_m)`&$1w)>nAym_qhKuId;uFjxN!W$)kA15*%Zq>V;cqn=E*}u!xt)5W zVt?EF|2xerv$5V>2pFiAVz?oJz4`_ZF5Ci}15#s^<{O0;^3TP}ArT(}l`}wMUkr4XGGU=j%aIw#+`a*t>aAZwU9GB&q_Yqtn4V60$@zNFr( zcnsmEm9Bl-@?aDv`TsU(KY3P0B(Ix^FMp$J0C@;_yrQ$Q&)S!a<6KvkBz}XSPU^@6 z(iuLipFt$oM=xCOhC$2uMjSTuSY5$4PqcLVg;1D>{J#2%#Xpe8NZV(+h{Pf?ug@~@ zQAL!jx-Q0h_Q^HqfjL=aU>niibNS^`=izjoapnYR>CP;dx|jXZR>xtJhjZ8Nsei$| zhkrQQabqu)7talp<;i=I(k1V% z%B`kluY{d4CL(|D#X8m(%m{yySoBj&`u~u2(*ubA|NjO3KmYvm&;MIoNB{iu&p-eC z^UwcGjHdqi=bwN6`RAX1{`u#he}De@=b!&8LEHcQ^Upv3{PWL0|NPIS9Q&XDFHKzo z0ROjTpL+kp|62CBm+Hz60HBln@70x=?s3|t&O5%x?ay8BPs^Vk@e3B}88mR~eF`&f z`dEp*)FzD7KL{wJVA!!?wTg06Vdx?H<(Q=86KjI#;RA&*LK_Xj;0!~-@qdPYu*TG0 ztR$1zYH0p$UO4-F)VzAjdfjg_wk%SRShaYxlsJynDc^Fve)Tr(JZ`tsnHqQJpc_}c zsN#y^xvAl(4o@MgRD8=* ztav}SGuD<*J!Dh7HhyPi^MBBe6k*P!wY03erb}IspB{`Hnrqm%pSJ0^-@va6r5b5B zgUzg{AidKW+tt{qfW)=5;!NPQe|OPN2hDM2jh0_*%$}`6^h_i6Y`{i~Np4p9a*5+; z$7EddSpvXyyMCJTm_k(j*r~d>Hu+qCdZ8rNHrGr9GerRGLpqPPe}9?{r|is(RWK;Q(L`(b2}7%>wo-Pb~n0*+c_7GFR&EO8~nMw`eq2cPYT_$y*ie>v2ql za1!%2o6{5cu9q=S@Xu5v=GB$TvDoYHOrh2~l*GM)tomUHd1|YH=UylNz39;|LRV8t z&POXmVk$d`cs=@;HGj*^dQd+lPd0td9&T~VzzF;c8Pt(wiA3J8Sp#R0IulFlRj}0W z{>wm_>z;Bujku{_rvny=Q`TpafKMJO@*@vqde+KzD8e({CqPG;XW>I-2OtfMEqIDo zR-=7;?hk-8TQ}U0huA-JIk9SmyQKmoh_9p1t$ca==V2RBdVhcxvJ+(5>)`vG_IKfV zKhr2} zV5XMPl;1=EZr-cKGT_D36zud8^ELHF!@`@;aI@PTb@2}p54a3C1STG)6{6FTuX1K@ zd!9DocL31UQ-8B-MeDBJ=?)V}#4de}461QXhj~ z&8%NMc+`Mo?Tk@Y~&+0&QoUv&nFv}^bnkne+1m3=V1620N^2F5L~rnXdnY}?uwSpXA9 zY_5JhvwzdwHL{7yz9~&HTQ-5GmXiy$uAHOszPn|i6Vv_;y>tRq@Lh?)$RJ9+py_^U z12p_ZP?s=sx7f^E>=tmC+s3NapD?X`iZMAk%s8TvWnO+qBS>K0VC>d6Xj+l>PKDv? zVEpCh2K-l#ISoC`H_$gD8?jsO%2}Kaoy+E4D}RI|y2jjK@0AhOuY*lJAaK6Ar|>=4&ZOnhMHNgpZgEaZM0#<0YhNJ{^Y{*NYe1L zR@+`{_t~+^&0p_)+Hd5?);-U42D6Whs%dlrjjsK56<}r8zE@3pD!hNDhLD1hppXj9 zPz1}R8Pj4fX2fhMT>bCzyS=KB6K!(UrhgQSw;}fVd1LKYTc|+*!UA8GvlSb~mEh8x zCDuUsuq@b`#%AC0hEwV7%LqK#(*0J;(UiX(C=otQ@1Hmd)YewpPad}Fpja<6w76`a z>la?2wZX(98P*FwCYf&5s$Hca@FpwbwQSH^DO0&yKz$$_Scr2psU$q@)Ik9=1ApA9 zO;}_~Vg4pi5h=VDXSg|M=>&26Rs~9w`@(SqP&n`4WSyA`*a@T5>ULT+^|=V-kAH?<-z?*+pyK%(_c$8RhDva?$tr{w>5wNvIrwPZ z9npdyd1)15hb?-VaWX>YfM%txHt%Q8vHx}i(NO^e`8;qb?*y$&@#TxJqb{m~je3l2 zu=Ro^kjy&Z0Ac~ewv4LxzEgC>ngKb=wbAJGMuDl6| z_!AES1WbIFbj-2nwPqK<%0UZ^M}`X0_a(R4hZ6fO_RG;SA}hW3r?7>6&4QW z-hNyRzcq`A-Y3HD^wxcKGKt?nk_mHCzSEtV{$f{^+*iIXB|8(}HxKrP()h--aI!~) zI$+1hhTIKh1B0=l^W^N}T7L|2v%_H(q{R0OyV0L5Pad1nG6j$Su9;0`;x=c)f^v~< zwi|s;C{D(x>szE9f(>ey=!6@(k<(;w#>Mq+_gWb7yLi_a0{FX;qa8%~{? zo?(IyG}wHl20QU;W$I;n!~ELqvU$O6+o|gNb*c(VZ_h}nb4^A%A&sff$#Ym!RqtXE zWx88CFikfx`wS?Qp?_zGFhX>K=Vx>zvTUd;_cclfH%+r~;jiF{C=L-4(wjj&IxU0WeoF{l9QdAKfNlxLkl+g z63IraUs}oA=mxap**`__gS~)BeTD^&YkMtm%va#sVGadcD}T{HVtt2mMm5k2B>mFI zoYf{l=ABf*wfnRFl1pMGSaJ1ty|ZvA9bSqMRMDWY^y|rfR-vN+)4t-%VQ8(rSA^xt za~u}eJ}N%t2@|4H*qAYGXO(KgYSpRgnRfS&x>hsG7vB#Xw_ zlGVW5x56C+pnpCg1YD~iEBpmql0zD9I3oYtl!MnV;8nm7WBXaFg7BQ=GV4h8YU|XWHgA5L4PP)BN+Pkx6PQvxk223}HU~p!jem zTU}*o-J>@cpQe*CiHz_>+|YNT2u{f39rs|&QT}jjihqiaY{U1Kn@YD+(PMe_`#Yz$ zWc_+gdO5|M0B0tASmorTmw=|~grTvKie;0JT+9VAa=)^lwBIfJ*C0v=2D3?TWZlu~ zht`v$G1!Ck6k3v$AR`1TX#T3x5M1xlS_&Wz;zu#1E~W+Jj3P~6qLt=b0?z;il`!o9 zWB^hhbbkW7*vv)o#RDqtNkeXW;7V{j57K~|{jA|WJugfCR@E=cEs!zqcjhXdYpF>- z>m>wNelQLi?2!wYTMtNG7fj}tQ!>v64wi!OPPP6a%cvAB<2#db3bUM2*rJjhR(aK4 zI#VC6tm(D!DM6KA4i+^cx_A3Mzs+)N$m*FgU|V&OjL=3~~5@ z0MUph#knTEb)WgQF&&n{Vir|z9S4&fw6oA~Q`wUqVLR?lPsD|lis9YJdj z4p(xyl~ZlZzWaw3$y%;w8dE#^emzl1wS0HG_cu0sWcWagR*xi|H^`-dWC`U%2H`VH z%b1A0p&WvR)v|MtWn{vklj0DEl7GRN9;%(edk=Cp@?pDe>&ns%@laa=0Fzu>>f(Wh zId_zmvhOK2js>RZ7WfP1fl@-8u_4yX5j~_OjpXUA_>EXF4B2ot$eb8MMKG~4s7;Zs zmgf7WZ?+w#@}cm_@cdrK#rVewY-Ottke(VFbGjW*Ci{@OleVq&V%7jBkbi(F!41KF zfHcZQ0F?r|Fjy3ESfZF<&9DiKsHX7N(DvZtx94~Jx5;ddE%m1T;=k9ity z<;Kl(Gpp|#u5f$Ki-*m*ico2k8Wan!_>DnU+@TPE1kx{+IGM04E996-^UMXl+3zo? zt`4iUS-SSfv~k-+AWtQo2Y;pR^Ko<0Q(ralG+!WbWd*AoAs(W=7X1-1)GV}wA~X%> zIw_7VQi|?#YuES9N6K^oK{C7_!)v59qwgD((Q@ax<7h+oJOMt)DG&#Y!%k~}Aq*=B ztyW&;u*q<)l=N@Kr+M2O&9~tyPn`RzbjQ%GvlJoE<+U}r?fYfOlYiBxpvMjS#5Cw- zFhQVWoiPz>0CTX~tclb{QgTuVAD7+X^8o4sGU| zy}*PZLL9Bsz51Le|4$*ls_uQUSlVzhwFr^GY1`YZ2Bw11fjn+#I-S?irlU}w3bLcz z)v=AZ7QK#&;e2zKJbyCr8taNl1aH$(ty=}^bTp`QH%4*^Q{}dIsK|tH^D38WYx4;$ zIIGOfvRi*_?Fih4v3xxGF8dmQle-O>x)y(Bo?o4ipF3b&gCHXF&7@4 zrQCYf`|qqErE$b1-}|mtM_53JegqM_qBqX^puLdo*L=v)S%2)g7E~Vlc~9x6j6)G@ z?O;em`dv(6#X-stXr@`G63xNS93zX%yhWVg#n}09U|5|toe2>fXgD=aS`+8u=5H81 zb4vZ#XoVyz6DD)oHFX+8Hw{C>Q(@7X9k*4m7c^$6TJtM%8JmNRdH`DoITtfjfno+` zBi13ZPR&OT zK7&gbiFN`q&5D{to>{y`VN3OU#@j;%1ZjGel%zdb@CU5>fRrtAmUdDiWiXp}e!h%; zkW2!EE_g+5?Vupp&)C2*?!6G{aNj7E~^`9Yn!}x%T{8ZOM)0B5(S2in1wG89O>oDMUj0`=L<><7ZJ>xBkoc_q z>-}pN$D(@c&)40&tfYItj(w&)LZUjXB^Uc;GJiN(`U~#Sji(7YBBVx%SdpB}m;8A7 z55hmWv%nvoGomK<3?)ZDN>g&Qr!e%8_6z(yo=)mnIBGmQBW&2xwXD6GepC2)Aj4AN zMCYE`H=N|XQl2gLmIfpWZE~|iI#`pV#fd^$^R*31aW@CwqUSn?IjB)h?{dcOq2VIAs*hyP8ZKD}{g=@+=O7%Zr=`ZBt@TZ$ho1<(lzY~7zq>unwcOux=#h5X^ocu06 z1-ETBJudmzlC4RTo83*0vSe!MFW})pyi2S>MeHng(k?DZil8^_ z89C=ZOi(bcFFtQNhjrvB-)wE`v-sR6LGprU2iZjol@>4fs6aZDJovg?>2AVHtACw+ z6jJfNCBG6PnbZ%(_q>WiMfby{S^Mwjgg=Mh!7{M0Lp@on)k4EqJIuY@LQ-k zm)S{x@ihk=e_;(%7VM9iaG=agsS9->oKI`2<t!m;x+#!^`f^bPP&=W2DAx>7OCU37GR&EGiHnBR{Eo9XGML4Dq$6KAAV?Y-IN?C#NA;A-xP?K0 zM|+zZ@jP;{eYcRRYT16OsY><9pQhTdDF#imY_9M~TBL1tygAb^JA*b|XuslH27tI@mU=0c}5>MRJWcKwjE zHS?))cXi3v?%zeYWPi+~8(IG&v-956mmA0EsTQB(?huQ(f?w3b;%0IT2l85z-=M!d$RN~970TKoZ1vyI^FY% zU6nL8axDG8+ab~dX`ub1zL&7-{BX0f5+a?$i$ONNCKmIvP#D_(#HAFs-^s-0h(a55 zO-ts%E1_|19rqW&lBSR2F2k8@qGzXM zYC7E6a;d^q!Fv(YVEr%g;ZDRMJRaYen&IxPqul<_8OKHr+H{hTz8mCw!B^Jb{C;*j zcCE-$vww->=)*9FfB$lM4EFubYP39RXYf?55NJ-fDw*so3w|NR474Fq+w1$V+ipGd zZ^XTtl|d2ayFCzTj>DZvoLomDWm?I#L#!YPw*gEU)QcFanU21lt6R{^NAhGF*t}|lAYR#KYCvE2J6Eyw7v{3* z9(!cwknq0MBEAW+wH`)usYAy7cPPFq9Iw-2Wl}R7naBfS5KG5T)e^XUk#|j(AY2UQ zbAP~|*#MFNrzmjp0SsFoYVf1|M&;O_I4{r_7`J&g>YjcZWTQ|| zIH==ElM!x~H!TkAi}9UXse4SSuXenIT7M{x^@VDAz-X{=$SjWt7ULC1D%SM2lr6_{ zj2OEpnps0%#|xBfxglMWSdF&EATx)wCK{*}F9nks^K}9DtyB1bVDIr|`kFau-1j*f z+?&&=!Df}FzcsjRU$IHCsh4O+C2A0T2jRjv61kN1ZF}!kxxZp-`+6*nUBd9;jDH)_ z#fOLE1OMTOe6rwBXwI_-k|CCOphLxVoAt@und~&>2o0|n+yll)G!y29Ma2(`6xJA6 z$}tZk&`3rm!lZC_jbGS>+q>+)eZS3bZ}zh0SlVk$;U3EtLM=VA$1dxQ(`e3yL(D1! z1)||uB7zE_(zDqo{hBk2#=r0IG=KWz?u=Q3@ho4YBne4b;ag;7@^>` z5Lm^BCn5`@IlHNpjIKyg%frzF(+fj={MVP756VG!n|zgz)FYzMsW!PgOYsb~*6|oH z+=^4$aZ8i2KDEUlxOEsiUtfG3CuvHi6Wh2#JS2=f`(V$R^@IFR@zyd24wEv-W9~lz&aTqE-0ywO>?!B>Dk#)F^H^B;bElE;XATQ8G6?k@*jOufaZqLP3E!3o*b$3-);tnAI?kkZB7lQ1l|*~q>cg-&zD_vegLCtJ^rm0dFn2pfZlidsK-&<@Ez z2BpF~o(GAxnK#$l-^qMmH&AX}p=8Rk3H+90i2}!k#!p z=z=todw8wbTO-hc{eS%%4XB@59hb%3hjolEB~U!)4XVDeu0t9y+k97 zV4Jk8(!Jw}em{huxhtGseb!IooDH>-{WZAB_&s==Y;iu3cL7Ox`<_s-~)nU`0~YIgD6{Xk1wddj2bz|U^^6aI)6SMN$e;7>fE}1orDH; z$<`Lr-%un`oj73Uvye*9MnmSU8gZV*DO0`t0hxg%GSczFNKptt+X2D|$vk&{dR+H` zrUb9^KAYR>uqb*;o&o1^;GkW%RQ7g^s750#62W~P62_!$1rHnM$!)epTO3F{?2vZd z{rX8MPAA|ue}9RExm@JF7W2)&oa>(Av4^ohDpL}9T?ZkzO6V_FX`P=wPrGex{(#GN zk@y~t>ApBLEzJHtIi1*YCM}#JM?*#(zc-4M!Br>UMfUp;+f*?B_EQgg8i zm4B60#D65Vj#v|n#K9cZY|o??n3W+GtWWD(5C*Z<_+yipB*su`r~W*juezC z2~SyXp1O}tC~bg8@@ylmZ0j7SY}*63QEO&1(;E$|t%$;o$8SpoNKA~cCiQX6$l~r} zAuW`^YVX1M>+P7W87XPrjXN}0`?_JSP&F-3^M6hm{YxAbo@@80jdz_~^b{y4j)261 zMx1%wFUnBf2YnphSGYPk{ve{{%#YSvZj=5Uo=~38po6bxL{e63pU>F^-Z!-)B{c9A z17ui|fjp2x*xe9iatM<)5W#qmJe(at>GrG{c4lcjS8-|4hU@JHpI66ZDBfi}-2I*p z?tk{m{-f|@v&s=N4Wjp84Cq4S;GcC!N28czUlP9&@=)>N)+-%J19#AS8r()Qwg(51 zyB?jJJv1!3v70q0A3Hj39*m~n85H6&;%FAITZcE*--p@n3OM@AEp40B%L z-?#2mG}>MAAtCQZCqY#F9OQ5bKc{+&`G4x&q@dWe;vy=P0t9P|1+yKHgI+gKWDtIV zNv}nPufq(fqgd)&)ik3qKjRlT9?(~<2EF;ValoCh$5?%S+c+bN|1uZV^G`F7+GC$s z?Fl*Uv`bFosF{dTH!<;OnCKm>G30Vrug9;qW1f+F-Y%BO;WflRwy)UyE_Pg8lYjo% z(p*OCrTa*3-T$73ERyLufV|)SbnQJAOQ?}CeGC@~wzygwFMvKD&43T&5ateAaq}S- zEwi{J*KgSzxD8>AhZ4Tz>G4r`@f;dv$D-7IS?FQ<{J>1hyfN6G#^ZhL7^b`(V6V4r zi*L2{rTVs3gZNdzuaV8l0x@!&`hWOP%&GT z2wuG&NO1+{$6*g*75lkV(cWv$S7!MB%Du3ZQKd9W6NG`r--w?LeX2o$yMGT}yZMeo z<@IDB8I>OuoD)bfF^tEJYz)uV->vtJt41HwzWNV{zEUVx9_j5asH$X}tdE>rBM1lz z8f{5ai{+)=w6T|Ja@E2gSaYM zDGzY*EoCL~DY0lG(J(UHRDXqR_G4rW2dNl%)DWWGY?!EKT;!X6BtGa8;%W52z)Y8c zv1j<$7#^EGuWRRJwVu1}ppE+*$fCXW;~d9HXM-+9Ec{g`2f)gv6#Y>r`9^M5jiH*1zBGG*jo zK>&+d@@zL@iJRq3Hzv=nOt0&CnPWCOUzS#4ejPEgqLrfrpwE;tz6v}BG=3mD>Y;Z* zb!aX&Q>!skZx{?&_4`{*!8-$&d_PG3QIp4h1f>NT6UF z_WZOu?`W5bn8SbbDk%}gW$U-DpsvFQIg)vhh8+*s&C2@L6yNvJk1Myw^3yBAo+Qas z!C4a1NA3*+iAA`-($o>q0i;Qs@lC9KxAy57YzEI)B4wy(Wq-Re+PB)Li<548AB zOJjg&9fC8GoWj!5v%m2Av_|DcZF;jk^BkH#WW5_T6Y;MY%h@bk1(H33apS*t%QSgsfBj=v6P zDt)Y3H{E3`ArqCYoC5-s+Z=f7B}uXy&PKegS%2HCzHd%Mv-Ms^5kYq9O|xq)od4R% z`)cA=H7pFsan}KXVUGMhOVpH@+Al4Crb3pxepLLVIkcoSbC}e4rYNRAW*K$=EMU?~ zV@HPt@9&S=uqWf{{z7>AdTK5SI3;hrRzJDYe`o8K@b=B>-*P}H0{j`Y`^w(FJ(VtI zTz@cuzK8f3v=V zaKtf`ld2#}Y{q=T`NjURMerlUd;1#%^}itLBYO>k@JHF1%6coB zt!8J^)`2UKqMgd~=L-)Hyp{{aXE?&P3xBS!_i+14PEz%&!|LUPmMz`8&zmFZkk2#+ zADWa<>qpJ|OKL43ZaD4bSadvZ+K`+vB-*B1rYqF6merp*zc0cCCGy6?MG99U%!i#!PUO_h3Hgj_jxHuF(L3e z=rsrKEFF|qs|epu)pi3rx-c%EaV%TPXrW_O+dU9K{tSc?wwplGVDh}*dVeadeTgw# zRUU7(#sF>g(mT!e#?9jNnJM4QGtTA3VMkc^MbY3krKRGN7KQ z;A`dC+0NB?j+l3Wz+XgyHh;vg8#1hmV2;lky9bqYL{&GpJ+zOy&|^<=EK-aX(sHEX zn80kV{G8v@yq2aJqRTvWE}Pa;U?0uSsvfb5JX=A?_J2=EJyF^T07~^&%kgxzB+IK; z3A?@YY0R3n(4rEqNCVNF+U2V9GBI(bGxP_$s$FB!oVVO;)%ISu`F{-W3E&+hY0nQ? zjz1!|9$nUwsY$G4W~`Jba-3Pkd@mmtnt5Znd?4G|dINY*(!erYdtxe+F=;+ko8B07 zx9g&K{yIyk@J3MRl_qhjc@OM*jG7mJxsOhKnSz|Bk-i9(!L{eV(3dZf&?Kf7F}cn= zL_q^EMh~?ked)ouTz?HT63U@hL=*2QiUZ=oVhF&j+?G98l9?@AzrLuKTY6v))_2}^lU~au@z!54; zRXnOX9+;zgouzBK=?QsU$)+`Vn%p_@_X%;iaJ$I1_5SSe)PIXI57JfAmW$X2iQEeS zf@TXOfrUFP4s4*JaAECv;G6AwA_LYEJ-X2$OKexiVx~!_t}g`uXh{vaay5A+e!3K> z%N85nk8m7U@B0r`Zybmpdzvd(s&*@dZ1Uerjw`p}o-0d>kokh8o%|mKY>GTS9MKyV zZIMFU=W`?ObsSxCwM!d^EiHjnZ&xdm>C6_NM6&k!61?Z zM2;i@Tp@zR(EEBLI>dr5jxHsJ%`jc zx4@@;m4A81Gl{70FIh8BE+5nI`0dYxaK3E`)r1jirk_>IC*5D1O}>}sq^3mEW13wx2X5$q0Ve>p1>d zpD6#1uU)?u1cw(~Fspgj^%3SU$IAMdzna_NMR924!{Ts$X^u>E5YPh;-m6&51}MuT z#~^|R4e$W#-hhDpDaa~{ganTRxsb59?u?{TVm+Er%EAkjx!jpyytHx!k@~$(y`U#j zi+>>GE`nZ#yX%=l$#C-yTkkEjVWZD%q}qo(EuqrYSZmlvNk$-Re+0ZeVV42_18)4X zq!}(cY*%P&wORlCaleuS|G+J|I(=EXO!qn7({t|k)&QQXO$-mhB4}l3k#CsPMl~Qx zpUz^a{wstbYSR%haN3hran}C9V%SQbrhh;|s5;J+Sw4wFVJ(%KU3)ZYyIjdmTET;u zJOPr+;Gh?$U3XT3r=q4(&pg5yGC-A_-fP+$UWE(^IqXkgln!TtFrUMER@Kq-ox4Rw z6Md5pPhr0*r@k^btLW*9A$^v1ixwHA2>GG~+!{{wzTbK=2_V1B&>Q;_YH_puRDY*y z!MOtmT)c@FJ+g(to+UoY46Ds3>!;?TbtHzOZub`QE(RWnnr40SsPp*=`-dHME_vbW z{VB&g^^@0ks0>*U<&_Y6_^%2Y`tsGG3WEuspw6B!N{H=z+wYojA(*(D9_>E153&4oE9~0U7jkRuv%CKAz_a15M8_ z96y#QD=T#h1r}HkgACsSuI>9!eWjKLd+Ys{U`_iILo&_MYOMYD0I~^BTH`47=O4NOJ7wG z9RVSstX0(QtUPHyQo9~+&Fpi*H_O$m0MT+2=Xk{SnC(Qq+Sm?lHxaVrGB`L5yAi8GC7@IQNP(GJlp0J>G$<)8CQO z9dNWlKfs`lTCAs(rJf|-qux0+M@4Hqh)k8rV~SD2*kPO6>G{k+D+h+duNO3W2A*h$ z%8U~|kj_kMX;vsWiDf~Kplrd92F@c=9*Mdymr+`3W7)&0JZTZ%iO9Ei5Hz=yEHMIs z^gIxrNxIBEFk=hZtK(S-$6mNZnqo7GgyL^_vW zAtoRcQ(_<|4eAi*Gl+)ExrSzoEu zUuuiQ5ElzI9K$K-MFB<#SMpFZ{Af(OB+J&Sru3aEIDmd{T3G}Ug$XBq zF|UKuX)W(`7oPwxK+wONl~L9k;!I|Hh(F|bAC1Py2xFa7_62_jQY+qLuDb~NUcK8B z^cMWFoI3)xwMP#kDdMcKQa>ex$!i%M({UJ1ki2V3>mZD~V4-XFyWSInJkWJy*=Dml zvG~!E;*u>zGqzuCRI+^5KnmJH2UqLWKY9^sp5BUE)`?ZX7YsPLO21BJH#|oR@m@D= z=UH88{lk&SCSZRzm>Zog?9othfyA(2VpKzuAyj1Y^g~7v{(384r_=K?kT~ol;Fpd^ zMtHb>SoR*%xsGbue~ZO6#~p);_nYHw ziZfE2pT*_a0F7%H6(U@OsMfi403Uz#nN9F-b?oGIckt}`b%7d1F$}H}x+b*(r&TSg zTX+~#F&sW27;Zjj0z+wXSCc`!xu1j&eK>=`!MpnWVM1CR%ipxS`{RW3Dx-1{IV;hn z@_9WQkNJNL?LSP)2IW0_&m9?GR8_=Sxctdl=J5 z7prh(G?5YjaUrJ>J}&`4Dzk&9-s84E3C2jczOH`*B;xg!(EHe-()F8Rkq!N-pUg(d z-&XHXRQ*b+n4~2hz#c7C#mAUxSXtu5_u%x1>m%TdSIV=UtGwA~=kwyV7cn)>Ecz{x zH?PHvVTevIBANXMN+dvlXTL$Hu@SNUwV%-Vx%&&cyB{Q=j zo40>L8Lwh)rEc&LVwM_4PZ-Ob6|4y4uE za%c&oHmtVYEV6ts}!GfdBt1$I=+?3S&2 z>}3Tj5mgywyNxlK-Q*L24f%3A_SVtt%**en<5d@s?Ro-}hT&n~&7iA}G|ZN-q=dGO z^<=v}6(c;$ZFe!t?E6JUcFW%jZRUcuJA{e5{X!}^o-*tC^-9kFgneA0Jo>|(I6i;L z_I-ft7S39nDCZU=VY>Y_s*-K>dtA4c?eEW9ZY$d3Y{ z?)ytLPtUq-ToKg+wp{M97*ZiMeCy7a1%Cu8JSod zGU+}Sf#FGzA%nmPPIhU6uso93(eQtjj_P!psX{6Xlj9FR>F=yBIJ(?aX4!n#Edgfk zix6k5#Lcc=tPa86=%h}A4BVHrfw}K#2+08>IAD7b+MrDejpuedcFP%|-C5Mb8&!m& zF<&w{9cjYg!Qs6+37Oxmmy61nZWh}A!l^q2SHgwcqARxTm2_;|wr$%T+gX1xJGPUK z*|C$3ZQJVD_rLq>s`Gxn$62!`K8{f}u9afNY_`$vPe^V9PiqbACR`ru5hSv|TpoeI zs^yGKW~KgChj?o#NHD8&!Mz+TCB?=YDxt#n%O)CR!~$;fqu&zLb%N1ffq!z2x4UEO zbPh&_qtsMs5P{H;)q1#poxxC5sV@=r#9WD#yA?Kec%+Y`qL z0fZcke|2^V;k}_Y+iWxTxjhop#{7zN;}nC!w`jYtEhG2y3mU9p~rjvoD(O0PS2c~lB;CKK2(5rEo2~TIvbH;V?nJ#^jv>HY$?Yn^75wUej&4$o3{I| z^+4u3gFKf(CB$=_1j`AABDWa(_sj9g?*>MZujACg$?Wt@35rF$#7rmL{%!FQxsZ6ArK!6m z|106~mLHoyl&Nk%6u6z*Ih%Wl0CSu0#q-p*?#7#&&<;~t1?9(mM|xLmlF)Z%*H6Jj zif#3fV%e7NIH5@+FKB1J1xW8No|F50k?W4nw_<<%I44fEbZyl=hVe}esbuNRsN@pD zgxKJP_aK#+R`TPACNb??z)tbW=6y!?=3`Zke_8hHkZ?7c_Qv@teIoPlT@=rut5-m< zwRr}S(HCvDpew@O3#6eG4C^BYuMNO7RmyTEul6uoWc$pcFEGBwj@a*@%IAs*2@9^G>?>V(62Ibtz3AA)^wu zwXn;AGAn58U)b>c%Y~%J_eR2MlDq{KNx%@#m+)|eDVn-;XmzZoJ5+Bb+cV^DKpC2= zzh=bO3H6TqyHpxycAY(-^=Mty+{`ECu!DcRQqfhft-r?v2NFtNGb^N(_^F1;#g-F9 zfHaEL%w!<@x@vaDZ;Ry+gTrG`zOo(fYZ2G73Ut;`FtMAvnrZ|C4ibH<7Df4|*W z W}D6s1HP=*|(p6Vd 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 z zpt|LD3iW2TsnhXVfks_FB5VD?9N>*rhI4Eieaq%@t+D^{`2|d(@(gk8gV9TWaSiw$ z6!XwzGyJ2frnZT(-%Tx7$`=f&p{q0RUZ$}VhWaX(hAuZFbzLr3yD!Z&1rfeTQn0dA zIeKD-ditKR!>+#?=qoqi%VcX)e~N7Ib8ZLnkjX1#@rim*Ev<7uPA0jt1j?pAQBy;g z`4S?g@G24$*oo7Z8*yr*j$@`Du~grD3#f7}hQzU+PwBrZ?+WrXdhun(b<@XjEr^~Z zy~)XGJ?7=)=05wGFCcevXg~BteVm^nvvCcwAjE007m=lpJeuPd)Dd#hf;M{0oTh6b z?lTFWP4}aeCmfw4C~#cwOWEn)*S8`(PV=K}v_bQNE%)Nd9+j*~jRzb5$@I^%X4|^a zJglK_j3zc@S;N%6j0quClPma{j zLWcBj7pBihdgDzBHnlV*>>Uy63Z`TGiR9=KlR7^Cf%{x4WGp`?$k8CkOI*SkRoQEe zkLTO9RpPAFNFzgr8U{*Y+qS@p5pi4{FNWj5)FI!*2W{z%uWv$PgKfk4n33$4Xr?qz zvHj8GuCCEl1nFwJtavl8=8yHg{1kj(9C&ozwm(5V9?--r za&;qu_JUGO*JX%;nxVJ_49 z&sbdh6ZXd3o{_^sOGm4Mx^1wt^_7MYQYgK)w>727pwq>*)U&24+vz;5mR$~x{N^@Q z6%`G$Mz7Yl*t@Nhk&Jwftz^*&lhwC`y<1s5t8Bsb35fFwE`6s5rj=V}jgN_lo;?Fw z6%J~0XXoR4TDQ09=aMVZFK-bmWj zpvep&m5feA{PjjQ1c!)6sr10A?*#U>jvR~8c)u|!N)_~fqm`X3Y?GyWw~iUVz42G( z_3P1AYK-OHQ-?DVOs*K8U)yDa?s9xZl8{H$EPmK9!Eo?ic(RP$kMxX&hi2|>O>=}n$j@# ztIzpxB$fmke{N~RXVdzYPB@uw1@A`3qfWolfM|L9X@tF1JvjxvdiqI7#(}by9;%DO5S2tGNobh|@nIcXzxF2TUi9RwU z1h}P0n)c`+1qP$Li&W^2BEld#-W)yTjMpp9AlVmIRv9TGMBlh*1o*W;*@MO6ex`tk zfSQ`xAY%b2rLU*HdiAR72N$z#BkO+tgs#ahK_2Njvr+Ys)0EJ~?yjz(o*WCEuCv9( z7?J6e*lYzq*$hWVX{V8+PwdKjOoB$)I`lX1YiZqjLxqh6%d4tFPyR* z*e*t1KD=>7VaHtY{nPg2$uQ-7L17-A@R4v?ODn6ylQod5w8^7{h>>hXL{jG8$4{W$~z_XSy_5W zT$&--n*LL(Grh%;+GQ7K@1hbtk4i;Pt!G5PB3Z-!(63*9ow@Akl$k3kz{mh2a(eNP zo6Tzi&&=S5uYmgg;yFDK^RN06{Cbh(_pkruKORN?R{s9`&mQUjGQs(8c=_M!|9^AM zkjDr;*U~DkO`rdK6r$<3M@mr&ups?k`u2>BZY8A~|FbUR_4AK^$iv^)e{K4|3s+YE zOFawIf5XeaumAt=H3Kq=iCz-|OFP>_Yp-CLaubWdfBzjIh1X-y$-Zb(mLM<9ier>P zk7)PgKPo(2iMAGY@_uoT<-hi4i)zo1(27Kd(y2-P`6F!N{5xXy2cd?a>2EP`=qk4) z(R_-^S6A=+prYz~J3jGKs&1*!-$bv+#G5#ia`rf&lJ{^EO?`P%mPP&-`CVTtp14*$ zS%+;+uPM=PG-DvgJJ(JBOg&fK$-XZiQfjjE`vY>@`ze7ITwqXO*hw!YUF(I3s*R1+ z;<7zXkPoxf;Pu0f=+R%Sl|AuHmgWsyiZpO;*WsVy#qZ&h1JBwVJRL%7dH&q2zlHIS zv6>IMUaFJfA#H@liak}hPtM6xStA1-6B`EYNKVK@1S?%b5IvrWzj}j7gR;tdP)T9} zy<8~^HWC+Yy3|8Tza-R!k8C*>ekd08{*z=wJ8!@{%-?_wq5fQBHDy3JCn8&w_uWs$ z*1NP`b5UjQ>Ez5ARTAPV`M9@#ytyC(%%jdlr$N@R zNbS=OS{4U^pCb;0(WBhEd(P2%1}KZ#!*8hr3yzG&B}V)((j9nY@jXh1%MFV-bdTEfzgXa-6!m*EHfDUs3rL#c@nrcX7|;mIQA5b9GkChpN&N@Ne)v zzsIuE3o|dW+ZYGlzyID}6{%Hf>bJ7G3kE4H^gX<^YR7i^8R^{m{7`{mKrv(LzRA{b zrk$+$CuG>*&;9@_UX$Uu@;55_P8S9=jh+hyI4X*>S{-)haJ3FDOx-S#?!V z)*^v$Iq{1opQ52P6Nq9!cUUk`nTqzy--91l8%rPoega90)Z zK6s!%(hvDQ!`6%V6_FuoLumx)CCoqO=f9`QIMh$mL(ZT69z&JvD$i#5#7DB>y zn;BnK2$ROHzHtCo|5WV0Y$h#Z%1!20&P=O{w?r3Qno$$~3MJ`>wU(gjPVpcGXCtXB zK6>H75=;5WiN=ma&p77=Tg0?M<}O~ z-Yc1Y|0uPPlRr=k-(~6rFqf`}$4Q%BOV~Ji>ETfpc)DCA`Ub_)Mm&6NcjCfx^wMVra+kI&X@`i5tV(EH`)HD}&yb z?Wg&&AsB|Z@ber3*^)a%sK5cNGLmtk%(*A)(}*63E_^);`S|z}9$Kxw8x9Mk0$J?k zm+#ISop9+=3`!Imxmuj?83mk{i+5AEc~M)O!JfP$aIeZbBGFcU;G<>UPmMI3%klT* zNTIhe`+C!D#P3LEcW<82>i7ToYjNORj#+VhT#_%d&|0H1RF~ME+ZhUps`=QjPIucL zFou;8xcKgU^-6N_9>T=NlDO_U6|+1h)YR$L0aH+N;V!}@8L1)c##W_pwz&UfE-u$! z1|wD-u0II!EZTLZws88>*|~)SSmVi2*qdmp2cN|(Kfo^|-%cs;v1RJ2to#ld$q?~m zl@>%;awu`@G`bU5VXMzn?62^o?c+<)qxT4>GoFLH;)4hQkkD;S)c?qdfxj}4e?v#H zm>#H5MxtTHH{cFnLXi^ubdA;}%%_u7)JkvS_HJU>ih8~_e)y%dq*tQJkBqSmJsO{1 zT|+;8zr~|RcqS`7ULdW=vx2}J0ep0qsv2YhOYXswn39tI-qwgOM!BxfCcS9Fn4nyD zDvBA6=xp}WY$ndbB#Fz3zf@geuWa->F31iV2WfU^JTMmY1__C|)>o>GVx{hU>UYeC zQVUYH%43)i-OlC2q=YLhoA%02NA2zE^wUIp@Uz%9#qcznFVDKtgdXP$Qpt`%=m{^% zlM|3>wQ3|-+ZnsAek%#2daNG+9l116nNMuCpgpmp+__KXdP{u#1l_g<8UtD_Ec5R{ zcr`88jw22?ZEbB4C$xa?G(XGFF9<2F7+!%s-_z=Lw{_o<^V4YcTI`Rhd742khFa)O z;6rz8PTj+W31$sz9TfwdrUztFu{LUaBb!sXQ)ulearP8VWo%ke?lW3D;X9+B?4XQ- z^EomyOX7E}X*?gi@iq}Yp^;t$=&TO?khZVG3~S>kLOKY!{dt$wcBp+S_!`B>Z5J~#X8r|xws~3)O3y3f}fr+}8;af5eO)@M$(E896j@qU@amg)7aBrx1duq=G zCV`@sJvugLjAlbDB*k=KFAqlAHjfti1JMW!%DB57il6%|$}P9CtCl~wq8h@RUl z{Qz7Vmv}6?!7|%}jyqA;z}MEfCzdzAq*1 zv0F&R%EFi5oO_WZJUQ-jjHLJG?9-RTbZZh+vZUBIQVk@2h9G*|p18seRYrUWy(O_z zS5VATCtM<0ZQZ=h;$I=R76-$wLVx_#ekCrpC?Lc87?#EP^ncs*dx~Bo~cP0(A z{O}QTC0_~5d#qD%BqQ#OYgVi8BwRvDYLc8>7bKC_JTn5RMC6)ZZndn(Y3G|C15p2s zezDSIcq0GHxkB&GA;=c~s|XDYxjC0jS23i2XruTGB~vvF{`)>pO8#OyWR@&2mK9s5 zr@#Gnd*+>(Z?oU#n2Jz{`i%WWfZNGdU^ zg3nhR>%}btM9yn2$A(KKOu_B0l46S&6q!nY)7}63=H-bxiK(fAckdMLu-`+E$0dr` zonp|Q?>>BX=h&Y3JtvYN5q}das}YgR-1BN5?J9K)Ah_n2$PhLDe5TU}-P2#e&eFcn zDCWAkSK6=5mT6Ago5bor=T^6V+;IjR)9`D9UMzv>=>-cUro!3EOj0i5Z4fLsJ2x_o zU;jkJdM;8=FHXOB`lG3>!Axc-5;yjK2B4NW*!3KAC|BRRT zGRpzek(}?70_{$2HUX~15r?Qj)Bu=bw6s=Q5!yw{OJB1YQ8p^kim5NEu%s-vF&Lc! z>x*(6H(ZrSBx+R8_iRp~)*=}IwKRYutE{(T`0B?T#I5m>K%HXk}2nr*)pR z_48+zLmfgFnWmT+Ong~8ZMP1=#N*gGf#AAzYW z#H+UexL-K07$vz z49m-{NhsXIrFgruQEot-J{)+%r1090l_D5@eT}uFt(zAUl9I&r3!TMQYpLcvju>s` zy8E2v+rq|z2;C5sz1^R9cKr0ZmYpHBxEakWNv#53>If!e~wMP4xU#584 zUFKl!Y%G{jdMhP0l_l^9aaW|bR>|JibnlqIfY!V8?E0QP5=^t%%{=DGa~ zu$QtS%}V|ZBRGS)7r|8K80Z~iinKjFI6;Z`#znchO`=3rq1n#_Ks}y^hQv#NpRb`;X+7r2?S+k)wA(vI<_{4 znb|YMxl1mi40fg*TS~=x)LPWRLxV=yG`_$&Vstg~Cx8?Hq}cP+*Ksv7Fk`(KZp=+L z?D-d`yOMrKqHQohie>p3lJY?#f&L`tqQ26PdN7@O5ACOsW}f6&Zi2Nmx7LlN)uKNcjBuj(c(J6&4@zoB4tdL4T3I z=mKnYJR5wZveX@_r0|rZ$OWFjQl1x<4h}S4?7?hguL*Y(waX^J!T6-Dqrjhg6_DUc=+bY_Epba6HRY#%YM5EOF}xv? z#WergRFi{dEn!_!@92wK*vm#paq_(%2zMK5Q9Y-<*cq&#ly;F8t?Gq{4EVH6sU1nl zhKMXU`qqbCsAau`obG3j;c_BtsHpCwM&4o#+y?np;Oa;j9K=(&^EXyGcTKzLH=#4k ztLZu~vONo{CqyMk=X+19fwBU~jw-h%>zqbwD^0ugN@j8dAO7m-*!aj17!q20512`W zpcpEHCxNB_ndZqgXklksvjOxGb%^OEFb|0LZ4ZH+Js_Ckizc^!hzCa|gE!TaD6xWx zS29XhU;}M%>Sx|OW=^ViA(7q9sCv)ju3v&15lt^J8d?Efw7hwdTQ<@-at)*tXsycXbAB0Zz;Blj-gGVdOsl+7EL^NciHcy zci!Mj%CbJh_s9`&S%O&<;=l&@S+KZ8rNvB{BM za}ilzD!9vjFP>Mw7LL4oP$|r=Y;c98qP#?2nz=w)Ol;{pPKF};xq2eAZq>KjWJ>2Y zO*bPb4q85ZD27aYM+hPuVqy(tkkn0Mh<~M#NvhHNR3=lQ_u3Yl8U3*hf{m5H9!psetu{1 zd$M`aUtdvPLg|YH{Z4FPoMM+*lDU@rh6U2_`w){*3rGMo1H?D|6O1x<7Co+c-Gu_@)#Cr=82Qq1hp^Fd&L%_Nas zrvxI~t*)K#Ea}Fco3U|=UPVK^|CBm19s*i@I3M=%{F5%A%F!`ji`Un0y9*iA7W@qn z$xZQBG9e|2RgE4F`vnD!oA7Aw)Oj=hwTpDp70PHUe(^w+yVD;=s6Kkh{mUT8k7o z^WF&*#WJt1&5hv09A!zkkwj2w*u@EkyFMq^9`_BW@&MXIN%k05>r!M zxE{#XM)QD(V6=m#7gl}0Vdz`=!BpPoyw#@Q&T6mYb#H=7-Qn$+RH(y(e@c{1L~Oca zPml-E){FN%t#7g{e^;IpVc6hk2efl!TuPJgO==uFJK)BOl+1k#gFLlmaKE@W+59Wg zogG*9En6OhdVb~^ie8M%j_v8zqEMsb9o9CS7U0_bwDoDv&G;(Afo4qMXQoo)=oJ0n z)y>7WrxL-5h#DTQWyr{57i5cF-=5tMvoyi8fz*_vDMEl5K2d5FuQQV^=E#)RQrPWd z3+P@wZu*oHoCy%igvFOs+K)V}5`sGsdR^|nz8zNUCL+$pmT7;BByvK?s@wQvdna0P zU+U8*tqUb4@r{J?6<&PvibYrsImkaH%nfGF<(h`i{#u7@$LsqSU8b#jj%TirH!@Xta8GqPX)e98tea9*_v`85#sLt z)%R?LJC7fNBjXb+^R$%f0Ipzte#n5I)!YnF5^;PdCO!se`va}n;dmsARNksi@yzHH z{wh7&6cbMrLV7|&l_#Fz{#6i%MKH-sRYY0O#y;1eJZw=JUEgv6x&Z(it<7-vGqt$Z z>-n(!Q)-6Y0*T%Dc-$58Fj1^$4LCtU)t4Z*F6r~`(sH6{8-;0iz#l8to@tUsC4bs= z-FJ1Ybz3jhx~b;5Lg4@sUX2u#fhTU%p*B1`j5k4MzZz>c(IhYLs8&T-0-8yzydnuP zEYg4bzJNeyPh|{1cgdQ}*iB^z!&&2_@`bw^n&Bx%j_fLNs}uPSqv{Sos#OdDd1UgX zPQn@K<~wBt#Z*}RPBGB!(@R*sIaqtQa?2e6sE)MtkMAW#guWl1l4k~Z_chsvTx{Dt z95K$go|L>Afwq}2f9KsjF&25`a=7hi;rU<=Og2Ogy3H(M{;V&SLBC{X+qU0pKokq` zrNOC#?I>zFVm~QfnTmC+yP(VUs-uTrf0$;@Gu5Sh~qCDSI{jt{;}Ru z%U~6FTV$)U?_0Xhk4Q$-V?L{C(Ky5oT_$lu`PLCg$b@;U_1U8Yx`5)!tktq%H!v$W$PO+?_5_y=yFJy*m*u@ivWF=?B}Eu+3t^OQAq2 zMa6gJx#6&{_ETi>ZpmDFeWr@=VjULo<;IxU+fp7r0C-(F<(axl4rb_+I>gNXVDGKN zs_NUkZA1VmJnRJu_>8UZP3C8edCrI(@z(%sV1&89=??(XjHd{5Nto_pSR z?s+Djnfc?Leduw(-t4v3Ui%kke9rHw7AcoJ-i}zW2Ib@+U#2(Lf4WYDgu!GvMz(9~ za_)lW!z&sa@s}F{Okde>6$3A41ZK&*Ar2)$jrn5%#7ZZqM5YQ_h@a;ix1h9dl(q&TOgVnH+yW~hE zdzl+x580^f0=uJl?Az>jyUNSU3FN0?8Gdgy2`Ik&-U^+_mi{f)0b7lsWHd_H-Pxamj42JIToh2Xf^mgpvKAR z)alhB1X*dVo!PM?-4=B#_E{tZdwdmVL}I`x_>pbrTuj*|l2(K9&2u};ysbmq<>Zmv z2TqaT3I|V=HHUCm)n!@QYIXCu0M2W~xpSFtwQEy^!ZJ`y^B8hF*()nW91f$*di&W1 zj+_XORI*MkH>W%n`83^Org3-(<&_mStJj~TAI0Ds9Gec*LT=F;p>S@`5UklOM{j48 z&{5J^m0o&HnnXmBIz5zq!%|5xQ+oX4a{DD$q(MGGeK6JOM!XYVz>e%| zW?XG+i?$5~2nVGdyZr(L{=?k7Ql=hB$ zB27ecuxF97)k>*Fjc9RZ-a)%6V5GC;#_L!{|KhV$J_dn=*%>+?K#C=ca zZOr>{@q6Z}DswS(WMTW%J%pKpNC)qvPEgBdUVKbvz9_GTNK5bR2in{jEdT%B> z_@6KA5j}$2zPwjwiyWQZ2^G!;?@i0~cN^$T-LLe-P!NLkIivSs$Rh^;w#2Sg-LOeDr05<4Xa zSF^IR`g8T1Do(Pn$NwCeir_9hr&>TKF@J*)-xp}zKBR^Ob~8?Y`hiUD@B^vJ@oOD4 zO=inovc)!;I_?XeH&`cDan$EV2Az5HOgdETC!^9A z?3EFBL0ofsdF!v9mzAwddb0)^8=1f#D3U_8Y=uPTrS9p4#yQ)nIQ(h#<7(kndzzPD zmNzW5yMYW%=kD%B{cx|VFkQa@6hdmDLlw{dW zLw${~2=7Fay=M(O@1Cxhv0sk(+U&s4hlp4|84u9)El9W-;%)X?(1T3)u)VvboBh!6 z{$q*yj+&U19OBaAcx*mjZz9(8v~9ilwW`EYG5mnI> z=Hf8z^znQ3ZPNXu8lm)IK_P%ZBP@sD9&2l9P0IVJKmKZYky@{thrANV+aV4Fb+v$y z>VwTXlku^Szh)^R+pA3}a$gdz#R>EA9PDWDS*Pkb(o_ySZK=8sbBrn$MR+ctC=+7o zUSuUb?Kr=eo?!g0eWJ%Mw6@6_D?l=oO=Ce)%>Vp(a@HS$9-$FF`<`VN_)LVvLrZMl zlttjy*ntR~;{{K{krH)`v1NHg&c4AMBCzHJ$7~rZ1S1|qH%V~{^pEl?j_feWZ!ZfP z^=8=*r>tQX46bOjj`2Qwp`;`nx_G!(4r$7r#TP^I69nu|kJfv)ElJoWff)M?VbJWX zoG)KogE3>?aRAQ49Eo_SKdNxZqZ$=&F2FCxBvZDriZQ23RZliLs#J>N1~|9dm`cd z=CY}ZZvSQ!dg(Pj8f7k-BCW2%R9>TDX6rFenR}Ob+e|-kaB{ASt`=8O$0@+X<8&Ie zBp=O!y@vfR!ZGc1I=Wtet!n6Y;zj09py!7V}A1EWTOk@IYF9jY9$jfnu-{KVSoC*OS(P%;rOJ#>VSHNPGnjH&-<%G&MES zag}9Dq{_F1pez<^pFk*roq-COhTSLLooi(A{W;9aiF{dB-O!A0`GM;CZ8=Z0WW_7P z%P7S;oYot^nVbhU{~|dRhyTGs?+9;6>H8W{6w(yT^Q>qU*!@>A@x>};55y+QLo?6q z+>>GoNb6thDjqW_k`Ld&+Fau{U!3eaG$FouZT_V~eX{Kj?h78GxGczZa+tKvf)o;s zK|y{nOK2_=`-INgJJ_Eoxn=&QIa%{*o>F*lgrTwOeyW^sI?XqnZXiv*8Lag`P+(%1_qydy$*YKm)^Ae8h4k2LT=2krHx}LaBmc-7pNGkexDzUsWI6u@`b#Y zUtF`(9>a`5-I9{tFim3CnM1^$h~UIz8w<~`eoFLCf{s9S zX|Elg4^S=DRkEzNNz1~AqB7X~2W+k`_T};~d<#05IePymKVSN%52_d#^`;W`oW!u; zE!gH46tWo&9xt@Zg_c~{zI5f{kooBBKzc#Ia&LD8squ#H7t@UFI-{vs`%KLQn$~8P zi^Vm_Z)mRIDz3t$OX|k+J|=CM@X_eBDuaXimMuYzwdk~St5;tIdg5E+4|5k(b*Cpo zsudh|%l%l%cYdIQ@YY()lpo!b$_l6(-{;3&cf$@JK1fTN(wIPw)I{ylvWv%6?>P6U zH4(#BZ9pJcHR$Q_8J{n|kWH`V8UlTghT$@+jqIZ}G@P-0t1m_5zI^K4sn`JPIr)d> zn?7iNWNz7i6$*X<{LE8Tx1J29PSb%Q6?)>cPn~=BFXPD?E-4lG7$y3YCa6zDoXU+C zO9H>c8Ng6-ZT}&vfDr3L)N|<)jk<3aKJSptyqP#Rd=+j7T#vk|DRPakGgXye>4pO% z&7((qVaTZM$>aS8=qs2S3p*9q39}K}D+HFb>)IP617tsL{sr$GJ@2pXtghd!4ySbP zoav9vPcl7+<>l5H&+KY{} z67Hm25>6pr0bwC~)jvMopuz{cH9!XujH7Xnyca)ILeOH8gVFc{1{Y1z!HtEv*gwXGmH->m?cnhORoj zVAIcfo)gbO=yxA|!3FU}|2s#8)F% z&xG7d$@jG1om&R$mcFw(jsgHaW`Ypi&ui1V0H$MIA{Qu@Z|9RT~n}7ZD z{QvOEFS!<;MLWj*PDe&PPgQImrk_VO|GNna-Wj`p8JT@3jPdK{3?rwDUc9GO4ywt> z8J5k7csi~XvRxK~bGL*xL5}J4fs`MZ9DjLq>QrF}*$)7HSeCnAOekbeEMy-FOP|#2 ztkJJVbRU8fKff=Lcq9BmTH%lTG*_%x_*`6<)e2Iv?dm93REl2DZC_8&WE-~sJz@_N zZ0+*TefnUeT=ekKg97^zX$ZOdhf`1HnQ1&{Xxm0UB)j?UAaChQLRj(m!gj8P<-XC@ z&}cs-)I?t7DvF9J&;~nk-!X(JBcBW8-0Yc6*xpojrrTQ_CD{|ewT^maC}Ju2Bwxpa zOZ9h4fFe*XM862Q8IQ=zUtB-a_Pd^O78tp3ajrcx70d(ap0m4G$Aot1lKu|lL;lYs zpOi3Xd;13cYN#W|-PBY_E?yUOL@SQL%$>8!Kp8D`iQ9>H&<@Y?d(~-ai*g3>c;cfS z&CHGE87+NB=TyK9zQLxEg#Ep%O7EcXX~9t_m(Ck$1wxb00Ao78{fdwt3GU3Y_CxjS z)VQAXqs%MYEYH1`{(ThRr22eUOlTkPRXVuEP_OeKX&=owRmu(&tmTwT3_S#6+UPzP z5DZLZJEbdo@I~z&PCSD^10=#Rk(@u#%&I+?NxG7rYEtn3cq{hAHho*9=PE9)FJxIH ztzUrwJ^bG8#A^2iDY4al#un7^f^%*&(YmA6GjSVUsss4D?fMrF1u?0g()~P94b4E^oLX zHF|nW;Vq9NNs-+!yz~+Ml6O1lbH)o@hETt_cJcGw6q+=Zt6q!FqQhH?5 zU^uqo?W+m;b857!>uc)f!@O@=YxMvZB}Oet2#fm!Og?fwd&~)8?$>1Ws=3;5pMOTV zBXS{EjLh5SlW^MR$z`7hy7c1by0qqJVhToW9_lzZufzcbe4Z7FVuSfp`B&FVUUU=-Z8e?Autl9xopqONgWxOkiZ`nJ( zoaKpH$kpRRGz^j4_UrF zCR@4)iMY~v&fDY0egK%h8r!TmDh(@o{j_2^&a&a2=Etjpc?&)9?(+nOb-VN%YupnP z_SIcgbq#S95$Hm0g&eH}Fd#|_t=Bf+;PSl|iiSXbZ?ZiBqYSPB!LKA3at{^>_}Hg+ zgc1I@g7t^fKtVn5h@LBbC1vU9zS!U<&)D zbt#1APB(aRBD-}YG9YbG(JX0-#j6KhP<4$#4#*gZIla|X zAuZG^riL&X$(jK00nyrOsGWjRsEHa=;OGt@Uu;wZid)1k*KoLmy?|*V=m0{cUs)fh35| zvv-GkYiXG_OMqa{nvY8^0ZW-u^X0~iY{9PB*hwhQOI1R3HFj$Kn16cj-aXvvOC=*4 zV?F4CpH)h4(3>RNw=_}1XRy1vU-+b?A1>#33q=7zh1(Hi%sS0SW1-}ZDPk{3=v-qy zc4{_P4Cg^YhhON~l@b!~$QZ%!eq(@*+f=h=KQSYa_`o9na_Mryvm3)XrX{N`wSaU1 z&JdO=QHMX$vdn3-2$@Vi3<$eSTaHKuXFde~{x|hSHMUsr7CLuBNCy%m^e0{b7!Q9{ zTdHHcj!6#X*$`5cjjYg&;BhD5JIpZ~+u==<6p`qXC{boIT7_COV2D6a`4wmq^n)hP zNxqi+@rnHzn}cEhcuvph9uO^1PLRR&ZROB?asfe|cnEQ~a4^TUtEE*3;huB4hP^X{wBoNlgQc@J^qk#cH3 zfeZ%ILl^Atzc{soPoW8)20j|uOGMUm*E~Za@cHiCxo5d+@l|2tBlra3q@4MpQ?A+9 z@m9NvdZxHD5?WtxYE}9mniF~4a6}g7N8NO%PK*7hFpm7i`?4mMh6c`jW3w-NP(8X0 z^2VpNcScIgdl{-?XlSoD1>YpZpWwFBf7!ZqE}OD;=wH z*hFw!5F*FYeG4FP04|~Vkdc+O3-BsLOFW5q8ShOWH`c`fdxAawV>`7pl;;`I6iZDs zq+(L0)J|*ssY02y4Tp2y<)}jn?AtecK9{|0O2MZiE5io8o(3#X{iu+d-4u*+S+Xs9nG*$gW$z!J~UFueUvzABB9a$clDC0P*ZHsUMr(i(eYy_)@Dul)!66HA_G=Oz^}wjK|QQ0RNyi)icN0v zm*Nu*=SL-UN_8eL7@O!WjH&TsyfTn!hw@PQ*ZEPRQ?si(ezR3>1Q0T&h3qx5w;8;# zcj9^Ot8g*Dgtc*#NpSlWK=JZ%t|2Tom3JTk1$$`*%D(%)Ug+{*Gh${CykyPe3weaM2Pmee9mF;C#MaO&Of(OD0}4D=0i;`I zq#IH{_{U*?Pqp*k{qO11SZ7p}?ox2MoFK~VVvw*AhD6X&7v@d=`NCVldy$p#Rm zu`ODX9|R7l~vyBk5ssa*k6+}?8KIUfGWg_Sevc2^exIlYet7ACroxO?eN%78tH zKDb9h!V+t?+6qFQ7p?!Q(i^(GJ93Hm;}pk*4qI*#qoI zE>Msa2h8tarab~Z#(=upzf2N%ihBu5h$$Do*>BJW5gWyg04RC}?5ht}^?UAI{KiAZ zBk_CT-)7^eov!hzl$j<^AbCnWW%10y<-!@pq|6$vJ#kXZ`=LVpvS~&KmXKLz}DDH za);}tl55|u_#wpS0zqEkBiO39jG*db=_AQ0Gh}74pOKs6Vf>E$y2oJ$i=tTpvbZ71 z;U2yl-WlgOp5yY~o<-I&70>4Giy|{)iD>NaL#gv|!%?}JmMY-5j9HH^CZ+jM_gM_{6!-ni(Sx@&i# z2xlyjw?za=KX&ZAFT*6{4mG@V$^}oT7-8DRPELBAMvm`QSHm<3V&A!7R8tP@ivg=4 z0pA}0ywxSDK(zHbjiTk`?i_?q<2+m?h-~-6b{RPj$Vf<&6;coPYQkgHY}k*zWMn#^ zpgD{>pv;spT%rh8Tw5z2}+`C+A znygiKEu6RU6=veimY>to{Cng8OiNN82b$b2$l@|5t*ptNcmtf&E@skgVSSR5{k|j> zFMQ^OJJjL6b1d^}&=!r$;_G7&@{C-Ej237-8F#53omG3JeoiU_`IG-UhXY4>#qjpw zM%#J#t#F4#E+_X-o>N;n_kGV6aTHj{5O=;vUL3;e_k7W|qecY-!>8NS()1c1%r$&I zi-q38tc~mn{^Ahk)=y9PhTl7NE5S4k%{%$tHY_-MY2fw;8}=v`M&`uvaf=9YfmJ%{ z%FNVHmm*^wktBQKqCA80)QmTCg2kfv4WEWRyxK32f3UcE&~TeV6Y@t9M#MyPmaVHP z6U$?2nv)s28{91VQk2TRrv*J_9wjBIiFMf-je~=o1sdn(Xjr($S4uBlKzMny4_WcU z>%)&CPcnTGksTRy=b5^Wd?;M#`Zlffy*>+AtpMcubbp{lSumf=Kue^Kme!y<1W8dP zHhcPfe9rna+DY%87J+ocq`hxg= zG?q&AqsI%<9INGBBKXl(Q5xjk27qsD0w{riC9FclK3Cmc!2FpH0}AOESeNklWK*Q* zR_8~W7URAy^e;~6sW|-DC-n~xhxjsw_3MqEK16)@+mMOJUnCg79!oir;G8TzPvnF0 zYDkekpiNv-D|udptoP#^e;V;7#p{!vXr}fc!mYW|vCUpcaPX$_Lz&P(5S!Jkx-R{! zm2P*c(Ww9EJ@v&5EPsvoP&fY3C}j!gJLjPVbiBkFOha#F+U(bP`#8S z-NX#~Uyy}-z(|k^65{3wKjD|*$CDcRa4df?cxfXID ztpu>)1TpDIt7HDE9Z6 z$v*di?dz&rk&1=-=F$pLZ|BZ;`#@B-)Jui(-n~abSBEW~dkbC=sqSd^^|dTpcXO?j zd4+{(L^CpZeim6%VQD-*SlhTI7>7KMkBt@Oe(a15YfB(U#YOVy=;b-Os|Ef)F6I48 z;ABqlEvXx){#{pe8!TW?pN;^zqz~mb=E@sn>Nepuwgi?S!6qmu2tpI2xdx3PsLinn zN&sB%+>QG~t$@zGoYVd|i`U^<-s}E1l}JV@#mB8B-pv8v*4gF1YHtYo*4Rd}&mbW3 z1zQBvl$92Hh~Mk54O@{sV^Y~FzAp{&x{}?-1;{miMqZaK*4_ZX_47K5m2Z$%E(a19a)m743>}G$#nTL*RzeZ>_z&z!8cSF>!P5h$192_p zBlzBn_WLQu7t;qU6p~&zb>}={oH>4@s{6{LYZVK_B6(TgKzY9SBo6CL;DxP&_Rh-Q z=I-hFE#li3n1=4tKwQRG@G2BPGU_$He2|R<1We{Rtu_rj5u76$wnhE)ZGaX$v zeECu;%7IW14Lfx(L;yu3w=5_qruzPev5>6Qu{|3fh`7x?ky8i+X0G4j5K^a4F~*b% zqWPj))8ZY&CI~22jMU%2n3aFM%Ny{)nb+NIq|`ogdwZUX$S4XCx;&@5`zPj9!=?Eh z?USepwV-Tiq6xWi6(rH2cL`%|txYol4A-4Wy|9+Gj(&VR%&IWLk&i+GbZU9>D6gAH z?LWtc{t-1~3G5&rhJgX~nb9HXNr|0?%R>t+LlxwxLZscct3MT%bhCoR-0HUG)X&Yj z9pRctXs~9-P?RGzWkOcTei_@t?*`065M~W%426!s-4mrqNfr^Dn>2T@KEO1HOLGir ze?&y;j7maIL5e0VFCU-z*_R2*W_%hNJiJV!xdJtnA;H1I!MUB>jE^48IV`{Ln)NWf zG+CW&%daql$>;K+GS+i8Cfaly~Nb<%oQqUb}fM59&M|Z+t#?|B^G?T}?e9 z`z79`u$Sz>EB0oe>}X@@ir?fk919caN}A-75cP174BtwTN#;M0r}9rSB>bcrssIBg z8+ayfTyP~*1eq1UFP@X$nDic!qf)T5-S~S3B`!tm^(P)Q1e5>&$O!$15Fve&^)5Ri zf|dE_Z7>7dzdL~InJy~arpYa8>ITrn(iFUeSXi7cCM4`B>Kf12y9`cd-Tjq) zXP4!do{!2calis9M5D zywWhFG27Fa%rtUR!77F70jBxTGf+B>?>A1WxWcE35fDC=}o9e!oo zs(np1?)lU8TZ}*Fq~w z5*k%N|0FJ6`QWq=2`c=ds>+V@_Buj9r+2yEG8U8U%T|Z9UK=ZI0Y-(mXn?zgaC(X(-u;a;c+F9>;Upl#!gEM)$}F z*&YYdDgMxCj`Z$K{H*)}^Gp+wHM#-@( zrK@{E?P7N`@kKnJ0ylZ_RY?Bxh(Wh+@GCRlxdpz<;xdvw6HKB z(ssA0pA!6W>qO<5ZE{wAkTXRhs+-ia%o^dJXas?`iHU0)C zk0h%AM4}Dit^@VVNx#l>V)D7K`){3Wb<#@N9V(gN7VH^Utn1+l86N2+wwK?U)ak7? z?Eu}WM_p>*LIHbcq?-fY%nV%p%Mtog5@t58+h$$+M(+={@c0mcLHGU)?VV!934F7H zk*cphkg$xL950r>y^VJjNA}BonT5cNnjQWe)*x}^d1y7AbCJSn1f>`ywR`T5XTb&c zS0pwMze%Ti6oGITL^cU|?ObxSz>O^<+rsBd8OdL0XenwA-!oECIdo+X&E@T)l$f=C4t`QW!CDRS{#10Q<#2$v$voAFv7N)tOlt zi&hVxVdW}u8w|H+Qe1F6Hl3;c76i$JP?q(^nNR1x)|On5uoe`oZk3h^VOh6GoXoL3 zh=7nTdq-K*OzCM{qr+mxYJDS%F1#O>Nn>OrL%eA6hq1aCh1X=++_rw7zIh>W z(_Jtm=+UDGeWyBOEO%JjcGPaN7uKdKF_aiD5fzlocNIs$2|S%*Ms)n&q8?9=hAGsz z8s>5^a`z1uT13f5gX;hcF)3J1Ad5sU@MGU{y6G@)>O$lUOOv%nBLrfeKUXL9X=(q? zMaM(#$$1@d#*V*NJx3VazDe`=m2aKa^=X~-L#1g!y1=<%_XC}$ib_E>ly_#Et<#lL z=s+pt=e?LF?tzflP+?Gy-Wjt=S;m=6dRWDxMECe!9-SS!mkE~v1>IK1Iq6Is9|Az4 z%;CG+4iT{VV3vMv`6O&Vc6Tm98)~vC5Kp6xM9{D^biYSS%e~Sy{66L*fQyg^4P`#7 z1R-s85q&0$8Ikj=#%M5WOgF{KjR=Yt=8o4{8!*Z(Bmv68f=WhF-x(o3Km-`zD z@Z>sDpHo2raC@i6V{%CSC>PlD+n$u$S?XJ@a8iNVM8^*!2pkurBILJ_Z}uYupE@cI z>f45^?O(Ql--_T)l|xNN=_1cg~LaS?h?=uV&XJxyS9blX{hYw#|eol6T$nFT&wI(Q}h2$i%n5CT@R8)bGt7>kOIx z)|LXn4R)}0O!-!oHhJ^tQXUZg5}$e-%?x>T*fJ(FzYilL9`m|7v>%`%Q23ZrN~mU# zzOx?9gs|jSLnWY8cm+=El^fguMELzUbpPwjX#Wsg_&1Xnr~Jcz{wV+PgPflKKf!Zc zTF>@*U!wY|=P&iL)$5hKt~3B^@Re#T%m&#zt6u$m+tB`a|KYD6H!=UxI786>8$`~2 zp7vkXI786><>%2hT>w`)edB#1PznX`4<1tYAq66S4^qiYA&ZNPG`Sqq)YK4?k7>iR zWQM`@_T=WzKJkY$VAS#R`$vgxt&73Cqom;XxvtGGUp6-{ z%i>-dnn1Ch9pWQJc03F_c#%P zks$GVjE|f)Mv>Fb+K+jDzpkrN+*{U|au>w?@@+B^bx?Uld&~7xn{Jd_AtgxqjFq?i zeY`4HLVQ_0cnwWW5Za`nz1<1si+aewMAOUQe(5qH)oDZZ`&>US+~zbLJshQRI`uGq z-kjnZ!1<$+-e?&3Cp|uoG@Nocs|-J1ntgzd{`9CY7xt-<{6FH_Z$%mu%BSV%&sigj zBhPO*mo+vv<~R*0oj?DD>2x|yzWq59_iM`^OQ##tg4<=U9EwN_m-4Q3OH$o)bLF^ycJaPN`SZeBInSSW-M2&xpm^Yukic+0;r{g0q{(lT!3Iax89#Bf*MTzs-nm6bKGddHNp66{-o&5T3Za|qaCutP(I8I z(Q_|sz~&b6j5u8RUd5M64%f2k;ls|>Q#Ud7mzA=qoO~+$CnW`=z_~yXA;%{rh?M%K zse8JDINv#zj%{y!ktT&_`PA&G$?0VlqnL;!>;wg0`2j%xMCTO7!n^isB(=16U{U7L zh5h~L8tK%xRI;L%Ayau7e%bHZOQqdg|C7Zvlao8l|`bkTOp?+ZhLccK!c$l7JjPwu0}E13X{kzb>&86$GvDsdZSbzjVf; zq$&P7)sqHciTdW|0ECyATp+zjc_sms>s2>}i7sdMJ;u9|lA;G|(d?t76uunzw`mE3cc6v3DWhf0540Om)*7!g-DW~oFiGiU659Kf9zTiy<&zH~{p zuW$ZCP1~32f7u>(bjsoWt85&c%0@50`ZVCTt9*Q_nyApQ;^+PR4Xw(9q(b-N7i1nHo6ofc-CX#7KLhP@(eSb#n}DeXc0>OKh8!j-3ri>|bA-k4^m>q(rkJA=ImTAR@`sryuv~Q83>Fh5K3z53-zC%@z)8x?zMc zxMMSrE8LGAOUuq?@SPyL!`;L}V;s*!WBgUNZt{GV_1(U~0oD!P+AjBYhvH48lz1-ijfyo!!Osw{a#_n`4_JPKVp_-5^+;&R1k8Ij-%|Fxb(> zB8Ie;*{CEOqF`~%bY?SWz8D<7m^O?;rQg$|d|-?OV@Urv#U;Np$SGxL!Q?EtJsxAt zmJx7BcC~s`HE^vQ3->G=Q(z|BEgceeMm9_y9!z=#JuQpZw;rATN-wOfr~BIC7R$rH zN31l$e=smHvILq$c;F)$?~s;Tn%vjU9oY?|p&cw+p`kt0tV6?oRfp#F^1uE+^51ci zf8`v=f6J%*#}|P7*WcoQd~!H9^55_s|7#cUzu*7=>;U}V@Bd#Lo&WW({qOw$pIw0d zcm4mL-GKi8zW!hSefw9>xYeG^{%yxG2UhgpKf1!e_ULbh8#8ktxr>E8`XdImz;|yT zKF`d?a_ix(=a}^3+QzzI<}oomVq`fr`^+uOv|kxv+Jr3*Sz6#J5T9SQ=3ZW=yCd)x zdvHk4^uAOITa_Cpo>J^%Q)_F~=sCVyf*7XJl|u@pyyx={s)TPbT|79vGGk#4Ew73? z78kk9b(b@~EOGrd`X67(Fep6pyFUS>47FbVawfb8YRiB9bc^2W-7h=!vDz*4Ul#D& z;>YJt13K`qeRt`%1F{|+p!1R+-O-4)>BP`d=AMVqP*xwSYSpA(2c=|q+ShNp5Y>P7ZFQb#*W-|*Ym7?&<@CY$2_Jcm?# zzyG^F!|j~9GL<5m@oE1KH56S0ujT8?jCUh;aVm5uu>`Bj#QBa3_=H4+?u4Aj4c~8s zHfvPoCz3_;3%+2(@Z8UdZU{Z@aOl74ak?a30ro44ud z%gjBG_2vjwIZ^5b7EZ5U@4gq3G$>U4d5=aClsYFSWm}@mYpej*WVb(t`ZF^N@xftq zp{qAJcrk+A;B3uy&$ahaC`G1G?idcP!jCN70o8&Z1Di?p z25UDrh+++S^;in(A7`M=G%t|b^X*6EQ4 z+Km``*__sfpn5kAZ!&sO^u4;@2MMlCDbd|&4s0RiwlrLM>*VMn%+G%Wr>n0QEwQ&K zvDkL;_CAAinYjJrFp*!fIBjWYFEG_z&fU;9k%1KlNAFuQtt!(_^^^=NUAWRi>%zA! zy74oM0z^{?)^Qy(p<{rvrbCRUJ@ zWwP#;#WH843*;9d?oP|d&OA0)Nb^l-fo^55s&g(1RL*PwGdSI}$NcdA?xJ(U(m+lK zhu+QX>x?p*w6vFR+ifG?bx$fL8X@v(c=_^HY^>ImPa88U4Mg@#y_pB)O`K}D)klqY zs*|X2s!Mg0>lhfBk8O9c@$voNf07I$B2HJ${m`UyP`u8_%4pPAd{HKze?T4+6LSnl zx=~O{_IdR4fsWS4$iOu3rAwQ~`}Tpz%hoVLnU7cIg(3%xDV&H9nrp6BOPpGIukwsK z3Xgd=`?FWxNWH0zU5gn~UBH$0t#KotmDlar7Wd0itzefby4?h}{qLPc4YN%IOICJx_Pq-X}1J%&SCwK=7%}?4&sJCt| zsUMvCLdw1wsXI(9e?{;fX5sG=7Jk#r%)BL{?75WG=mPOeeT~YojHkET0u4*kd)L3HaTod( zd{$ZDWPW2E%w*IYL)qeTf8NpJATO2u=CcRBrz* zrmL%FwFfH`gQ&2}NVb8He}J|Pw~a%~f+l6uhvUmRPZ-EtUBtg!RzKJu$+xv$uY9CJ z*Yka_v$l0~I<+W{+HWWVmg84A-r|K6w@-!hG)*3#G*AdK8uTO)J1 z&qyssbDc5pt38XcumDKMALZlV;oZE+<3W#4xK)~w;pLK*ZLXm)4%wyp!`dI`ujZRA zf9v@{=^4pozd0HFf+lU=>R_L?<-Q3nJ6o@7)i}@`j2$M!+l96RZZ1APK3%eMA1}|D z7;3#X*5MNn6%~z3#{VoZaSv%~?P!~8FF5i(8lZd@`r{Bejl841)mLz1SS|9Bq6;)I z)}eBj6VNiyln|(hJR9^P9{nLJz2vqjgJ?Zjhx6lGY&kn7s;WzXzu&!g7gyTJ>0M6H zs?22#(>}+~G}jH9)}8AfB!=cKYQ^8DqQdrOqEauiWu>G{u!z*J5=AOA=!t{pRE2w| z3|Pe^1Gn8=wbsW{In~T{p6T_Lch$9#-(#VBct3yh&#VENTiAF6NA_7?zkPFY`2+Lp zw2|#V>UdN6CDX7-buT}^Msaqt!%H0i%T0MHDQu$a(uEGK z1J)qCZ=N=TeFLv?V$E)A_Pe;Xxg`{IldxMcFlJ=9=f-Kuks59w8>{4LY0c=LJiNC_ z8B0^j%*02l|9;x7VO7-E^L9Et(7#?)0sj zyyxFP=@ql{Hs=;PNJ&}T-My;*@RGmZ3!3e#Hn=3XD5Du39aq<^tc+_43>*2yp7b`w zz^OJN(D!gBO^q8VOi|$&sVay-wJg-5qKHrqwxRcTRWU-Fpa-<(cnQ=xBnZ8ysA;*h z*i$p(KN57Y?3y=ps$7k_OSY+Pq`h}g|Fl6qO|w}FrWmDzFcS;YZiwK|c>3dW`fWik zV6i4qBZ)l;s)(a{bJRW59NrH)E+fT9dzTy*JdnUY zA7?n!aV6MY0sEJjYxI+tLc^?iS`sv}v07+QPpOGaj%g>@>T-qPmO-1s1l`isk#=W^1DrIRQf2`)pUlzWmlWLnxt zHGd}G&>T2(zmWyGTp?voOi3Bcwx1d1F1jXdBhZ%YF4@Z_d8|GodL&y{qUs>Nq!3bgH2<%JH-xk=TgGO-@BS6aC=jVf&1i z%bVYJ9zmzd$W*Rf)!D&w4G9v*Q@c^BeSPeK=|lVG6W!@18;Ohr7M3|R9;7@b&FOo4 z=ZdyT3(c0~s}Q%FTxJ^UA0Bb$rLAmDWGr#+5E9L<^ksf-(n*MoKgxS!tFL6|Pb5XF z93ee?ufCxna(5w2PK;pj&>r2bYJCeUtV|0Z$EYvwAe~o%Z1BKZUVeMOEYFt7f?hgG z;5H$%)BFlGfyuz(h0vzv`ugEQ$CfpjnWW^3pEFqsIor_N91}kvb)JIaef0Ne*9+m` zkr<8l&3>;+CJa^-$gyY}ykexBJKyRnlE6hO`Q(Wd^r@nTs)AabOmj2yy|hf;v;l{v;&sEi(_OsTFSSo`_8u-M)MGY37UXTqs3RepOoP1I7WF zCr_S;Au<#^WBgmFU;dU>XZs};LOZ)cO3y{Q`}a3(ry!9d-BMwE6mRs&GdyX|>bFBk zEBA@g)qUAz+MPuU~cJ{7;8Rm^cwV$5~?JYys(qG=8lx^;7mDj(YH^C&l@$1LQ za|{pRC&-VY)nff;oX@lWuOt5Z4v72cc7W`;m^*e1e>~s0fdBnyOpIs$;mHDEu(2gi1q)RR;IyySa8w~B_G|V&l z=&+}xo0N~eNy=>2KiRIZo*-TlMyS&QT4odu$o2x;T3biEEr`GB`}z6VZS7U`SIdit zh|pZ8tgPX67{$LaDk)HMaNOIQT{kB~>7c&%(78Zm`Om6`I~r^A{tb{A7y3dZ6P;&i zAg`mN;}OYJ)!F$a__OJFA&9n#ojz- zavtNpdS-7N9D6Gx%G-USH|R^$RSGO#wYB3vcu*J0nx=aX+EUjKSC}4=l_kW*Uz7eJ zNXolO{N`xhAKJ${_%5AWJ-LME%sL?CA92j})O3(>LeC>HCZ$6=p=NT;Zjdps^r((X zQ@#Z6w*H$gr8}=4;f5|u8*Lz8TBvkTWk!m3bVRVOX4Qtxgx!p2IvIOMh|`yJJ=H?Y zLW=&*?aU9Pl+^TF9b&X8d+KMssIv~{H*<1!R$|VgAC8fL~y! z{notpGy!DHOB*Bah#7<)qo4OT-VRr0EmD`tqx{_ahvUJ3e046*J9Y&2@Fh z>rH1?=h8DP+nQq&%aW1}Qq(g2>e;`8g15!F5jWEb$`IujX-b()^sIp{N;&#Nxyqg! zx{_s^PEQ0vl$5fk8?l@YknPn9M*%HEjrKSLYesV{x&||wAh3MG2*;YRA1xZG_A7b!th4b1_D7Lg$mTwNtJV)?H7F$h=@aJ z!dQir^0kv$R0}P6oi^XRe2dJa4JqXsH;5CsRl%3)l&;R5zk=NL7N$xIaG^;};jmiP z*U*4{=L6rX)q$^AGcD6IQ*9?mnU*Go-LxN=q*kw)h3k53=ac*}&Yu7Kf> zS^7DP85_r~YQ8hh;AlS$K3i?MzjgE;~=*#J= zmDaQ}I^oHhuuFSGlu2gnO(85uQby<{{uzpZiHdgd5C7&-xF5Ath zCjt)`6fM+)bOf$M+J;jfmbqyc5;+cr+Rsn&O33?!$5rE^SQ`sS6R5)5N4R`lDg^{8 zUx{opxl>=u)+uIkX`1NjxgR#+S6qGcBVV_=>zMEi&%)xIZ{wE0R#@23An{)tJhO{^7hG`p598#?clRd;4<<@y5cPMP`Ucj5^v|IsTwMXBP8{!V^ZfcmiLr z=*=-H=MlGz3@LLgF-FFXQPdN-cbZ}X-7GBP=UEt0x1v`wu&1|NB8A*Oe24YHQCRpP z1B>xM-che9?)K7uQ3f+UXA4|%tiZlU<(12Kn7S^bqG{pzpIht(jJuCgGH3MG} zR;bnbD(Z0Xn8)$RW3#kp$Yu2nzFgNmi4d#BL1s?Qftfh#sxBoZMbBMZSvBL~E|?cS z*Jx={lu$;jrtO{X3q6k#6cbZ!T*JjxwObPTOtw5+kP4Q#%1GS*L)=@3RrP-Rq9`UH zNDBz)Qo2D(QdvlYbc3{XgX9#IF6ol4MYHGzkx)vyySqEji+=aM`##UUXaDYV&OV2S zKVUJL^PO*u_>9jO!*<9*yiJ@lUo-ERQ2em?h@5MrP$MBjvmy^|Mozw&b`26hZDl09X18sN{dcODg`rJHsO=ou%75$*ur7F1M zA*!WiF-3kh#>3Up1g}TObjaV*H8CW+;P>-c-yj_}a}fNPxNns7MVX&TLh?QqdT~h+ z2Rj?q11BS0UD}8DcK3G8%*>%$ZQf@vFvH{H<5=W4b*`x>3c__hZrn-{J}*vEoVtGb zo@gxQ3;XOhR4U^30nSWlBZZY7Dgc37DRD3;KF2P1x;K-1X}wCc%`E!?YmXd+DP z+B5RLw3=MOXIV4y3G$;Jf?B^=G@w0YMu2KUS-}0+>b&V!e6_>T(H_+K^XC&7Xy&Ph z8%_=A)E~Yi@24M}I^TM@>WLQvadr z1?5wIemXjNA)(Kmh7wS43QFCZ`WvWvDN{y3o4tfzt1-F$|@jO-o+rsA;ERqJ(gWu+a7@|$$wG_38fZ{hj@8< zy?OHmSJpzh>vwAF>hh{v*(fF{k1f}@o(N`hOUpx9efXCz&%tw%j#lAXo(hH-G_{8f zA5j+J5nF3RdjyR6+EWKDr8)Rluf<|w;;JjEJiTgotk-?uuH zI&`&e9iJ%HaTsn$LItIP=2}{l0$04qqB3A~0I;OW`4oFbXMw`xqgr~7H3#;@Mba*_ zY*yZ@{Ert9R6aDPFj0aQ5aAb7?j}{NyZ6D8^%m4Ic2voW{8B}r% zUsza}&$9O=Dnni_z!||b0&UmMo0}C79*&1pSzle8EO9~y#YbSygy)AR#n8i#$!ZX< z)BfA%I7cMRKFzvrb^A+AEpPy0#>U0rhWKU?CH}5=IVvmi^Gm3^feq#qw34Etbbp6b z0Vyz9Su~O;hF@yXfi8}8r;vEJSwc_!GfKK=u;;|M>30kfkvHZh6XWGEi9+oZ|FMO_ zP>_PWL{5l^UWh2(^p?7HDLp|u)ZNX@&hB}?AwUFcvj8Y-`WI<-okc8ZH=CP>f4`gw%jFgnGzdu8PC*4qP*qu?fOzGp3x*-2R8hUDG&hjTPQRWcWrzUjN#;o zSXP#W7J1)#{gm-$XJuuns;LUN?fUpk z-l^R&>s1gIj;Or5UN@vkM`x<8&I7(dS{38*hJZ{WGwHnm2+ciIoQ|HJ3m8p_>sM9)caBG&uMe zvvstEl8S2V?4(#azIt?cI3qKi=+UD)$7k3fUKtsmQgpv`M12YgkA81po{C6Q&`^NG zL4+d+I`{_8Ttq}EICdQY7%K+7@clgmQoOBgW=5x@wl(0l`(M>$*HN*fi;V6x^oOU| z8c8>|HY;l6Wn@GOzIv*@)e{pXs{B0A8nff)1P>kv0|4Lr0KPZiTQS@ z>rYpu6+Y1x7EW(kKy&r@=o5WbkOEDK7#JG9d@dJZkFmz29MIYSgu&aXvV>0uMt} z=!1Ojl^2!G?A^{VTm)Szg9CkmGh0}O#J_iIKP&Z7(qRR0X6)B1YtbJ`P)9InCFZJU zB&~4fRE{Y+{Hf|q*s965XK^0>&AD{e*|k!|W!~@YnLA_`{g_%1rGr;Tk!SuaCc&ZM z)kFrsCgL3EjC&t7s6b^o-&gc|ANAY_4-ap-ZyPjBXaSB8Q^HkhN=lo)-r`^u8bQI< zY>O^ZHzie3K|xP9C5{6!)tYKvNX(S+K|B$F&Zgpk@QDAmHa0rK%{}CpyJUCVQ1|t# zBZzICKaW_6_}%Wf^+|JLJTK4Od}Dpoaa~`}wAvIDs2@W?A+OzaQvLm_QYe$rfGj4Q zzcEV%_&l|rKPM-Ll$M&SyhpsH4hXncUWPQVurPXwf`*Rf;{$O&4yAZV4TKLR3T{Y3 zoyYzY24J;#xVabvpH=c&=)CfV>9KQj@jVnEguO4fm z6%|}=s6r4>y(9G)s6s+8zhHj~m@gb>d26V~fKE>jSA;4PSOq>;0$VuPWL+2mN~4Ku zgM~f^d&@}hz?Bu_-jz%DIv|FF4!*r$XU|eVFwS&s#HCYtd3$pY+M0}~-H&R2fR2vu z-wXx|EH^U_9tH+>K8Cz~7z+FH>j1TtGspwTiHEY#o}^(K9n8e?Yib96J7%o?Q#JEw zgEwpwHFbunS83D~1mWY~Gw^MK;3kiK`@0Ez4mthphiI9V8Ql~8MQQ}4bQ!TEe1bt6 z3QiC|S|2Gv8p#{xhuOM$2qqU6Ce<{PyfA~qKYL+>Nn4wCfBn?}e;y(VYy1I&8h@zJ zEA<(6Rv)czOco~ZQ`dY-OxvAboac2rUtXCLp{32%Yn5RxFYNE>0mZBH?0b#KUJ-_yo4FbcWoP9eC?31$-Rzkd*eRmeU!STVoG5+%x zFYKHKfXlYJy3)=eC@c1>p@Er?kKx(H+z+lc|EK9dO%V7C?|}T|txr?nI)zJlHq~DZ z04zMCZrt-&i;P}=4_h5ikF)bD4a^G+G#3{yvNPJ)+LC}XsF(Nj^nJ(ZjwZzI?1{e?DI8=s6=9G<6ME+r+Vb2<3qwGeQb zBs)7|ZahVSOt=YT2~*8ru~%w|Cre@3qHt0STYY~|!@Vi}dz7Q;9KBuj5A!H_aw6O} zkpwIo82pEJ=>#^D`qU3)SvK!_5gSFDUZcIEYNwz0N;meNNR%yt#cPeEn0 zv`a8FILN~MB3$%&udvV0rY4|+{e9etclNeJQe)zv(&sq8svW<>pX0gDAb2r@f^ey1 za+dayEZp29)<`7$InI4L4a_7o8=E2~Ew0wN9grQsuU+-pmz*DLk{6aeem`cIkNAM` zwtMmkSewB0V;1VhmX(w&@$)k&CSXWMFEgL=Xq{_qs)>@uCP44&>rI&wIXS5t9O$#P zhb*5|rwk8A11y0|z!{O1HIgU7WT<=Kel}e#yA$-{^Mzbev zLl&HwmfNvdIAZ3|JkZht&&kSidT|)eIF@A_#WL4oYHTc)8BQo9Ug5ZOSjm>j_>Jdm z_C!DttpSclg8M8)6nNn|NeI#9yZP#nma~APoei+=UYK-Llv{qbv$q5C&9iYZcFUTh^5Mfob7r*}V-CnLE0#U?J4h%MWZb zu8OJFs}GiGNCS8&DPvb&NQ;YibalxoDux|C_4f2){`_*<@EyYQj+%a14|MfNiOrA8 zrSZi?>FxtO&(_rb0(auW6DPmk_@EHYKpV!E^C|0I&qt-V55mBOTE1;XeHVTB>-~O_ zm6U4P?_1_~S4|1*SlTe#7h9K-aUYoomXq;~(3d5LAhTkKut|Ar5QT-^jlFW3LUTaQ zyK2|#`gwYLcE#8K9O$ft_I)ZaGNz7?dw%rlaD#v*00=ZRCpKLsB&5WQCyNGTp1B_$ z?Jd|;O2w5vfi23i1pK~y{>v{Yh=cjXdGZvBCSPrTIG#LP@hM}zuP=G8fc-NR1^)&V zNMLHHm+FgHgwq%K8$ha(kuA=yMuvy~#OV4K9v&SLk(H4__UIVey11>(r2T@OZL7Dm z8i^F!KRb$4QtCR;lnV{B)T&pik}hy@)R-6_b6j5DI;(Gd z1$2rMw@iT<0jDQO@+tFEXf!X#;TT>4oP# zEOc92%O|zpDcRX6`1mw|f7FydicLyG_Vc zZ6py&o5RVhlLVb9ruQ=*WDPJNzj#BQRTWjgFx^QAh)0ujQVY8w9u$x^0ov^h6)RgV zoibW%KJfGRZ~XBZNFU`>T{D=tl-SOm+s0&)&W|^NF-DT&_dOedjegE*Z37Hg%gN)V zf7=i(%`If(^-HbpsOshBB5;sG*f16BWLT}hN44ZE-G$@(oShw7I1!L3(5yWlF#%g9 z=<(I6aE6#v^IjycAN;w2nUT*5$Z-#*BYi40vqWZnwAdkSg@x z0DzPzG)zL2B!XTXpMCr0w}Gl$MdniKLpL$w44;ax$N1zJtF% zPOz%fAl00hhti(Q9`H4nkJh_wPar;sWCM&QJLB*+6o{|fzJy*3e>QhO{)A4V+#dkHF`A8L!d=lhXpx&lY*U08=0a0hrNJ;Vz187 z*?{A#LXYG7McA*6nAby2iu0cosk*zREPybgi+oG{R1T6I(z7+uL;pM9NsQU{_rvZt zH0jdhn9OBp{~ZhBP3hW*==DHx#C*aZe*EX!s)1|_`Vi43m`+HjALY&KXd3uZs8$R2 zpa73n$wlOPxcqbRv^s*FNCg(+)7+%1gZED~?)Z&~1av3zE4VKjo}y{h)4zAvp2+@t ztuSw$t`z4#Z&asV`V5R32l?p6KM}mTEVU313OEkZ=Z7+4#p~}sHyq_E0Z7hQ1-5AQ zfqmki=+be*KqQ7F&VB#RtQEt5ztBPd-F+wo-l2;$sUrR7*?c*CL=_ppoB8uKRXrNw zf&C8)b$V=W&<-^%o8k7+@@Sohx*HFP1dlo$4DEj4z5D*I+sh-LTYqPp{*7d!yd^{e zAz@PW;5oLhADZoey<~k+!XQJObRzHQ&$sm*m7tC*N%H|x1bKJDUvjyxjOr2V2nJ1g`?w9lQREk3=~VatiX9557w zXPr03c$GmP&W+;;%XiY!7ETLy57q|2Czex;e;tsGYdz`}ulwHFfv1K}C<4EbG)e zjO-KFDab&wY^la?-7PCVsiz+6uD$dObIG5q7^@P-ys!X909jB%q8<9YUjZaF1zjqs-6}olv(nE7iF+74wN_%-@?x^{o-`&I{n`}Yk zqT(3q`_q{#1D8J!6wL2G!O(~eNxmFT^!_Q$U366NwcCdYy_TW`bgPc)5t5LZs=Yei zylAbf7)?o;J?gQ}pnT&iMx)(Rr3OOX%#JN^*y-9%2T~mcY@jzsy|#D z9gNkPpZ$GI(7*}CV;q8CcDI-2=d~)WkG`iGJ=FmPIJw_=IeQDK!djBlZ_ z4*T;?i>0;k_Rk!n_V=Lx)AE{Vnj0S9uMFh>9Bjc!@Scx}33QC~PTDxF4nKhwsoWiK zMa2m7IHh8hT(J1swbtH5G_f(0Rh~;=G9D2xdwL1G?uhHn&R(6mXs@h*2@E8uLK99o z!@5G2mzqp#)fW~n{}Px4)6qc>b3Q(L_$V2Ai3bx=8tZX{lfZb^NZckzWcDl9C{rlsZ) z;Sj_`M$YtfgR1J(^s^UXP)$r_FB<4$L{e2fJf?Qr`-{MlyA+&YF++-v1Rx~NXUEMg z6h9&N$MU$(g1z!Vp|`PCnZvSGhrBrC$okS`K}19ZF{h2ZtgQRS(W1E(HMXjH?2v7V zfnVwS)sTb`nlmTgWg*=nJHW_Bih#*X3opST0i=fM#aVq*b8NiF1lyDq2!yCZeqLaD zYHeU-#v6Tw66l>3;79l>0i=$@c>E*OoZ@nnn2~N|RXJXk7fVdE>g^@$T)#`lNFbhL zW9?8QSe3=6p#7Rr5&sX1@qf-cbTVW<$d|-$p#E8>KCZ`@*!TnlQgOBO5tdJ|tt-a`l$p#1(~|8pl`Y5B>kM&m zE2EfVe=Y5SzGbYot6aBl-?$D1gO+-Uytb8kXOXF1So#Dpd~Uqh_M3dU)O^LeV};hw z${*A-&F-CajC~s)zc0U3j~@60hUv{_IoPB%!6SyAX{6r;CDi+^d@)ihJq^w)&Ir^a zxH9N3M20QWYxA~$?~0`XOy0dIf;?cemh4$mH*FjxI(Mv z72V4DQ&PuY_4N^;b)w}8d@**3bq}NO{%mFWZ%Iu3>jxPOaOmfj5>L1Ov$uz{S-hFRX`a{U*09tMUp zr(0K1%%0L0PZ9gAUW@Z(ouWiukx!^v`c&|>&< zEQP(2RVL?@o`lZdo^Hvuvc|j`GcbnB=(h(hZCe|3fs|BMj`JBUH=fLaTr!)|!f#6q zNyV4W&x9?-60b`3M#gek98d9JUDUa&zcGxgs#^WdM*_G;QMuz*>;1wolZnRSx-e91 z`;GoGd-UJajyj)3B*|E9+Ah4WhDX!_$ygA(Qh$iFAFB{Rwcz%6F}Pf+utTTeEKhZ? z`3q2KsYg;x&yWIGkRicIEc?r$VgVPk%=Pf()C@28s_)Uwx(q6ZcWuqBlpMNpjq90z zSWi^A)dN+?5bJziX-tL9Zrb~`S(k6mUGp?U^^K0~4q~TRuCLb@v|&NodUL>ESpFIX zc!2RfJJ43D?z6la=)%cJHVE~adL8QYeh@^MAx{rtnKuhZuybq`A28y5qse=XJReo6SZ$=f7 z#tng{A@yfM7Z&kjW$#z5FMA(oUnPMl$VdZ~B#dxm`_H14I{7xt=z%D-u@#`)Ag#tq zthW2?bIdy#kfk?5f4I-xj)v}^KecNzy$Z^#&%L*tTf6dFA#y)sr03n`!)DO9%uM#M zkj2jT{9_&*ce!B^9e+=Sq`y_ZKxh|iKv3Rfq0^BsTT~l8M+LOCBH!|`2mDr-fg9}u zCN#130|Srnq4+w$^Btd(3$2*ebHdZIQzYR`+9!Y@M?|y=3aq?&(_CUU80}**>Hc<7 zZSq#F-c4p~(9*7GBzHeR(s*1-N&@S?zm=`EjZI0I^gjAANO6b50EvAJsxrVeRA7Fi z@*z$1x$Yu(a{wm2f!7%svdqb%AK!%8l$7fftD13?!|M@2WuWGVw49B&uf3-*++b-w zJDWP^SMFLn7xyT(?3j`i_j<50wVl~esL!{@=D)S8Lc+g=CWPo%noi`~+cHSmo0~Jh zbU~=_rpF7^`iuSd>GM#y0?g0feSp0EGVN zP-JWm`M8o7n;o?5E)o!;H_rwODdM-=F#w9Rx+D1mBB;AsSUz~T;#Tk*i`%z7vB>!7 z3KGsg-CQw6b<>0an&wxAud$I&78R9r2Kp(IvC;Kf!k5bFH!(A^&`L-@&HDwy^xf_-8P%llG!=-A>x-)%gD=jrB`UiQS=0 zc@XCal;1ZNgMg4^eq6`$t5UTx!A9@22kM8e23Xt5Rn}*hUvGdWBzyPn2fme4sBl{H zFze0}6jix}9rK8&NQK_mik*!G2FRgI5czbKWb#Z19FOoSc`FGypuT71`9&Cv9<(x= z8I>yNwKb9?GSxNvaM)NH?-FdNZB(`j<4`eSK6Z$Rkg_QqI?Q>GBh8tFh-{}W zDXDw-XOb)`VTQJXqOjBc&+ldgYg?Lk)1wHYGF7PYeBmH4*U^N?K0>`)`@k58O_3o? z&MjVj#xaYjGEemjXNXDrOyI+QM_XfnPXe#YukrM8pe>lrzra!5*OT+oPnLiAHzYY~ zVI@*#rfrVxWEK^{;yMYURvG@j;8u%cga?r%&Sgf9m9;~S-RTvXvCH{>^IRsQlHo|4 z<7O}kdx=CVM@-B}2d*=n&~u!Ny2~w!z0BXS9Qji1ln~&;N)dCuD^@+jj1Q0z&E36= z7_Yk2C|>RfTOuM-1uSxw?x9-exk)2bW^8;sJbss*Y@qlC+M&HYEVUvVHwS483T3y| z@d!}DpWS5I#%jnbssJ@05JQdKQsb@4hnZa|nDYkVaGkk7C?D>^cP=6!r0MW;En7}m z{^A76ydki^>U_{LQ4-K$5kHF4qgg<8ui=kgpDN#CM!mXw%$u;TSpiQ=$<_E}U^(v2 zY|;M~RyB8k5dX}qS-sM{U~_iW{UbG*B(Bq$oYZlz>w@pDv_hR1lZtYyL*B5Nl9v1T zP}v zH1qrK%AnYj{AKnE>V_aHn3XkKOEO60I1$uzd&e4!CxTP4*?<*a1j)(S_}PUQwCNR( zm~ou7-%&RN!F{h&(1gM1gkmd7>Fq;m8rsN5Wb6LM#wGx?S`qw<3T(Rx{X5h2d;ZE_ z=MNMK6Zuz@Hvb|m*Z9jnR9x`W|9K`Z^gm53{SRnRc?QWglisr*u@--%Fbaz6Zxh)& zLH;s`70N%m1!QMp488uJrK$dhyZzxFU%xQ)e};Qp!9MZP(({L5PEHQcS#&hC+qYdA zz2*BDpqnUPhDzdV#WJDxH)Y+arqXU2E zX0I(Q1et>acGY0z@VtLu-#exi_lsRMiCmbU36_<0Bnse1?R@Mq~$CrKLx~AM$o++6- zN(u^v%=kppRSx;+?qx0dCya@K7bF&-@0;N03)0 z=I<+2SjH-^pnzB@1DAfRIVNK*^vsfd{aQ}V+3*hzl}*XO$M*E;uf~1^pc;dVc2l~H z-r+vGs5!s6kAjNQFALt@>Et%$n^X3Q>ndbl(e2MhME(5GMn_{kUM2te@Yn{tW7mP1 zd>>nmtt&)-Ux=Q-|G91m92P11{CS9i`o$F=!RJn0+hH?I|7LI+n{)^4iowlRqpRXQ z4(v)oL*-fS5ugahQ{wo7pTQ@Stxd{8_T}i=h=H1t==-dP@UH=u=knmHlVT9@KfW9-ZI0C>Rg0i_raD`5F_nsc+8QBO1lrr153Rc5*AgkpN@qV=|ch2v34u%aO<3XJTSkO`CXO)(k`wzHHm@g zAmIVmIR)E9_FSlYx6d0JQ(`TElc5mY*a)lpcy$|H9H5hkVL29;Vv$e8GGvxtW#@c3 zT%N1Y8u|-2hrZ-H1XZ~j%9TOpLe!7%oed}`Qx8HQ(WV8f?3!pe4BP)pvnSnn*a900 zTmOd?{LNpDv#)(s6w1kOfTwH+4$NFX{Yi)@yfKC7KyG0JXSw(Bz^+lh1pa;hZhY{! zw>Pe#Z$vQ|hRXZ&a5{m{?-b1{6k{Xg@>S^J$^f7hbh?(#N%^7Im@8Pu>=nqXA10Jn z)C5bug$f5dAsqEO#;{83tCHJ5yAD>l??INZbDTbPAsU6Q^`BFa6gdlUP?L}TVM3{Q z@=u*#!tqFP32_K!F52odNWfSXDY5-WiRY23>=QwwUpiCD?l^JcM)*7n7T5vXIFUkI z;49kA?_Y1YMenym%xvtSaZCQzJa9@pKQ%ToA;NylAhNRO7ZwN!E*!B;SXujxibs&v z_pe5XZ=jewMXL0RRwrdk(3HeBu-o9I3lrAyK9%-gBpx!NK@fTiToN$kVh5I>=TrG) z^EYvT<<)z;7`_etDGo=35j2 z=-nF2QCC(X-+ydOB?THxkCZ5^bI~2GOUlX(mm{WL)xL#&FYN|1U=Wsi=ArrR@xHx1 z8&q5bc$WA$1R)_Y@gXs!I0VS8?yQbndN)2&LMm@s#o9Y3AIG;z1&KB^P5oy+829-TUdjWi7gJ@8MAmp-fU@RUFExErc=6)HeQT)b?T?nR|vrJo-@Uz%r=k`H(s|t3o z2oQ7BQI8F#Po**8cCBk-zNQK2Xy{uX_(BK}&p{fRCTSkkRSib4YhpwMDdE*j%f^`* z$5>-WnsXcoQ!IpvDpaJj5gIvvw3U{GrOa-(HqXc$cTM<+J|Yx_KbC@uWtvxWq-r|Y zv$ZcCP{L9^8F}|E#u0e)!C+-o$#Mk|u1om?D)nf}UyPmsVG=G9lifUrM z{~!%t4lg+U@bI`ex_Ce}|8RN^3g`cVp+Kk^61!icLSYS?nFN#QHzc_uED&AhN&nk>tLH@q-zG!$oO4FPnVi= zK7E2vYrwz9<%Gp%i|fj@&1Ev#?Cs{1yaK7$sEWi7CBBhK!FksRnrDJl{Z=1K$?LcR zC@V1DS5)q+7+gGlsfb<5S9F@i$8>`JYOw0J65aOWjA6*xW;6XZT4$?OCox`qWe5cM zQ`1ORUQs3(gyov^HF49x)A~<1>r4~ZQ3b3!iD}B>B5hBV%Ra^KVww7icE5l4yUuMe zpS+pKS_4(q`AOkA_hn}M z=!3`8iT?rPDa@nwVR~1+Vuo5-5r@c>bov#g*sC(GgW85Ys`PwxUs1fZ)}HdYkx~P{ z9g=;$9eiQ2WHSS)pgL0jg6Cb*v_ZR+Fj;3w>z{mLvi$0OaQhCLeB;lbs9Y#+k3ek~ zocD<_&)-}ZuodM0C40xv`D3SKpaiJ>IY5z;mKNSNq@+P#Gk2gOqHa1J%y)XYI=eEH zpPEM#Z<GPQFU{@}#*eEN5-*+Qj`eP}+UN@)MY- zv2tTFQd}w*39!RJTM63?!3bKA!7Jdr`zf%rGRD`M@2)zbk$3d)m$4%VX);4)9%5MiWAx&aVQr^I}#uC6X_ z`@ifb1K(4 zGVMw6^>#W(uJ8Y*b>F(M#%JNbS?ghjPik%GY7GrPOK?-yMSj5C@In0CdfgmhB{l9N zikz@pWN0lU!$y8U3!SAExOp9PYI`n1G<+pxmFmTKT2&=*^Ue6X`87a{tnNNS5v;sLCUo4T=`_fo zf7g`}6IAZ7%G+MB7IUYRkd04AFiQIqwA=>kulh>S0QbH??XlyP#2P9-0H=!>@ndoL^R{CyJK>pj+*#109oZk}?v<_UO!y1R$*z;xJjmLsu zOB-6z=i8%$jSarjyKHTl7^(O9GlorgC0+$q5>%<--PTBVUptYGcjCxHOIW8Ve=HMn zQb0WzWi(JSJ;PybcoQ3`Xy;QvPxCXoSG@TVE~vko5JKf6+nRGi<4+vQFu--=o1lfvK#UUK zKjPWEYgxG5)_}&`=}Gxu217}Q#uV*RQ(8@&>7GSC)HyoHW}l(d<@>8iHw$C5ZIHDc zst`&ZxaFyYo1NnkT2nIn^)6Z-Rq?Gh;kqRW!iN;z;(oh8gW{=4y`w=8)bUec6J!T* z{VbRgN?s8SoT^duUPr8o+kSc67y)z>$^x){I=0;x9QXS@+1IWnE9`&w$P=DV-2$hN zj0bW;inDO>vZ}#C>^AyahJOl*iODL9_ukqPDhRz53_5%Y7B%C&V3|AhKuf8YK6I5%iEjm}dJaw)zS7!&MS;S<1 zBg!7!KzZAWRLQMyy)^RQ$&CZH+OKM;QYkc1)!8EX2>ER;%*Q9yxCQSW8L@^Yn%i&i z$|>RZbiP3=m7yu;=W+ECXhq>J1-dlG_fy?$f&%ntOb|i5Y2%iknFl$~wwJT>Sr`+8 ztM#sr>JQekJ;VyfSC!|qj2((YEP1_h4<^33x=tzRvEkjixhTE@!VYa3cu-z`#%P&6 z8xTv2qR*I^u0X(~2f5RsA$;3YiGepJX#CTsMrC(U?BKPJsFY&5P<7;}8Zpj&aL$2+ zs;(Xj3Q)xOya|4^4}h|-h4)ryfv}Ey;V{%UV2B)EAtC~R4@kzL0@a#g_bSHY9LboQ z6%-Zk9IQF5tZp=ALm1`{P~MIy*tcqFM3?{MPA)Kh)7)G#l&P3emTO+?_k-NDK!y$z z+NC%`g(x_@o31eLe^(le#9NZ^+pSB=*kd84yZONB=C~9P%Wv=KPhUL?{NBT2Eh3|d z=zzJB$p{HCP*E{43DoavaKxoQc}vYF@#LXTbIPo)&Wf=39JEsb&jooxzX^eN-JV^g zM~F}8FestAaG5--Yl6$9tno3#(YlVAQP6zWK-N`o)AJ<4@{M`%bm{lb=cJfeSRLTG z)Sq1geGgPSgnNYU9Oj?Hgh7LaUs(&C`2G|IhI5T=fi=wteT6$HUpeVHTGu|$8hJNo z%VkPnNH3`s1L4#>doNHf&06F}4vgclDtc56p&5PH8oioULf64}gKltO!0ROsk z(QAp8+^;)#C8Hk=q+9&3jTkXwObEOM@Ta$Af7~X(gC>ZgQn`AwW*(_4Ri5ru+bO4U z^~S#)clx_1*i!h{mB&6-1vKj-xp@<2Uz6wM>Yk9^qs@sf?iTTHmDfjdFW&<0B|;GR z(yv2&euPZ@AO#`-13)Bx@I)qMG>|Z9>lAX^L_T4y%?P85c2UwPA0kmrYFXUvzJKk% zAzyy;@JI8%b<NLSP*|)E(+*gqdH|CFNQ8FP3xFZmo_sp;j78mCA;lO%w0I2|-u=OT zXS~lv8}SQTKvyy2(BT4zl z^w5Xb11(PoQ}Cdo&JDfT1I@z#KMK32Z#JwDHu`mbf?^(>-zl!0oCuJiZ)Ip$mR@-u zOn_U@1vr*(U97ksKX_1zSgt6@^#-g-E?%hYBd%tL_F`tupiF7JtcSM+GSxW*DThQ; zRuFlHRC&$)T3Ul_%baqGC&rOUEBPZ{CGQRG2Cy+6-2$YUq}^4kI|RPX0C)lr5@1D` zRxto)S#jU4R8Fo>Sl61pAFLPGW5&47#cjB5bDVGU(440(Qk0$mTTE2$fhmNzK@Sw{ z$YYMUAB$Eau4IXwI?pb^KO z-D&j?l7t`zAtfQ9T564Ua0pSZBDS8QE-ev$5rN0WK1$&PC>Ul>Uk@ug3r4WdC5Q5> z>x;r?Tz-Pr3X1~{dwO2F4rF1{G-LG#9eaz7>8)pBl9rc_jYAL-7N^|T30?(-dp8~s zs@i@teIUVkisSojZG@P3`5HCqe+_~Q-GW1v33;N=ok?&!$lig=kAwe>_e9|9hkng_ z%1P%C7QW3#%0Oz~84!@W{%!nQ4M0y|yu9~OlAsK*B|JVBq@*FTQ*x7&BST{o!b83G zuL)7?vpgLQ7?^Q+`T5!4k7%)?j9;CyrnKcN&H=2_F`%8!<9kKbiIN% zTcL>15Fr-R)r;f1Bfe`x^rO`m!LcSdf($I~9feC+jK8E=SU6mFws-x#qYS8uM%KZ_ zQ#Bu=+ZWoTmF4B#E~k6Ls+S}b+QXwRc_7^*KzLD545zc`_^ERN0srL^Kk<5JT*^xj zc6`{`wrO=>Frd2Z&hd})$K6vC7B(17lXY-Vx_YJ85=eZyeo2A95Zp=v+&2nXLoy%e zLR?z4i~n+T47BSKS5?j0r@!kG2e?ub)eh&!-}A66;wR6SScOn)3(N%iUjy)vjq-xE zaj>N*L;c2EXv}`I`z0G&oDV>l#5;QX``-`LAlJh|D5^*$7tnZEb6$crrNKh(M9gN5 zlb@+T1;irjiBQXaLonpyEgI^3qa`Nda7~`lh8Cjm&77;frgNY=4^x_-B%E zI)YBXoJr5*;ThQ)tvZ}Mz@@^n3`?L}9nIQUdB!uY@eOn9V(oB2FI5Dix3_<|!T~vS z5av>r$Hu~;?+2_rmS=ZKc?uVLSKL5{YdJZ&^DTa?2F~k#pL&^0$9L;CdXZ8qm2QxW zeTW;+bSoMBd8AK!E-f1!9VG`p?aRZqgKEI2$=jN5u)7Un7WC0<3$s~#MnRj=?B?GD z-?o(ZP7a!Ev^kYCl205CWdmlV>%|g~+aFg4vMZ@T0gCbzF+E3nc12k4TV)bo zS7bP3BR^~T-O#WT0>^_k$7*Jdn(=ct`)4+4s~q*UNQhPw`HNDMtI@GLV>v7adbu~$ zIC)&mmYU^V+~Z%w{+MySxMDiK3HV_$aiwq&6W(QdCN8P0s5nw)t?2H4S@nQN>#R10 zb!G|h+^|Ekq3oi{n4O9qAx4e56~agR?aRqyz`MF1I9_@c4XQm_vQe@62NQ9Bm@mBK zv=A6}T-FE7uAImY5SX|+FhWI824R*h8n$R1B|7sRXUd;NnjK!b?F7eHE%$Uwow_Wl zP4#pOZuM8vMPva#i;4$?keGto7cP+|ul6zmrJ-+?t|z1M`SD{6+AoTm%HJr9n9fyE zWYf};l&|{+Ulls9XbhbO4IErI*Gf_YKFT7X5dwz9`~sofdqA`RTqqFuR98^g=iu7k z-YEvCAl{ilfA@0qF|H9K5y?t{CU;_t%A{;b7IJ3$sQ>~&4M;MRO~db+LqWt7^7m;u z=dA#~Zsu?8iL$k?$dK=+Q-l%kgWpoSZV)an$_4x2;p46HaIa57lGHeC@*0}oifnBF zv5<}nkAM*Y7b=g@xWq=CMl#FyNQu6a#`Wu#ZIywUY7tBXgS$Qlqd2Lu$s7teE zXFulmR}VMJ2tVfSscH8*(T&LXuxh|pBN=3L-wi(6i>m8g0SLx;_!JD53g~qflTO{) zPIG|r1^jS>MT^NYfn&|#gSewjO@V_$&E-QrZ{MH8Z|fy8%is{u{%#ad(}|*A18a`Wy1xF!Zm66~E4Gn*PKTjBy=<(6 zUGXNmW{+@5ASTU1qw*kLM$1J@I^wsIweRsXSkYC8f$=L27`YY5~+;N^-;qX;tDAUU~TVG@qI;!T~;$n`<_rRQq9t z$9UX|EO@M;lbfl&L123$XXpkvky~@2IHjYt1Q`o5cm?C|L`x&P|v6qw3(${Nn8X z$g{-Weg(xhfr2d=_^L`c z*;t;#3}3mZo9e$q_=6f5P=N*M)+Cghng=q1zr{vQ=1K630QtYfH1(L%7NF zR}oM$`HvLVMb5_@<$&;rjRUzuzEQownfvK@vS>rxyAc#gc-)mnMrID1&A1&>MG_7Q ze!`#ELiN4BdfZo=WZ`KU**0gJ&y4RJVx523tYa17PX`2HWCJ68i!b`UFnXP&>bf^pPD@b?*n49_@3HJGBuCc2%B4w0xieCJi?O_y#+~ zw=Zf|ApBzCE@FX~xC&5e4^}5vMo&HuL0#nigT3pcS?0cR_LdWFh_p0N7+GXU+8hw4 z5}oR^lNv#xBgKc)N2d5rBU1VcU8|UAr45eTxU8L$!$|}^S$JI=i`zf=j(EFZDT^LeS z?H7>r78=z}lU=k_oJX4P;W2b*{yyRo?N;_#Llq%owp&B+{qeKX_&|fOmIruvw>mzm z;FJ3?zfz8@iY3MlB6c-;B7ZG7@ZroK<>#(PlnIOb-L>w6w78iQBwa};A)9OrX zJ1?&$Yi;d2(T@AJyRVW?6^+i z{sQF%Q}hSHc>WYxSXVlXhoArjEp6Lv)}uQp{ZBidsQh>%qc^D*9S559Rx8^621v75 zJAh}V>dv;kwKRbgVA8JEj4`zdmG1=tl?9j^-a+vIlt;&e?t|c>14kr)t@e%gL1#Rz zH(b!%d6crU^ z30yWjw&N=ix|kSZiGqCxhZ0cBVk=dz-Snv|&y*N|JNb^>-2m@tWel(%DTF-_&12Q0 zV>)6vv=k56f|(-}L7Z&sdzjdq7r>tvbu0{dZAUBO2(i{yR$V_Up}MMrg5u^m8KAx~ z*8RYDmlIWc%)4%qD?Q0f8g(Q6#mNz#Bh7T>bgCzS2<+$YSswsWzd!en- zQojqB%cCV`tkBBK74sh`_M&S9QlKD9Eq~yh)@^5KyClm9b$Y(FP<8c7 za)Ao_zN&PP$w5-Ke$s|@O_>}>2h=+z?YsIA@nMWl0>6u@f=kI$(^V^|eCTfDPWkjnl%A0`ds!kgKO;6#`-zJLz|m0p z?}N(x9g-@qBZ5*u@hhNA-WU!lmj@wiykYqA^78EcLxF);U*qDAnxUM&-u|B*ZIKUV zOqIL(1_sI4bqEq$=WMv0PAYneT3o4)P@@2TdSyxg4jCW@Du!zN@+`4kL4_jVNeDVx z+>cp)*VC6)b(2|f^KF{0s_KYp1iuoEr9BApEilL_XappDj6H}qdI$aiI4H!9bAzbD z!k&OV^6=@u@y}dM0mah2?%_FAT@DNK&xL?F^YPz`SnmFJ0RsSk_-~-!{p)18Yy9Is zZ|d;h^~V427yjRm|6HfSw!O;?9a3WYq4{j=b){fDoqn-N29fT41GGxnO0)tth1$>; zuWiCjGD!dFe=+dIz-&pj&-}^%;O)JmqFB~`VH8C-3P=_ZP!P#EOH{#xBuNqmlq^xg z5QR1&Sp)?n4uWKf0}L=QpyZr$lALGAd6--1IrqHlJ?DJu{_}0tUVF*V(^cJFUG>!S z3s1p)ZKE&Qxn>4{cH>E&<(a}yZLnw#Y%ZJEgp|!3zdd^)5dnBS;HOsy*cT|jkL6G+ z4$N89{hS@Cc9%CHr0v;_dnwz$(~T!bnVjAw9-#a5ecHx_C@R*5TBhk{E=W6^{E29d zqm#l2;=L%Ya>e2JYnq{^eodQ#IgLvf)5T(qQd~l;!)=)9YX8@?xZg*c9I_m|CL`Md z30Nl>}+k}A)|#zcEy zA-p~xdchymCV4wHiUVqykwIF=&ke4Ws%?0-NV!(LuQr4hD9bX#A;73 zStGwjWsFllSetm^k~z>hHjAvY`_3OL$uB*e47m6m4ii};F&)#}%Ok1}G+zhYEU|rV zX>&AW+V>L>qib;>Kil62kQj`)7~!GAI28~&@wGl06yH7q$&*~49vFmL5zroY8!NwQ zKypxSl7BNp0Ay$eT=EknZ8tz%k0uBu+ae}i=yHvv+=Eiy+I!A|J;*D>4Wmk@-3$Gx z*(q|~2OjbWy(X`;5Z32r_L?!VtJ)hj(_Ec=5{5mWrH)90in^QfwQlJNy$sBgzIIkT z17JuXU9)dj0I0{1^{*vu(`3K0rry6&c#QKOT2WYV^YFCB$lub@@e8;cdU?U91BITUR|?C17Fjm>)>6cr{OUyC*U0{L;F@0AFuk7hr13xxb7K3Ti$Y`m~EPQda`~ z10tmX!7JrnJJliFX8VAnoo<~St-0Qyy&`tc+lSGx#ptGT=AkKIISnuO6zSg0`XJqe zbhws~DtwrEkVl|zkMzpzG=>m&`6Q4@OX}V+i%VLLnHPty@u!Kr2!0%v+G_jyFw7u( z+_rW9p0{eqXUfJI4CrZBg3vEc+I-api&^eBur*b3}obZ|T%u>iT*8TSzUv4Ryo*(gh* zJ%^_QFi$%P+f76Z@VXvz?;K=NIDSd!Qpk?hb^V67_|D&^&N7?^AZR)koz+N465t=c zvrHM8UrWr7^P=cjS^46D=p^Bjic%<38Gj668SvS)tOUrz0)`7_f9JzQdI!t|Qmq$^ zp&z4}5J4GpT(sfN@_@XG?a`l{1X>meTQSN1*H!q~r&p zh{4R@!tEj(thA|h6>XIxi|Dfw4K9PNk)rs~3eRAuqoYH?b!#OHh@7l{4o>PuSx%?7 z$DyrNLEZ@HJEHJ3SjHh*=+SF$1vaWuh`=RNu+SE|HQTO_J_r<@(uU+)yO7V)R7hP) z)38^F{ljLZWa}h8HRqH~68Yj;IBpb{o}PVe=&YvtAkHdcU+lCv8wN`9DCazO0=OIo=n2=GtC^xNE+I?j>MO^ zgTPPzC7>F8G?c5cBd#6c8oUY)P2b4@!@&i2@Yjh-X!JOvV}-8x0KV~`y_R#^!Mh|8XBVmWvvg$m9$1IXdUBfF#cv)Kt(R>9lmHoJ0c z!WkMhZY*W4i1=ic7k|@zwr%9&cAPt_v~NkRG9yrP%6UzVre>pvCn^jJo!4 z1&K`=<1ioNL!8`;pU7~uVs%G*Q>YiKiV_fX1O0#D_8>I;q`sbG@9Y_6K92fA;={SaIE6lQnuF+KHEl>RjU zXt^S1`YVx`^LX4dAOO@9A)#1ENKBM=84udqqX4gqIdVv;H^tDuuVqfeJ?pc+4k!ji zyn6sj$gCR_Z`qBMGa!vS?qY!#r&5ta-y3MKl;X}^wSDh_A7ICLQ)Y;|Yi6CDzT+^G zn_Dh?W^qy;KGoq(egz@s^Xx?8WlJx5Hss<~Lnx!yQE#2}1wAxcig_F*EzJQx>fHy^ zRI0*Xg|y9>_YWf+guztSG<|P;-Al|2>&$jwvDFFILF}N5`HyZm08v4}F9hG=JFrP{*>J@l9z?@cg$bl2$# z#u*y%#Y@;W0jcWoAli0UVD%wFjt}?y{n{CllN+UPOK{t4ui-{U)z;QKK0$xke=CTi zS+W{nqGAkBOnjhp8ah>_xBCGQWl&f-K9|0;etw&Dg!UuD&G`vXi3M!tTEEY!GWEF> z#UY<=1Ni6e#l_t_c>+o_M*>D(3CP%38z4J0!EA6QyF@$OhazMdOX+AYO!(c^(C0KZ zo2C*I>;3Zf_PiJQT-uH9J19VDsbL=n)}Gss_WI@-5?vd8F0PQb0K=C8Z6Cma^O=bTMG=qoLeSjJZrj2NGk&#bPQm#`<74Mb6Z_`wJTiB#r3Z zUk}W+8LXP~jH=Kc<6=N4oldBza3Kh9LaLu0&y(`*y?VLp>vu{ocw*d=V!U4XJLkjm zJg_vWy${u90bBORIq;wasHL(zM5*pgea(i$cU^|k)Yj%roWqO^Toa3uKde5#sHACQ zzAhuUy|^26BuMWs%jN5>!p6s!=SeHcV$%syfaF)C6QZNll^WDwpI0r0OD#I$Ak?*P z)U~ga=RU;WNbX$AV1bRG%X+fCXh0yMb+);;}lsknJhYMO2|VIc(AE)17X zSA*4L+Z7IEBLNFPBjeN)p~~yYzyTsw@_CUr!HI3SlHh@3N%$gCNE@Xut!)QV?x}eo z(d#vLB+h1v)CUWAA{dA#$-ttg&wC@0hY45g@u$ZhUH~P(c6{tcfjT{ai%Y7vsVf(x z9)PCrIvb!q4){6-WT>P|bagpF$Hl?iW_I5u%I+{(uAhZe22#JJUGVz}G;bg?T3*(R zcE&pdBK>Fa&pwx}(7)UP-fFB0KIHRUDW;WD)jM-aS6L^1^h1)Uy0 z17O9A&|blOnTn*tn9tq-q6Mgn?q9d*D$=y}&~|Ml$bEysRN><*P2LoVz>NA@40WE8 z7?^=&1@zd$_bN8rGjW$MZ?yxYW+-?d)}xd<9Ax}Ie26kpWT@gJx{AnO7H}K@InkDt zauA0MlUnrK6`}W3viTRq`BfXQ(Ja{bJulo&~kn}1@wfAMyEpC&hE5Jyy{7o%bT9D zy@Jl?<|IF*iadHLpmBkfBy1Ugt;ic>VAgb=som!v*^TCMS)Hp)`qc^LGLLMn_RS77 znav5p4u5qaANmN<8UApw#+H@wozgsw3yi#WpVx{)G9P$1KW{>T1u3ba*pFdl3#%dQ!Npn9uQ0cJ# zHMcUgl97`-lzE4D$X1^nN=dd*x%<)!0C+$}0_roZHA@Qd@){oK8CdE7TonXC9Le=$ zFogFZ5TJspCO!wP_e|6!udd}h;lsG~Ebr28RL$+I3TXv1we+CAZALagDE8O2aNYL2U@;JB5%FE<^DDFbBJ5euHdpxUeL_y^mNqx# z{y9uBgetzlCNol~{#Dnx62$5Ky&8^Pt!B6qcoo0#;jm!7tLT@MJ8Vk>sJPb{>>G>a zZ!Qxg{=z17Y#SFm4#7Gk%OVM^Idpa1fG-MwkO2-pTE4017AniK3vSIg=7Nm#(G}6u zR_Z)(H$&w{!xAcfb#+>d)iVQ+f$eR`HU7%#5%GjbdIrd5(XEuzx5i9a6V~af-qp?w zZR$0*^E(c}jBx{~LAc--(f#!v`aFDS{##NXex>#``^o46a z$S=~0X2)37EDY`qmI721Y-;w7W|sl0SjZ9N@Ky>mJ%Oq9V&Eb}OoO_KtnYy-2(0x4 zVk%ua!hz8_m0!wu1F%8xI83ZT`r<7XsxgHOQd*6DGm&F)%}AT($GsX$Wg$uzhGNrX z(Gs3|(VCfV8+>w*pKzWY%SraD;O6?%UYJd?Irc(w7 z`?Wqe$1RTl_<*1{W4JUtCo9>`-eP^2Kt{Q~e+2x9Am070*oJBB=mr{SL1tKS03rX} z3yFao?U;59bUD%}it^G{u14Ca{j+C*LqY4kU-T^!c~7{0ZGO@DEbnKqzkTCI>h&9` zXZ+vAU1q{}qFZdMs=M2s8V^1(48eOgF8qaz$^Lb@b>Lok-JqRBbPc}%-FW$7KKz0@ zz;Xe2Drq;)kFMWGrk_7^1k6GnLUqlu(E7p82FI0*YY&4+fz8yjNzIN*A34VI;U|Vs zo>#ZUQA?*36LhE1SoAJJh~AP))4{lDKI}7kSs;6N*>I)&aBIa5j5qUHlA*fn@?~9J z-QiM)CRkoW_x0PetK}vK5)Lyv@;BN$6u5-BQ%j#%TPMvMRDo&0O@n(7uJ-_9ZWqE$ zG#q10jc=QF{i;s-1yE1mBw7qi0t#D<(VmXo zg6sgUtny^)Zmc{m@4Im0Q35N?6@&5eDQbD(b5(5Lw^g5WSO_hMriJ9pTgyzNXhCWi zT;z!f(rDwZFxbI(L5tIfPjTKJI1`MoW66rt)$jly=uCwfhGZC>RSk_7(Q9_>%v-Aq zkN>0<7*MCxX++m7zI*9z85#tiN5p@B&>WI{RoE0jTEs(C*QS zB_BCPYi}v!Hd6EF?zmEI7fLVARoq2OM)NTj;MCV?T}p*21s#VnMs2)xnY7sf-i^|m z*Wc6=PJivSyD)=&jIFjbF^U8f2GNeYKou0ODV+J7L5uS!J}T;(Tp|#x0>roKt>mF9i@ zbPYJL|1uT~t~02z?7|W^O!yu!2ZjVW^!-Fat(KR<-@JJWm^6TJ!tLbH*k1q8ORc}X zpGV-B*yR^|xxFTIIZAfZ7fADBzIt&kTN@bq=Mgn>!>i(HV=g`=!j2bgjIUg+YSqs)vlvAz(KKG+d3+c;@ zvKgZ@AxJ8@uBHtD=q^eyb{|^nk7=q3G0I;Fdq?pA4D52R!xg_}ur=~_-aTsOaFK8r z(z-=-Be~+}O$w*LqXUcDLO)USbkW@h-& z!oIs11?1Q1$wHeih9k7{>a>I|wg%>))7T)coQLahm)zZ)U=%-V85T47$b z2fRUX@m`P;(@%A4)_r0*t5G0=`l7*A;e+d1S)Bf(kN}1u010Q}a_JKT#wH$1i(N@p zDDs!`6QiwrGhgii&+!@visuJ>Uw4Z@p^W7q{!+emt25)ZN|ijTAWutU~ zfmm$TgQA}Ivn|?LM9jjX_x&}06zagI`|;rlWFR5Vd1(#Q)anHc*sRRJaPVJjEDt5~_~Afn=Jei6kW7q}TVDc}dYfyfz@#3yFuP2oP9bT= z{x%843LOFi6g1ocvP#O!2DNNA(odOGJUf-7mW>2+{e;&5|D`oO{sg31M>xn3wB{NP z;|x+^y8uI8`Od$~A_egH#+CAz_46&Ga8P!UiqsDjr}kOzjt(&PI3#C1NP!eDiDv17 z3fIq`btN5Fg2X>aoqEHU_v)B*$@?Y&>!AF_{#+fzivm_5*Qp-7yq&zV-3l^R!_eMm zu&vhZuj;^suab=y;}&v#?t!N+DuVoW!HwYbtw>SL!C_jLu#@5d0*;1p_SWM5Zm;fc zQQ)EWbAEGQ)>sW&H5~@r0B5jx&ekXM0NTBH^gKB$$oZLO!Ir}*?!4=vnsgR0b{-x` z&Cr}*=Gx&}!`JCJQIBnI z4g$gP@2zBdN>1IyI3=ZyN)y5$lsy8>yNZWIZk-rR|4-2 z$lI0RDdCp?{=M z=qMW2;zLg*Z-y$g4k-Y>sV8BHpJG!l}yBBB>O@KShed{xnFtn#Ska+DU#{dNvz>d4MG7vBv zYn)qaoH(?<_c{kuBg@ZN1JfR;G05-I2RzCE*^(_;fO+JlO=}Lg7ni!2^BRVS8Qt?( z1bKLNy!Kq@F)7`t4&y#+Eg4_kD--XhKRUKJ1IjSw-@a+lkjM@;zDM|uD*6t>wsGDx zTfv~i2?t9{Rp28>hZ_12urN=AVnzwa<5}x zIXY7YQX;e~TgX zYhDvyk+kxFe;RcFElt~A4Mzn)6;)Bm%`9owtvjgWm(m&6_~?Ltj_MALdSw0(-+KD9 zNlYn^D%m!WtQWMdIT!Xd1GJ{CsqK?I|F4$eCQIaPld)VIvW?b~TMZ%vcOkIFe$~Mn z?yCay$89YwkQFxnv9?C3J6;LkCgy_u9Bgp$zDF@G;TKuLvXhdkLtf~5MQzayi4cT% zp6p!6$l{9LKT}7QuEASoED@KJk`oypabPha^FAW^jmC8WpZ21M%`)o-!esE`?<-ei zFaAZ8znq&DI}8^+2jKV^gdnNN$Je%rZ*9hJg`p6FkX}p3n%l*8-7ElG9wA;#$cT@< zE3X~Sxg*}+4`@$-EAB;c8NZ)=f@zAUlTT0_jh%1T9loO5kUKeg#qtf&MIzw6<1A@E zW_Y4m0uAm6`U&Sr~-~G86 zz1hi}{t`R+J5ev}GIh2@p;nV^cJyR!xcyh7q;^_gFXtIZmGA4LYmz*AlkoRhdJ%W; zlXnaL`G!3Jk3#_jeF>8K0|sX?*Z*;7`sPG5c|1WpM zrVC$P_@aeQJH^2FEnD?&R@6#U!MT$!>M#6L+VVf7B*{_67syWjNs)?3`EJ?JFtO06(UOyt5n|xjBws)d#;i_(Y8k*Z5v~GLf$Vz?wvt$2 z1p-XMA+G$}i!Zt?}7A3-U)V3)Y5>ONL~mjo<9XbfgC~x?tu<1u0vTzDpn(at7VV(d_%~UE&io*uWWWfhamvJ z1O8ldMSX5u7KRd#tzGa(UlnxurJ$Ds02S};)vi(oMNZ)Tx$(PGlNKOubku}YGe_{% zrUl;~#2K6D2j0KVxYqN|<~aqCHVMX6BaM6do`4~e8_0H5C1*r2NQI{oamD)`7Lfgj z`)V3JC0ICLZg-dU9iPhKhuQ`Rm`1^?Tzs-wUbZB!V*Oz5q4_0Z2ubhm0O6jLWB{#? zn?M3_QakAr1CH6_#jZ9JHamIKVTrO6<;p!vIc4=An)tOjJ zikn16V#WT0&}YBpw{p+WRG-1Yex>V44I{>iudT46YY=+2V($(ZIM; z9gQynMK|b_~h`Y`(q^ZMFcBz4aeB z0pn1KxT5@DXN~~01d~P+=2F=~aG;~9o2G6OnwCfw#ySd>JFS|s9l*O6!fOuH5h8Q- zel92d~k zz2hDYI2Ie_zRqLK`%5D8=^$bUo_TBSebe-6*chQ5PEa8?H_Z#+sI;_^paI-OSt7UY z9P8ahi|nm%pyCDud@sNWehZ-`wibtCVj5qHkHQkjSB77tzV{UeQj&vt1PNcfOyBas z13+Vacx(d#yb}_}O4XbyqcD=@%o~nPsL~x@3;gJc9ERQnT-<_pFi)hWX8xeLbbb#| zN|31H$GW=mt}CO!*dk^TXf}YXVBN!rXE}HjY#sm$LYN}~S{_2kU{tg=rx6X9Rj6D_ z24sHXZ&tvDe*%F@jtMd#z_mymWR5D$XWxU!hzBo7{EF}dHU!tpKisyPxq&|qHb_@S zi(khGjKQPbkM7K_B)7yFPYobj-y*twkDn_B!ceXoNL(1| z#|lFh4<*fZw$|Ss_^gOu8O)pSC*%Dx0HzTDQUeK^kC&UV2tn`ph4e>z`}32;0r!=a z_oFkbn5CR!?>`gC84aslvZv5+jmNQ*uMRyyA8m697V(nuUxpURJ~3y1P^ceFx5mzI|zw%B4mAMnDg!dV_44Q zzs&r>wS^*XI%1Q>0qudDr4vnpqG){E#ZDsbFjL~%SMS$yEF{s3kcPm9;=m?^Mfe4P z*8qm3q-0>g2=cUQ>K*aYj><2O{K1$9HJjL$x^ij&p8|;eTe5kCxyxRA`>;)IdgK^* zmDrDk=;v9n?+y;0VKYG4+_D?>zs8<^RJr`CHPb91VI|OdV=p|IFfi`Za8Gj{x&F{GY>B6rGSf5Mz1{=`1kq|M0q9@0?#($jB?<~!D4@HJ2r8OOo`g}J?VvK-hOiQiT5U9KFKwh^WOg`9qsU2xYR zPW9PER`LVma^%hopGmQrBhmzcjq53~4Qp{Xn>Z%MA0}efgv>RnjOEJ3Z3Y#U%HfsY zlJYxkkji)OiUBK5$DC(x7rrcTQSMtdg?S@)^%kOa^mnJA7-clS6dcw`t zp^m`UNFvOU}1WV9Zd*17k7X3i@ls0p{4IGKbp8=o`inu_g9R-L!`;6gFDZ z9(Fv^9F-6vk*&K}<@VBC4t)a(Fz+VUsng5hsvhuuZ<4oP?O$e}jK#*T>3bhos*dNp zo14G0ZREMnEk_TyLL;JXVdeXX{j+{-8||a&zI$^$!LefUZb$C|UZPz0aZD0{jfJ$f z=eCx`anpjz=Hm?}AIh;d_RPB^auOdly|H!r2WFM#3>Ta2Q6XL%F?td=9O=TX(q{Q! zM^5wab`}lY7kIsS1LupXAi@uQN4%jSr$EW#+Oufe7DUVrG#vQJ(;#Mb3^|e-7|n-w z+RkmQB=?`L{#v8&?NWQlR5M+IA$+1nUk|wqPfsnil(c3KCd@y2t)KHKAb2w8*jLvY~Ik`x??{Q zg7Mv3c5H`Wn1kqR#D~7SP>ZrTcu{xJhd>n(Uq3ua{fEKT>SJ z*>Iqm?R(5Gn5XzE)|E%Fsv#9dg}yFkGx%%i+1s&(!tyFnWpi9il|fEFzRZ8h6jX(? z2SrA^-@a~00~(x$G10q9Ks8t*EDf#h1!`4#yB(U{c?brc-B?M@qN{)*#;soE(?ISa zK8%ce*>}Xc*g#o{slerfDN-7v+LG;0_QAftNHc|mE!pQTFI(9;^5+z-a}j1%?JLDG z6sl=SE{t1)Qtgh*I|&D7_|Psk0SU3|N>J9I-T0@;n79B z61a+|iUi|?n?<349~gb`YZJ%!1*&pTlJ5maY#gq5wuPqL4G0+R*EhLL$GA~F*mGys z+YL92fmIxXl#S2uTLT%J6?C=cbPOl!!-YXL!^yR-Y4t}jxp{=vPt?AL>`nOF+1`#l zDC}j~{IG!UM);ONXp|0OqjG01UEnqzEwnK;QIbFAB^q;p^6WYF!bPN5v+yj@jPCa}W9 z-m-*s-DDr>$z5I1%1A6I0vC;dOzW9&=#F}mz-}M?iNt9v#2|V+$vs?W9yZq4-o($( zAM7}m1#YY%3U}m#PXj}o-=tWe!1kvta^C9@*6RqDAr5XV34yUh%Os@x!^_%V7Me;# zD=EEO<^})r99mn6iTBmD5;+_B`ALzj7Mloe+HbgFlg;^8^|Resw8-vfN0*@uaRwRD zdq(hmGKf9T)BIOPrL$AT99#zI?L!M@{DQk=%-xuTbKIt@rL;0m3YC z!ze;hpN;((Pp)1^?V{*}yzfSD^>JlTuu3<|@`=3!rRRRJv_j6&e$X{y7N3Rjd#vT| zqwmryeQ19~-Z>|~+gm#!Y1iD^EbqLvxAyE#a~?G9JFRgRckQ;{*>iF6YSClZ&S)Tu zT)lHH0TpqXfl`3ON)KsZZ^b0NDaF;e_amO++K(SqdFtZ`?}geXtpkP-nJ~wTtf)S_ zwm}`s;=ub=3W5V@{AS)VWK^IFxl6ZK5b!%01qbsJJ?-% z3QAfHWQ=RG6p2xqSqnD<_h)OlhaK4U3>p=hS*2mrJUj;D^5m+#Rvm-s1pDZ{M#Dcz zq;4<57crx67Y#)|u*f_^4#i2LGYkh*Eb%Qhf!fNr17eM38zKUyTs&9VBrz#Ww6mUQfQHLO=#Pdbjq-bB3ii7pUDs%FzA+$<5f}0 zWzu{tSU>u?T)Zmj#SguSC6yu{L2>($deyjXQ4(cMBY_T7$oxu+4|F__gE|OD>-Vrs zF3V)*PkZB&u1=G&`zy%L&XPUIWD{8`&qi~)VSee-+Jl7-Ux=w>l(hMh@X32a`?&TT zRvyk{Qgvy@xlAI}Vd!)DY@7R>&))I(<-11G?#HLY6sAD@b+Y<`$U>m_Ql8;Q`2jnC3-mteVQez$U33H)8*B8W zw7>_)?dn09233z{eCq?HqQfaM=HUk1P+W?falumbwYLWeP;-k(*#W)JSsfh{pY=ts z!x?fp-lBcW;yyF;d8@#E!gp(7ovbNN+5C?4(#O|$(>Teor~*T!Rt~z9uEDM3`g>ss zm%{5qnMhyVOm$O1887g_%H3C*EAUZWF7y0c5^-cCske7oym`Ciqa4D-d(0Lw$HUL; zM@o(xN*mhsA>*&zW8a)=B(2mEWE_7i6<5LXnVPs4E4^H8$9S-1^j5R8v^4Z_d1Xr* z{Dz`ML#!Z9;-88|ql}(t&rApF-s{_!E-)ww=p$@OaR&?7s<%&ZD743HPl>9_i!JwA zZR^|n6u6DC`gre_f`)H=%7kZ^5?=0%e=)ol+*kxEw}Z{DijIcMUwy2h)UEA8{X$Y#|Mf4Eb+vC%ThspVtC$v1bPT1}F#kHt04i<%-T&u+Rg%?s7!}6Dt$sBAOcnaP) z@k;BtttK*4Q^5M0h!>sk;d?Ksr)v1CUCc5?EoZg!uc7I;5GnZ$e3RH?#4o8lZ9eO7bF^x2$w z1PR5G6VTM;VY;mREgFl(!blKJva!Kr+--Ww>kc>N-3j`H6JNL4ZofIImSxDX zy>hCRrU&!FQN!ElD|7?ImTv8NcQ%`sagV&`y3VpzGMkHGhbyhRwFEyuITjlTM@0-) zjv(${Y5lT|#qW-tcAOKyfllqGGtYSybe;IYq8+h(H+`4s%j4q;3>|VOmu`X;=SA*nI^n8 zrYY2Xk8asFf#r%&YMK-9a<2)(R;<=D2+AdZVKH8%(Bs~x<+&fDKSahW)TQI-OVWT9&!qDlDg7kg~88!JLiD* zbj7~D(-M`(>}+{ciwJ%jCOD>>4gYDT<$rNyq`+sSgHAv|K%(m4XOH~xRY#6tu)3{+ z%_P%Z7&R?z+1j-9LBz5{xgnGFs`nyhsrkpSvY8yIbV9ptbl66JXi9?`O`J-R3O!rI z=ZgLI5r%kR+Cn|+<&+i)CYTL@4x_s?m4DZ8?g zP`Ub(M`)(?-q&l_20}}nw>zp3%`Nodr|{k#FBcbi3C?k-2P3jzknwRBe69-pdh3y^ z@2yEs63c-5=1LwheQ9H?VT9E05jqFcu^zVjoXVP@4m%{USF%MKyu8D=ui8#b^MqBAhh}B{08wr?PI^?u)cSs7 zENhib_wLHd=rER!nO0xJ1N$*6>8jcN`vDR)`upicU-hSEL!A=s<#n%j;NNdi1*g z9+pgZ)`R*>J0S?<)~H&}%16Es41}RwZ@L|se{x>-IGP={bBk-+jQQwGrxR%J<9hrw zFZR8X~B zdq0O`$^S|i1~FGt1;V&Ddantq8%bKNNvwEvtwuC8%axl=_T`?=9fNvt1rTSx|E7(R zqnth434coIbQ8v_ODHrgp6}Wxdi8Lm01|caPd7AN7W=?Rq%ltu*A`r5s5?^m$|QSp z^G`8}U+fB%*vk4R{VBP2evfxOKO36}Ss*!a3jPExLcva&cl{a4h46DC= z*rdGz8c2x%1}X{-@TVs@kYdu+KTytTKi1ISXrD$fv}Yi5=5+2qK0o`X!0aWi#_E$V zyi)vuKlz8^uPNKrOV*|2C*o?N^E7|poqwI~-@bP1Pic@dq<dk^S&K31^gR{g3Swguh;CVQ9cCs+k2xTRU;=vf?$rP2WYXP?EXFH# zq!KaB3aMN{S-^iO%cdhrKgYsC*S}_60mpvn#qWEsxP5_)?61GbcbsOQe&QZ9=i%o? zK6z+cq(}7U&+x}O;<9|&I(t$nvu;^i-xoKo(9sbW6Z=+fK%B(>d(7y7a+Elv;vv^{sV|gWil9d8$vx4b zy|OZ?@(N#~fA!;^HhDB@I0m&v83xU>qL@NXE&Oiny!BluWw=T`3`{`}QI}}Ux18GE zsjbdq@XhKf@_B*vEx^raWg`9DMA4bj-)Fx1f+5tVN?wjp(&6&R_vf^X>)dG{&{nN3 z>gtcw9)NGi1%bqX)AW0Mz>il^!j@{I-?PL0pjt!`o?1w5UIB)9> zsD7p>)_OE00gVJGK2xpIF0SX(<%`yT`ln<-^dT^?xxER*+}S*;3>W1Sw4st0PMVrd zWa8L1unh*qCxnGHYo99qu7;yn-9@~XSb3Or`IYjwyXiSuUehBYZmUD+uz#Ksyi>mi zqhfWz2=nr%$I!;+g%RV?@)i!}?7`TU*{mqzK8NO*A3RaY-Bt8%?o;IDOi1FBc2n18>$rkte8$7%VOfa}$K zJ5b^9X3xe;Xqc__RGSB?!G6Y`k!jV%S@rc4%<^7SwVB{Z z@!>m34w_Rpw{lnI19~R&BV$sSP~TTSfagp^3&#Euir0MgU=Ns z!L%-tU3|kp0BP`7wcG{f)CWU{cg0c-oc%QR!{!N%_|?0O_5`2L?kw(e_B@q`lpoqj8ZBs^T?=3 zS~^;nvzIe8>xZ!?*QPVkOwJe%Fobv&mkCJ`i16k3M`&OGznzVmk`h z99&h6)jgW+^kMMCffdlFn_A4MDzBRcxJS)7+sCew!$#)cerX@jdDTTqw#2Yzsrz+TMpZ@;C_D0G@zUG)yU3WkAEONb%UVgv*bDDOsx*PqZ~&d=YN^ zb~z*nJhFSgi5~C}g2mG=vwSuZO^EjGkEbtgzA;imx7l#>@>8YvEIJ3aaQyuCyAby) z(zTY0d~89<0WBOP%1+z@C+UmmteXjH(M=ozPSWam^`qb_zz<^ImV~a$Ilr_vmCJz2 zjX}F_mZ}RQ9{AhI6j+Wz?bU3~H_s!~ezGN(wjcdtMbd^sCaj*eEpq1@u?6ikEMEP+ z!oKQQx=$jn+C_MAsPOyb^1{7tzi&Lz9_yb$O?3L-7R>*?$o;o9u8u%VEK!sf{W>X` zI+|c}gFITUf|xdX&En!+W)Uf2Qh9k&LA~eZuGUwDPkt4=Z}Hs9+V!fqc(kx2-~BVf zQX(SJ;nzMhK-bLfQJ<~!nkQ1KTqSxXPJZ51`fBIwE5&Hy)3Cqc7wGS5=)bfB{f*c9 zpSl43y|??{x&Zwh5Bc9({a2&V-!#ttTNj|eZ>ayrE7>(v*i zPf0~n1|?sQzDjYC{E~=>*#BKkg@q&~qfZUedY=ZX=`~6~373+(Ds=TRso*0E2P?4l zN(+mMh@Y&*F0RfN&+JJ(;#bBjp3)33lKgVyFL82re|z=E8#>f4ES4rnD~P7Fh=x}{ zIS7rubN-s*$Me^)*r7Iuh&C)B{zTa^bk>a)U zQ3UwnkaR?0VcytP;p%&-M8*%nl~ET!|)}gAuwhJa!+RoyV+&+0Ol#ACml~j4YU=`-AtL6l9$U z8wdG_QSh$wdp*Bq{1oYXmas*Xv$P{hh4Xj@1VEz@3^E3@YLptOutTO#Cg3E3Z-O&_jvw2~^gaM+&J1W1ZIWIe3$?K*VIyyTy%{ix| zn^WuPv@rCLBci6EL#d%Q`g7E!0$>c=@ZqwxgJstJ31bp}P{5dxp?_bY{3bBfJ`j;= z?HSWo*59|?J*jv83z6f-9z{Ps6ZQE)ho6NgtKk#d$j=YLs@l!vSv+I**_2;w>CkOz z@_ed%NW0-_M`oecvznJuSeIj0WLYe?j|hJ+7UeFBKI{3ix{;Zcq%JfHYW84VxbXrub<`35r{L;lpfrd6 zfGK(?AOPUGx<`&Raj0-W^aOR>fV+12&0)ThWJx|?KC#nZ=})S=L0cIbBn`(tHg_Ez zz@E4rRx7Ze=9I%KoB6mu`C8?{Wq1gW?z^$NSDs?=>S@2H@PJ0>ELLeA8F2ma5Yqe> zyXZE$YyWY~_t2au?HesLpKY>V2z+qehcspdADoTQEW<^kepw z<7BVB>|TCNY4#E7GCPV{;B|C)$MM*VY`ok-f(ak-_VGIrHY7pL0?B2kOH5|b9_#&} z>M;Gh$~PO?oelCR>Wa{?s^)kf4u_X!Da5xJ%92IIS!}%p5A9E7-r~NU`KZ6k_z+rn z%E>l-AO+u??k)QH*q*k1;r)A+5kp;BTf6>cu}S>kOUp-gePh>e1%BT4U2dWIkz_{6 z@TOZN^O0(x+(?6+1FtBXP5EkZ=8do#Q@IfSOVLfEA-%aD-1@ZVR!AQm?yH$TE6~32 ziQzfd>Vm~cyINepj$FqRSGn8_rL2y5sO)mqUGqS8Uu#9B2m5uE6z>~mf-FRwB{V8U zhII`6MqEd1If->LAGz`JI7XnHX65zX1`3?YdmFQ`@w~?L!tfW#;?Aqd`q8EYk0{?g z3(I@nITQ*08!%NKuFA_%{1Nv98~g6BPMxRsk?zo@A(=OpfnGn*h2hZdF(YGwyh z@?ovT~;yB5oB*RG+Fj<34&y3qQCBEnkWR7Aux;zN&e!fKLn#YK6SMFRvjA#b!? z@A2cpmt7Q;;av@CCNy-kPJ?!UlzolZi?XY$hyM2M2~a7OO+-R0UdYQ@$$Tp^&fP+U zl$;ERk#f@GR0!i^n;RRuN1l8#oO<99Ff6GviW=$YD33>#mU{FJPr$A~%*kfcXK!DN zZUNS6I<|;3o&JvbY@LOXLO&!hs`v!VE^hFfA*I{N-PrwiIFq*x-PZehzde3#>TIL0 zACpoUihPS-Jq&xNtjxG{^xDS@u&${zXQywvuMclV|4?$>nkl2c;)Y0sRmzS53DaJ+ zVA8jucP+DU(4KP7UFZ?Yu-KaMV9wrBcV|!Y4qz_Z!Z%JP_~Q#U!sZ3DPO((}K6W3e zm)SAFW*ZIpwqu~=Dk2pZ@Zp>lbyvpw_jYtGYU&*7Mspb9 zgalYNv|f#_=IX-Af_R=g9P{ts>M z0Tsp8t&6&KD_c|)5Ks}2mLOTl8HJV{BxhQ32FaOH5okn2BxlK?$vL+YrO7#Gnw)HM zeoOi9JMX>m-}CN0cbwLt4WnvR)v6Wd{N|kBcjAgtN$S)>04S71r~q zcW!&>Rz55PZxH#Z-)+x5dz5kf<_q(#E4IB?(kb+!S#rF5aCKDi;NF4H&NCAOR z(AEw_a@#=Xk2#pyF!k-@{k&W(bDdYtan@38sZC9^Y(8R|%tcQ*LL{Zx5NH-=#_Xaq zj8~|18pvK0Z}v;r$irZylV%88TeE&w*HKZBCj$K*L*q`Y{iJwv9NJz?D!|lOU+vYC z3j1wVLRB{%D*_3r010@^il>*C5SMB=eV5)ORI~lI0qa^(d8d^XQBAwK2h!I8x4)Yp zWw1KP>H+iM()m@cQ`)S83T9rp;Z8l7=r)_z7$|}HPIyEXj#oF%v0PYQh$3d9Q>|DM zw!V>b%>MG=5qBc;WESW4P>o!h1y=R6KJEBjK~&uA23|dQ5%kvt+@iD8&1U;wWk5+S zFv>ufbYnVF_{Z|QCO7}xG;4>neuV#wC8Z5l3lygGRygOmt%*_si`GmjI;Z9@4(IuDO z{tDHFx(YLAM5p-qgqT*uGvX2L)}n4m~vbX4hT9 zp2DG#-#5D|CHE=dr^hM^$^48^H~41iX*9bGRB>P=G9E+W`+^f+;N&u?5@j za_74mSW5oTFYE|b>M}DHks%UPAbm5EGig%=hV7p{C4OLb!q8hOTK0VLJIdDKY^e34 zrt)cc%ot`(&8RLby|>tW7n!;LW2^ev;X;h`K79pw&dq-1Id+7fMdv-j^%ZNL%!C)d zhFQ4PBN_EU2!Y9#R}<283^3~*d2+v}o_pcOSQK%{T-CQ}PJPU=$6Jrem5nv) z49wgo5n`6dqhnol8G$wl8U~dMBYSWAE$Vcg?A|rb8qndXwf1$mJx@%Kmaa+3VEbvr z>H6IEwmN-?WR2r4Kf2}JsfSA@4(z29-OQ-S#~9$EhdUI!*|t}$O&1r zIb${NlP6YqbtMKTUfbnZ6^C17XSb)Lcs3@zmZowIs{v08Vb3fH+Qi6&n2@7F>#!os zbzI=~Nww25G(EEdhogq9^$X2@jRUfy{a=0GiplcC#am*c?-7UOl?|pAHbkHNfhxlX zI5lkC!(fkNrmb~e>2Ozt^b{NYNSDY0WPb1ce2bQV&~A8hLrZn8P^K-ly{PmvJ7Kt#vG8DwC*|>0V7r9f z)i!8M8m5MHdG-BbSbbzFA7fUcGD$#&9 zhOvdVM(yq!;L7n*?T2&fzp_Wmio-L+ijbLI$Ai(e$R+cyZ;=T!q(^K204>@q6_uln zI|qV$^cm88>Gw6)U25(nG%%ZGy*XPl%!hL8({3jMdx<3!Lr~W)ND*h9`opj=vt%v5 z8HHAQ#%FL}@tsC}+{gZUqAb~nC`A3;FQ|o2go;=dDX!xxqMlgUXN0YbffiQj-p>U6 z%|9bYM=Vh|UO=A(s%gAy6Hiu8jbH|ZzNvv0u4+ujB{v%Ni)p{!Ca~up9(&fx0zG~l zinN*Xa6O&`g3yIeXoY-`sY=Uz--hzvi*a%GYci`vt7uhzJxIL^`zRwhT48;gFgz?G zB24YsDBC%mM^$B9tt$&JbB$A*$v{8bCOKgMeAfR=!C;P9}pnt}yp zP-`ptQd3GtN2kM1_0gSwG@17Xb)jP*naoI?JY4ZNoyLQEOVp~r-At8~^dGn`vS>Kx z)=%xjn9~>c!3YCZLMBsTBK`G`wCr_6+UntBJui-JWY5aps@zu;ahbq{-`r=vw_*JB zRJ8rww@(y*nd9i`u__g7#_KF(<)vmt>#8bc2l9@30s_{=x6;5G@yo3Vs)V(EBBg`( z|CBvld$V|-%-5)5e;q8 z_N+(UZL(af+G4&9Vf4wKkllU4aA_twWIYiBVc{fI3@Rx*HxJ*7065k3`93#%MV*Av z=Ie>G0s`$LW1?cdZ3}jjr&@@H?dhVKmsv5wx-5R=BO%q227gUr zq)9${;qD(V4TZP1`mJml1Pdq1z~384`5LrOaq(J_1{%TVjWN)^Q(xMs^897Mg7MD> z(ExZoR&8G)!3`7AWWq7h-rnBdHxP|fJ1?vJ_Uc=DHb%Pb36sZuc`!ck+JKG|gHwp`NUC7FuIk7!hfJg$BAH)2t~b2+r$0Fq$`9 zN{^Glj&vix<=kE*04dJRnXRL(t(^;;D=Df3uCNyU%KKR_jRS#?yS`=yzv2T-I0$0! zd&!xRc3(L?KHmA~{w+%SyUrtIWu0uk*CVhH)S;qouo%#0^VunK@gXc*zo1_gJ9%$4 zLQSLBXl#{(dPMb_3@iqyABG{Ul5%zQE9?)~;joV}W3SZ1t4BnPe+7M5Ni-57`I?Ku z1jSAvkyRVFJ?^SMhwpwG&`ZM)uEQ7+XbS5s8e~etJ90~+cNXJ zO#Y@HJN>a>xIcoOABe(mPiLkA&&Em$7qp~jqLW`*xAXIRFxY|A z@+sp{4C%RP(Fq{~S=KV98R&GfkDs8=EKlz8@(l-5Jo|!-IH^$+rjdl>?wA@&(Um-_r8|2Po>7I&G|r{rjoRVi4|#X}~8!z-De_(>{PYrW$gV=#%=996+9 zA=3*k?@^@Gnkq<1>4XZ^qpe;1+xMPf?KR3%aCAIeS*<^=(U9ulcbOaJrsXz=w;HWk zKyJEI9qBmfE5dBT`3L$|?-(OXxgM>juoML}ruBZO`2igB;(Z<^d2ryyL;w(q-|R(-io#Vt;O z*O2O{ioM*~)-6s;17>a1oH#f>?`|~t-qP->L2KY$eRzbVw(p#|&NGeA``mRT;UddA zJNqoMwXy@Y5)ihM95t}wi~5KF#3|MJ8pS;#TW(6yF`+5(M8RZaiNoL9ibV?n(PwSY zCqC~5CGy1dg@tt6$0>3_w^-UckWbh|*!Z~CHM>{8_7bTo(f-!_CJh9nPKnoQd#ATo z-73Ha!NtoftNOAsq1w_@R7uL*yu~?}k&}>w7+Qi3?h_lPc-%e-$h2-V0l1IqAmT4& zX6k3HjiA0HsJfK@gfSRZmr)&^b)8VibqB7aV_>1D0O4P+vKe=gin z!_|*oAlLje>=?kX%dhKDoh`s-eMP!gF5^0jSp7|jM|R)z=of1M94Pp>`j;%87c>CO zJdbKLrPRj`76Qp9f_K7Rz#m}Zfa!`2MzCX2i-yeWTdw=IOMoqdWSu2SV(mcMN`d$c zr83h<*W5lx*82X+i)erW5`~oEo4QbW{9Y{Fh1gxdh$U4N5LlO+$QA1g)XTUo5&w|} z#>MK98JTnvEp!bvKBsY$8;TA8iYR*g=yYEq3!d6;oWG_KxbOVb`=~SdJfs}Bv)#vd zmr-aEXM5$jTfs_Wo7chZA9>oOKbMB*`B``X*1+2EJFzTfJ<1`iMpv7ZV7)2}RxA3) zr)g2~@5}|R^l89ztx4Q>RvpqXnCmrki$B!V(<;;aAkn0*&ey_Fa4yD}V-CSpsRVa4 z`l1|s#g^4?@u`CAgRQBFaQ>9aR)un+1)YFCr5Ui?Wa2)lnkCl&x6(`335?AIy6fO? zL}_{4x*>mIz^^=dbFerQ6DGC@3pZBUcj!KJ0?x`q&ydP_px6D2mwBO-iEBrb^$tSL zx_SN?AbWviC8gyhrRiYYvFl4_EoUC;y73Pm@MP|DE)8JGU69Cz89>~e3r1Y%T*BMTzyi)Rp_XjwiIk30bAb4hz6g)$o}rS`$E0y`CHSozq&M-i}F{5l?ePP z9v&??{UnFsY+iNs{P>K_&OwV#X&rLzdYo`>L5FSMf&7)whQ_j*26te`LoMH3RZ22K zw+cQ>OUq}AsWL5PUha-ka&3}Qaw7J#%!I#O$Hi~0m|HwK8fOQl%6I55)VG4Iwh|S( z@WUpuds$3;dAGA`F-P*pvhVYRIELy znayNYykRLvvVq8zG%kvR1)Nk3?R`>(ww-`m#u>(o)6QukS`KZjUqKJc7Me<37IR8S z@n#{|E=D}cQi(|jX#%iRXe5BE8&mH(In^bdAvn}Y@B!`wd))BxN-iyJ8nA;k4<}M` z*`t|hS!#i{6%d0LZB2&t6rJa~*cVW6IX*X0`&^eGe~2e6q5@rAzOM;V;usT2_p$|9 z(+z<;j~hb-euM|KG5`W&Pj8aq_rE9e^YA*If)h>vbPIlB8NMGi*dk{OosZV4ol&uf zy&66LId(1G69A`KU)I25&gflB-1_`+WNFIr-TV*xHRKOO^&d)lJnL}6RGI1HWMe8!NXer^%fTt?PDQbHZn3H z>s-j)?6CZZNB7Ym{wx*MXE%Ri(OYagxxpGlAsR3iC~ywyfKIl4-}t5JvHjbU%;&!} zcBw=>fB)ilaHQnVm;Vt*`JIyUJCJhm%Wrr7mbv)$>Yw+t7vG-z{a=X7{4Y26`}&tI z{r|>!{*(4T9Gh2T$?oc)y*bz!`577cnb+i;oj+H{qC!J`d}?b0Q4WC%9m2M3f4bz- zbZpb_z|OjG`R2H8i7RC8>?|Lyy}RQGYTCcOX}MeKviVm)Nsf1|`(zNg_j=ulgl@Gr z2lca_pWnX^mA4FS{1yuaiBn0VK^oFDUqQhHqQpuz^XwhVyBhB2!Sg@IyK)w6`VK#FS%oZ3L34Q zogE}XW?AfJhe>A1V2_s?ltY|4SJE1iy6lM0ZUdPjY;_*q5lA(Bvu%TywK zer97ZJ3JT=WjU{l8yS^IGE;IEB!-4QR?exYIB0C;pr)oyO0oqNNNelsaq)5D!4GU~ zY}D$?PEJnzz0dyo>s^3UD?@AR{pe^=Vgi^Ya<$7J@P1|66nsId!&1GtiqH1{p~$J$`leOic2o`y57F)vvT#H3 zTWkz0LiTG$TdUL4)356Ir%>LtgSpzy8~sW3fVrO*T;2ODc+Ox>SxG5s$bV9`)7{-qlb$bua-~Ii3jPvX2{>RXU1Zb2zjfU>?|n*&7~2%3m-{i$ z&Be#V^{j?}jU$Tua)*MV&9l9;GX!xtfyj2}Cn2CSnW~x|`Z1I@g&&Ok=lb=5{_ZzU zPUa(+42ArJ_Is{SQ?Zcy2auO*W)_urKGz?n!ogAeYfc>6`IB0E>A5bdXcV=e`!5b)%2T>8eKY>IJM9%LaGaI#W>&)7b$OXT8VWURt% ztU}s-#ilMMl_e$pO&zOZw+8Yz-FCJT1t|fmG;j4FbpGlYxg{!=hqdjv%y9(6q@J(N z%5C3RKr6zUdDg9Vx;f-^d`6S3nBtcx=%(eZV=s2?_JQ56%b?>AV|onfg*~ZUn5MS} z@^po54J=@r+PjO^LkYF$v#K*Oudz}Gnd&m@c`5;yU1Ryp8n@zdn+e5AlqIAYo`@*W z?^}Q{v2+R#&KuUEu|xgy?zbp}k6J@Bs8;meo_hh56b2+6#$47Wca8@!#-JRp!m!1J zMNV!Z<-{tH*L!Iz1W?E!j0Pjo-!29@$$(>{5-j8?FuERaS-e7V+l<$E%`L2BRzbH` z?JqSjYimT6+h7~8zY>JJD2X0G;_%`{X0x>kz#JNdG-AK6+}=1mJo%&ZIYNOkMV$@t zOxOJox7%abB5{*S%ZrD1+y##*T)O2`EJ%cwg?rX%Wqe+Da&$5@oZT3&m4M@&3HFy{ z@o;?JS3KUQGGa9E{w@Oxsqv<0Z!CT+p~(Mn+BVG^m?U|7DHuL}%)*k}-p-u94d=AntGRT3oSmIbvS(0~ znUIi&Ldn?3vpReYFxxn3YQLPAzp%Uvl+*RI{ERgqyc+MFn%!=;^TL$8gY5 zU7o10+y1NzJ#AY@TSAuR#?gt9E=TQdF!!Ui!-!k~QnomC{i(mM_^T>&{OMIs7Oqq&A*A4QpUp^P zLT1`hO(6zzvb#f3LpD#ddPiFA_BX6$ooSPcO}jW4EGLfSxNb(!H8*cBbZm^K5&Jh# z!wNM{<`kGZyNMKdAU-*>uAm%}*{AXFIW-QZ?iMNP9(q^KLDYTVw z%0&z7wmJ@F`MAu9CnRiO`wTrr>s{8Xi9%j!+$Bq#o?TN(N-*h&k&PEDG*`A=nCsAX zp;L(d!R+DcDx1h%=!A-pol5vyn4I70ZZQKRzZNC4r7I|&7<&mPBn;85-cP?><4woF zpqap^@KB`xJ4(1%(0e?pQ`alNY^qL#{u8<3>u(51UqVP|qR>!+Z+K*Rbu}v!AXd5; zV;Ng0qW1xbBntgH-v;)EQtO5OfXC#6r@biku4{U`(85KY2apc>(*2g$Rr0 zlP<}J1g3-gebLy00-pBEflVvpSz?DOQgAD7kM8f@?e<1SDjfpFc5~H*KS-Fozh*$v zu$2K+Mo=lqZ^6&Vu(1Br?4*Wk`%9Cm2_!(J^{m{YQcxC%`N``QfnMNIkHmqwRpqqa zzKD9(rYi5Gd{_gNhkd+4>4KO(Noi?nIj@dJYsyPX=I9LMY-Y46(-M}NPbk$18jhwq zTaW!bUYMvzI=REn!5;0arJD~08&JY%lPeueTfvbdV`I0dxIbuq4hTXOs1LEmZ%ov2 z>yJm3S!;W^RzQzAUjEs{pUe3eyJ4v)a+2J41sQV!0=--et^Ensxwtqnw(OjouV>Z5 zyKt&cTA3v=7>nW1*;#{yYg(Y6aUp(4z>I=I-6)Rx8l%;K&jd~Xas?}zQH0@?!fWMQ z#Gx(?=&$Tj*xc|gZLXU^lUKb1Qa@%hf}?JctDFuq1~z@Q{W|sGL^CgPJeFss{qlCE zwHvNND6rW0_JmE zaDNzQlaH~qJ$~^Wax%6=(#*>@w$U42wRYQkUlSvk&MX@H_r*d)^$EA18insnP2D)U zzO%CvXkmZq30oZnmE!%~wQ=#pn0Yf~26Q zfc;nJ#YI`z-#@=S5cMu=DJtq{SBS()LwHyNU1xf{H>IlCymrd`;+;aGLiEv)2b-Xv zATvul5mBh2K{6AXCdK{1%BIa6IGau(LBseyX&~nmdUclgF8<%`?~{I13pfETHt|mn z=oOSnNf&@=qB$~h{Z~Mixw+~P?k{#IdhJ-#0c*=Tvpt~2X{)BAL_|y+8>R7UvZpIk zZ3yL#!C-J$%_)UNl?N2Y6}+l(&~J+y+_fB76yftLv-LHUhAp2b>V&G*>$Hp1n3-9k zuHp$)OA$A#AzU{nPuoQsuIW`fTZf}(o{ET|_2)=SEr#0L!!%zhDju3a)roXM>l4q@ zN_VS04A^w5m=(gyZFLKaO2WuCCQ}p+#*i`Ul%#v&35-1Fb#=-udschZc*f`ZZMM)! zA)>GjdX<}}zB_DHR$EK4{oJIBa)PnF^&)BNoVPTp#uS(Ot6kJe=OnAo6m%=))(NH1 z+0xyda+@h*Qt=?@L7r-CA^dQh!@jDDzg-kq!&o;7k-%-T{HHen!FhXq=y%ih`rq^g z85o5-JF_IkuMMpSDwXlvvU4m;tMsU7p_^QfwzA%<{+XKJ)zt$vdb7h7R`)kE55PVE zUOwqvQZ?3y`1r@+-kuBO9s=46s#Ku=1*XuwTaeiN=KPaWkJRheZ=s56Vpgho9twLu z)X)dv+?Adb^5Tum-b`Uvn|fX=RqEPd9W{2}Rwt)h2Mli$HMLwV6{Xo{ zH%RE}N$>*=k_|0XRdf4S+zCTYyl6&7_;8CH*wHfU4(1%4L-eP8Th2eX`WDI@oq#&4 z-kimOt(v{fpMXlhW8-~sXlQM1d|{zt((^B0<8V78+iPoat3#}#Bcm#a@S-Bz`>PIr zHWKdBIet}zyO%&pwl3z@W^B-zc0Urs7`ihey=0|J)~IrrP+p53MrUKy<24{Ig1 zvbN^pzJq7ppOvGA@%B3tGNDA>1vNeRFE@F6o* z(>ivn;b-@kHtg9ZBoa))BlUzC*k^+$ReAOf?Afm5|1yqZElxiqgr{MDT!C`*N^A75 zupLrl+XKUJO1RFwiXYyH#R>NUDgpC3TePi~dL<>yVx;J0SHeUzcA+B%%F{kZ<2N1c zY`Cp9leq8l zAnFW3!ULF`1XSbnP*f;#XLpx?a`^W_-cx?JYC01I`0PBJ0^Vec*aE}gvvSVtn<)}fSIwOrXAcXTtZn()a{M|_FbzHFq`AG?6eVD~*G+u|OLgd33YwY^ z{>cp}clJ6^6IIT6I^n=%YW!t*YiBn)7(=x|`Dab^yrH2gOt0w>9jzH4C6$&@DP ztE)?_9I6l{FHRR~Y-G~h)SQu;YG!8fU}-frHdYm)xi~dYeTYIeM#|z!~^B%wKkhrk+8in4To*&)a&qJ~; zAe7%wprRI|l#I+AuA*679O%~B{}mz`_T|exvcy-+q^smhCvL zwVkKq|G-&Z6ewMqwmcGLL;dN3OK%~je}|zcr+VV!c?g(bG?fig@+baq?OuADe-jGb z|JQkZ(|K)Qw=O>k+^|1ggfYd(Mfah8IU{b#2iJ`LxWaP%(?xGv%bp(lHZxL4$f1xXgDE zzXC}bhEP?+!d#a|M0mJY`q{;K-$gzFpTR8pf$ZetV@dAcsiz=l2Qg{hf>E3JUi|o9 zc!~>H>o@-NzmaeJ=h~P4ZLj>V!ekYQ>ML83Gml$HNUnEuKpi~R8ro#LZ0BxHz#ZDs z_wm0;DGA>uJ-J6g(XsGGo>D-Ctm9&9g&HIOi2&XzuN}_ukZX6vZEtl>z;pNx>waR0 zRf?fOU|?WS&?f+UtmK7P?{5$*ny5L;;ggY)($UctYciXfX2gUAe-4b%pz$&c_l)z`XL1uPZyfm2N($Xokw;`}q zDu9a&jLZXMn<-uy8$d3b4r`s0J6d8R1%K>!OTSRVXV+Xenldt#*l%3j`>r)== z9NMn(;Qw8}O~x8T!BO;1{giD4@>c-T*z|Y)K|8ZCe*E}3OVy1#)@!M&7D$9AvP=I- z`?z#|7r|**QNcSlGV1E?Ze(O)GgcRf6cwA|+{%VF&wP|Kx@rjs0s;bPlhs(XZ&Gom z$}E0{tEkY#2s@OiFvhdH0Z)kEbKcd_u^ni^Qyz+(b+f`t46x@0km1~DnYp#TewjyC z-8V8e)iBj-1ZzCTy$7|&xAnkY(-FHRPcaru$u*ww(!qo*OT~R_3y|Hg3VZG8AQbYQ zRwDvQ+qu};YtFxK&S!DRMi(!#e(Sjt#G z12J%{<|z*HbjO?_YwgX^;(dTOk+em+R#dCB zWbOHD))*)U_*ah|*rgor?6Ev~GF*K=-6W$P#U7g8{VYH- z|28yMr@W6lj)}S_a?4et(*IAlY)$=|Z(<_9aYOEwHz*0!%AU zmmdr;6I>GAWRO-ln0r>-rb7w3ve|K`r;b#K3)OpT)z0h90ihX-UGdgNMn6juVq)kv zi@$zV@>MQe7;H zTwt^QfP*76DypL9q$YUdVx``C>0|6`$1Q<(46Glb9;lZ#aGoia#}bp;SW;4g^IaX- z9xrqA@%814?Z}$}v(#z(8q8vL0(m{cTB}@Zug?I6X>HZ5HDMt%HZmgW35qR`#xX&9 z+4&hm-(H;VlJgKN0y({Xj&uO2KK)Uo*+<8bE~hW8SK}Iu)X|AE?TUE;*J0fsEhUHF zB`1gIZ%4o#w?}C`JhVZ|Ws+fZbaXosRmFdP&?6F%X`85r^)YsK?gTFvX}0v`#TC3A z+T=EI@YVJvAev2(@Q(u3&byDrY1L-;kDw34wQ z0^kO;X&=qY+(As?HKph26dT%lvdU{bO0h3P4tRojsuuyFEvlWDKG<`$+^1YzifU>_ zWo7IfT*i9t)BqJ#h^zmUOW2e0pnv;%wMzby*IO0!^D(amlk{}eh)78q92UR&-o1PM zsZF!9v-{O3bxr6wGpYK>hmS@0iHO~fj^*Y1UPrgGw}wqSxWL+u?H$=P?Fd4CBKqe8 zIW*;dy0DIl>@*<#Q!afebCRs%W=AZKG2JEu+nO9NF`>udo<@}sQ2ta3UC2d2wJr2( zN1RWp0eI~|D_ z!mD*XT#!51{uT)$7z5cC#Y_kJSx&H{HQ1EG)M$mB*p(|+-n}~LK^}na>FV2_FoLoz zy${!&-XP&h5eW&uexBQTdR`{X%Brmn-J7h%1B)hMh@!EvanJ+qN67~t8d=7i8=IPB zXpHUbet`%UF@B&$FOWG+s7s(EOiNF<9xkD!rVeq#SLtkQ{BS>05KzJZ;M3mT9%xa< z^4M-pR(IX~a@#3^-+`N-j$23wngheMJtjh!g_D!BsHh0F=@St_TD;ZWg?Pe@|Ia_3 zdxDwYzI}VSZIU8RV8{)ux`FvOf0n^%^xEnac4_)`7c=vj-Nu=adyk*tUM8<$}*ylz#VwI?Kxb_FM*zf>Ny z7{fXBPwpLV$JHL+Dk&_B=t?=JULP$pp}X@y&~d)1)RI-V4x^Hp*J=8`sxCnfp!Jsa z7k2g*VvklFV&;1&&!s&vp+m+N({*#|YOU)?wsBx{&;ugE{Y{U;k(|*DoI2hx$&k86 zN=}aF$?y+?^|5e7R(?jycyM-FTB+$!89*VUchw?Dby!<|Om4JirIbM+*Qlu}I$v#K zOcz7mjqa*HbcjlMlnhLX>I&XSwr(_Hb87G`zaHX<1EYoG##~DfrLfi0VpZLEpk6EJ z`uhB@(_^BL=Z|g@T&EDS=PeHJI2u!3s6pG6tLG=+09AX^WV(|~`W2i?CGae%-2cA& z=dC>dtolkrqhsN{sJ@k`Xy~=w)ha3?Db0hi@*{V5u&z6mw@F<8P~Z3=mEAl#AukUq zEF|Qp{h}i-p6=&YbuvNuDQ9i11Z3LB8X6g8qEO0Xq{i%;qN2%QgdO3f&xc5-0qAB# zbHu{4E}+oPcji^0hR&;3X0N}oZCWUXJYnP?#q^4LXISpy-?*WwI#4n0BBlN44lqTs zGqVBPx~jL#AF72*Cqsg6zc9^Ey{K|Z6?KU%?Z4{#zVl?#{lKj%O#T5tK^O`at;ZT?R^8PMK; z!I6RfowNGC9q>oMH1?KxGOdq0f#@KP3-DfVtqV=x;JlCox#YAi^LHCyn%38!5y?MF z^pvxa*HdxaAv1gM8~+8Ll~J-PlEJ=))8SvrXJ>zr47M2+y$p=x-Z!^gTw0jO8323M z)79XILc(qFj#g2QalI(VL9gG zVhKV5-QvzTq4T!<)fgV@(LC!|4%4o3t3GNWA;WoO5-`a@tW@7Qk=J~5nPc&2f3>e% zAz#R2f2zuBzwIHxpXa*t(+;g6bAzlscX7aIY)`kiE|C?{I`c;Up}=!B+u06bY)2;sQ}^ZH@5rC!2gS2JGEQJg#%XrlTQ}dber<%DxUv?2M_KjnwtlB z632GX!E|*gK(4h$yY!VS&=nYCXhc(U6LHVnTl!~(h48TG@aX99Ltg?w9`pM%d2IjV zE3*0X{lmo{4L3+xK@G6+AQGM|F6Rj%=?Z}he0-H~n$Up~?u7tp(!i#*6lnu6XslmVyHdaBVcLFB~-#{o35@^>cWLVh?bVT0SS{sHy^N zKb?*aM2pqb)oq8rGtqJ9m87PM`ERbIPF+08)?WxSwP9SuX^BSNcvX0p%latP9>>*! zQY`+NY32?wF~{oKO@BSzPm<*h%+1NEF&*NT(i}-;;CR4e&F6fQ`lY*oe^cn9u@efA zcU2J6an-ke_`~0cbU~{n#9;J;{0CqZDhz{qyEIdyu)C2OTC;y$B-Om_YG>Pu4)XO) z7k6@7mzl!XruBlnY856Un+$+fkXLi(Ma$1~J$<$HFGlS2)PLX#IJt3rZ2@^MZ|duB zVUvRg@!5ZlKexVD_@7ltpMN)HZfj6}v*k8(UGMi9Z$}%D7q;A`Cs1mq1oPb2P#@6- zOlohJs{Xls8-2d+xz51lJ9WPUkxs!4COmH(O1U|XM=Ab#+m+SnWBkfYLn4uM#lpf# z(e1o5ekED!QhhmyAAPg==i^7410m6ZzYij_wzc)!QhWKO!+&3MD>x-DeeeFJ@s+o> ze<%FM{X+k?to!#Fpt=9ZMv{z2+oUc~;tAh&eGnEECkiJuN$;p3=e8c7w!Gl(IU_n) z^NmFjpI>n}yAk*?Pp5hUaDB0jGhI4ZsS6-%11UKTgA)*?5D6j4W1@hUFgv(P`@6>w zJ&)CdE)9{FsIOwrv&Ry_`_M`12?k^pSPfTzq=_Al-6LB{A@>^K#besAx!P#+&YG7_ zJ^bMQzLVWKSZf*$8jHw1k<(C7aYKQ$^AXIHd|c(5*&ScDDV|FQRdoTcE9ZiJ2o;|t zY_Jxme@2uaWvr8*@mQ|7;t9keq0FdwkK5qt^zw04&Zp_9K;^^mzZ5PH0hl>8bzaOP zJR(9EI!gv=IK*0>JG`$u@>dzz+OSyc>CxCV3hP{j%#*~IA$`Bm_9=EAb$TY5?TQbL zn31ni;da*p)FKups!Gnag#Lb;k6p!UYkAl8IK@zCLYFR>V#drCl@4V~!$0qp6=%r3 zF2c@zUo6dj1q*p7>|PUTd)wN2U2FZ`eUgb%383FQthKHxM#ic~oqTqB)c+DY6~-?V z1g^S80t!MS&Uwr2%a{`xBhPvF#dt86zoUnF2$=(xst1L`d7L)K_4K|iY=~^NVK9_} zW|s&7TytN@IXTu8Y7joXc2(G``Rtle{cvr;{G-Hom?>9E4YUvt)&OOj#G?ht}zVywOT7$iKmv?kbZPLib zL=-N?kX4$!1;Cu6BX?nz7_jMmddPJK0wZGAZf)(^tnL3yWO(%NH?}sc#i|)`NGu8! zsV)Qo8!awQ2Y3_RNmmxTPN~^=Y+DuDL`pU#s_#;s?K!>qiPZNA06xH@X{p!fzr<*X zTB8&n>(vtI?V?NJDjH9g`qLz2W!Hcd$HchKBHPI`A)$u)`tdHHM!5PKhTDc7ZqaPb zrZLI#IB$-i($W~hrLQFX-HAAO9NR%D2)%i(qM~yCt^p1sBz!6U(!*^)yT;6WO1SoH z*kyWfy&5+t;Iw@B^Sm&i@RvUUJ?BnGKH9p%Yf&#z4~R3$s^uM}xlFwSvC9VkTb1^^ zM?b_Q{`B#$<>Ey#iBBM`OUf3*#=>;0-|3lt4rZ4B=X=GL`+7n`x(P)2YEa~Fs5{{g)ECcd>~9g; z@x}p#Np>s{DOd+K%IUGU&$T^}gjQuYHwfZ(I=XSuxp@1V`lODIB^e!26y#*4hSs{+ zx`F+b{$&Svf39{U8XAn_9q-M!N{F4G-x#Sz&=AE7KrbHM(Gx^Z3^chlZc&3NSLd+l z9ob0{@KfZ`H+`}Emf*xp)b=UmVPtrCZ4mPAKOf@xonKpMm%QF+zposSDdz7i)EosysGddH|;>Fou!tZD7zSfkDZ@E`;|Nyznw14%EOI7!)4-5JQ7JKQS?2nXu%#izmj##aZ&$7@L@27Z-^Y z&85sc_QRQ2!q)`0Owo0pMzuwfYg-R4B%$O z&a*=4Co4T{M-&1V+qHMNVK{)R!7O^98ivrSkvNyfT>zql?@a$lQDgA}1!&vf$Up?P zcW7vl;aB4<+NAH-&KpxDV=n&&6SROXm~`+)gW6*=GqW!dG2(Dl=L*~m0MRWh%vjIe zxIhh>0Ss{S8oW;n4ZQ+-0kB0xoXyd=WLw!THBf#DTDjX->wxCS=f*Qwl($>sq zmxh?3y~U&kkar5gU_>F`UOmUc;^HJ}EczQIm`RUI%o0LFW#Fox1L_C}mbHfNavxwIbbTWDBU+d|S3D&Z+Gk#Lw;KM-rC{1$V96h4ay%vlP9aef_;UsUN zE=-Vj{fuWx1IgXMzyJ^~eReM3gn{GX9mkaYHddxmab2oJJs^z%it~9P^Y%Q)7N#Lg z;CaT#Yt=I8GgZ3xjDt%}Sv3gxvC{L@*~pPOxWx%NKGqh?CVa3*$IR?G=U3V;At8YW z!zZ|IJ-%eyvor2118gdF)&%R}ZW(4$?GgTB%xSos_aY#{_6YbnwfPxPb{gdX5a2r6U%LjLZA~O(oM#=b2lfTH*?Lo zx{yGbO5TV2sih?a$bg_~uz-A}B9o0}4?wyf>=~*K^eFJg1v^Jkiv$5!1fVg2WSw(w zcyYPO3hqJ-;GsQlFt!hh!P|uje@0w7H%34>N>~i1bA?ZQ2Wq+iuqB)pm^IC7-T+p{ zDL1=c3pPTUX0?2c@yXr()C6LB1&CO&oHaf=xFeQ}I++U6vO8_g1y%^)PyeK8`!5TZ zfgx+GZ1d};jj^#5e6ds4_3Q-55v3P~5E25zT|!*^)NM<0_t+v6MclJ4urDnwjbSr2 zF#(Zsubs>ptf6W+f7$tGWJIpU?sO8uN@pA(LSO->gUQI;fFvaRfge+DGx8o8!(;1? zU2%e0OjM$(Zjwl@X6H#O)baZrSX&H$E(6hCUSVr>G?wS5Ze}0`A zP5@BTGBJ6Kd{hOUq;FfV5GNQP9j%J;1AR0-rszg6e7n}??@MROz#hs<&*t|S{Xpn* z%r^{;WM)1=Wj+xY9{KdJ*A}a=9dvW2kAoeEnIHC8X(}n%FKzX_xN>Z6Ve!=RAq9oA z)v*u*gLz}79YCnJw%(Wyf^5!h-D>VXUSK~nJ7dh`)cNwt?081`Ch(kG)_Vljbf?4+l%!VzDCmo$Wu3xOZ1Z;(zy*I2<51#EM`rVMGeE^7G3rcG<-Ig77_$ ztor<>*4C|@938!*gdBjmv0D>kHC5R%*t{^&7X{g#iuo&3a`bCfj!{7?Z+!cB-#kD6 zWhk*ZT3hbbVq=Y7tpUL(fRHl!EBszk$@i0Z0v~B#zV!cbI7BMn0oj`U&GF?>7q%yN zbEaxIggDxMK8N;p0%9Jl%&V}5)|@h3)2($j?2o!`sz6~mSz~_q0BmpW;(j4X`o2#? zf&Z18oSdB3nctl(Ndqw9ueYD3r>25JSdQR-)X@1VjN#I0I;`a<_HEo0j!ur9i9(7E zbK#OSQc|tJr*wC(;$mPU3dmX4@zxQ9Fsau;whh>eW%2HbCKY5#8i5Q)FIp;ol8=rR z_2zd2;2=xfB%RJ;>R|mD)qyj3IOr1LRbh`p=ee@m9e*(~Gip`YTZ0;{^GTs=JL{Tq zLilIi|6D>uA*MNg2V8n_bCElEJYceFppDhtO$JxLJWVv2q+)cNoi|q|4o#P1 zB7F_KTe)14r=js`>Dk#@XOB57E#>xrSXw(LHx4`fr5lO-$%4*5e+4Bn&DmED4ytjn zv9-*+i89x1o7+D0JZqVo^_PDs=b70+BA)`%ZGCDd=*xeX22Wky6xVY=C(bUcs9=4< z+AFYFRC%^S_@%A!5q;Bl` z+%Th|scB&`oksB+|Jb5+<-ui}Fd^h_Wf4uIm#OYB2S@@nNUzw4fyl$9HC_Z|U{iJ< zNa6%D`&}?qzxhRY?$W@qU-Q4R2c{GM`AA&!x zw_VAdroPtG3+@e@iqR@Zm5gf$o5T6i)kM_)@ai_~hS#pyi+Xen} z=`QZJXEQE$&GKK*bLs5;zd!z>x&H#t^*_P6F0TK7(%w%rqXsB&_-Rz6wf;3BK@m(M ziPJ2S5Xqg^Z79^j%EiFo7(2^X`g6kSmtW20$t*a|p2ljs-KO7#00ZaRZOoPy z7OZh1rq9uJiRJWM`!rkT8LUF=9K{PA(X}3ngEqPX`BPiRCHIR_fD6lh*B!WMSo-dt z-ETlv^6}2EQ=M9Tk8MBX__&UUy6>O-&r4gId%iZlrKP3!1q;rBA3?A&<*>8$4usEu z7D?2|T@nfotHyi4m+J5u-4J<$)O6eGCY+kQGA>B|Igyu3@Pq{zT*=`mZ}YJ_2ZzM6 z8>B4M$zT)hI@3P`QT$_qdqwUYqbDbx(D~c(8bO#=fm!RQ6FC`+-pT+}pb5^XcHX2- zt~oi0E?yX~^w{j2@BrQ)$X5&NFcEQGB1??=$?3j%)<9Wzy7q8_-)UFK>4>=)heZv6 z!vuFcIDt?AxIGZLa^LFSERG9}%-7pr8-PISCD4_Ru~`p!7vfsPKRvwEt&J`RxaEo?do zqo?<83S5Ydx_86(C7jcEbRW30fRk!t0A(s=cb$-yHUnS54WL{CjgoK3H^4-gvx#2qy@M&1NKO;eS zmg~*dR@CtDues*Cq<3ZGg;#OmmT(myXu3sHF!eTxD8Q&alQ3ToFW+5cI_uk5`6f|M ze=BiYzN5W84QzqCADA(=BV~pF`vmbH07QE1ZLqPj4)*nRU@$hr-6+jsx?ALcI19Mh zIQwlRhyhlfe}j@PzuP*F?gKb$|MC<^`9omzdUZ{n5@*QTj;0oZf+~zEdL9cL4|(~| zwwq_bx>2TAuo_DrIJ^=0wH+U-j$Q ztvm$y)?}>OZC1NUJ$2aPj+;-%ENB?l(CrnjInTOl`d&C2Yc zWTW00O}GyQD6f_MLSO8jov~_n$|?}4wPWF$`1-V9_lr!HcYf&BDF3Tfyp^~fLNr=~ z*a1Zwmz&>AmS_j&T0cZDoUb4)$VQetKuu8wctVthC_ zI3tsM0)4Ap7TQagDd2N_=(#onkgTjzLWY?})PtM$JFl{ui2vC_J5?`+(+1NE(3QAs z7>VB@g@&tcA`hZ*$@%rwpshDDO6|w!jO5vDybp+WS{X#G59sO16BEzP&3kD0X=p^j zD8Cm?jOW+d_8dzC*Wlb4J!vCMfWJQ;ibN;G3fNRFXb7=F)R@{^TN!jer>D=3ReS$| znR%_h`TiK3(|+wnMfrQQEZD6&Dd}wCv86biv><==MWTDOGdrG~JS=fOTH4xUH32V3 zBenpDfv$K+1DGhIw-QsOt0K2BI@MMqWw(fd983}{Xtez2%wCfp0CN)9B;q}}mgcUA zXdVxAXf6u+1H*$>qg8sxBZJx%I|2~G^y}+cA9`3${7Bo(hP9v#1b|}M3L*Ha%zrDV zI`*_O2d$(KHQI+7_Z+aZ*=$N(L+Apdxoos7QQ!;$axv$fvA2hB&VXXf2>U5TG%Y!G zd9?7Y&)B=#yR=~3L5qinxb7Y9`GqltUy-+eo?TND_x`;=AwK8pxnD16C@CL_8+LIR z9Sz!%_4MumzzbBlw4I%@D?eLQzY>r;6Q4rrb4NH9@TS6mRQ|R%2{DNr71g3SO8n0r zyBfdc^#&#v(@By+b{p%5M`vNG^`+7#37YXM@{QZ$If&L)OTo1)I%!H{Jw0kt(oh_wGGAT(@9x zT9>``UI4eQ1joh_5X1ZDu6lKnG&Mo=M)7z@6zZT|m=?GTT1OiNF(V_VeOhxf9W79xIE|kx zgK_D`m$>`gH7BNn9pW#I&AU_V?(sw`*ZAVmaC0MEpt&fR+sP5^?3$!sj}* z`sjAciGda5&l+po5y<8V|UhumYgeZ{QE@%U!S(jEMGgAkj00@7J5vs zz}8Mj>)>!auiS!FT(5H811a2aQwnu=DYnG}QW(U0FxJ-7!r{`<&XA5F!o*Z1pM+cx z|2}D>dQ^1?43c7t?yo)HUv6b$TU*7Ti*}2urI?nMdQMAAW_%CY^30U5Fl;BW0ko`e zgADtKHX>(uhD%JV&3DFtRyR`a();5_USJ^ApNH>QTJ5}-SFZ&N{nZA#JG)$_T4}K# z|99tx2tSVe6oq7_rh+Mpa?PEMIDb4w#)XODpbk|*$Egme&>+qoj}z1U5_H1Jsi`V1 zlE8}&jnUV)$j)s)*__NE$WS6Dp=g}6ZEJmAzH*PUxwX|6({Iu?9}fow>@2l}6Mz{R z!c+zkknqREd~5CAI3=^dKqCylWd#?oz0>-872nOsKrbOfUR!*hZv8B}rMRRd6Wj;B zC)+j!Ni^d{kg2MC(a+C(ZYZ7%2?N)JPf-?8!VKsfyIQ1z}okQV?Xlvzo8_orvUL3YF4NlL$+c6KnO zE6t!Q{nppp`X}QE4vfb0f9yp3=L2v)e-uE147F@+0U`t6s(ymgHSbI5e~qCb0HTfl zaVK^=IQRH5?;-UqwKIn;J$pHMh6?vjM~65#Y(2d_uUIL*)Drz0aP~jL&Hh^z|G)aL z|H5ARUnljyak&5X^ZxmX|M|xuf6fpG=fB~+|I@#|NldJ;`g7loiQ!^V@-*<^99xz- zj6OKa+fU&U1PEq@)t_pj#+{O<(ldIYA6SQOMh?_WIc=@kZLRYa*Zw)cU5!^Xf9^S) z|9|tV|8wK%|F5ph>Gl8r&wt?~<^~fK^DsB4(f=pX1LuLwNQKplA9?Zs`CL;WN3LI| z94Kw+ZaI~QM)Mr1^t=CaYOgC4XTBB~18wvCdGR9S6^{ftKD&J-+OE!?&Ym7EK160x zf?%QIUo0KDw0R*lLh^wi^)kmJAoBm=WToN~9bF2zq$$TqTj8+Kp4vA2ZLBK4v{ZMy z`?ryFHT0{vmk@Fh_xa=lqN6is&g?7?>gnm}^jH7$YQ7%YkLpkpSts)G3%H#KTOAP< z`}+=6fQM>|vKPJiH+-cS!Y&A1q!iF^g=sJtDY!hX!VDkfYupvlkn6-E|SRcC1S z?O4$*4o-GU6T_@@Jni2He0+ehQD}xmIGCl|Fr$+H{80K3fR?vuZ-bEZlnm=5PRo8O zi)H`X)ztJC;6tZhzcja{&$Z~=u!9qe&@_@J6A2u+lVZVt4jPAhUHaU!XV3g###E0# z1A&8kPob;3R{1Z4o_mw~-b(PoSk5yQm2KGgkvC$G>c-y1^SKCcaxVM}%f`Vmn~J`k zPs#UrJbJYhn$yu@6f3cdYZ-*$Dv605nePDDe)=Wy?`*F(vLOw+pBbTQyw6|X+9NJ4 zy@b#8ue(lzCEIOn0ItL)k1WpZ!o;M(6fh4_))&rf0I;}Q}`KIxxBtvT;- zOx*&Wujiks)|&g*+1M7vvzeuTx`N3aHmq`?xUo-{sEe^G9(s23a_;`pPSxR=Q?d&n zE`&5aXdl9OzTrgE+vd;w1m+lj4kFJ~LlnEf@Wlgdy$ak$XH(oT&j?_rk?Z;srePhwCbU?5Tu{xuI?vajX ze%v||wI*>|7Uk&dKbU%P@q`J0e{iq8`-$V9p;x-1F1?zWxoK2%WJGl22x@nC z&`-53noFxtFAGuAVhU;E;^qo(jn05w-C@#^)GsU=t$ODQ^S+)d_Dmreb7=vaY{!q* z7S>meMZBHe?l&kk=r0ecskg`S`}!;&2-mpm=*d`t7ePB5%8H2dCI{bhhOqXC((m<6 zdR-9{U|sFJ{TqhHB?WBp>@NP9ADR~*w@^U|nPh-$ZP}9@vBl2iTdip?oi#f@1zu&zBj{VZ)sI8^JFrVgr9+yQQgS2*U zFUhQ}V^;uN4Ey`t zH{`}fc#+xIW+jivwagD6e21&-tc9IQRc|GTNLQ1DDC+;dlB|#cSNS(T=Ty$Q>PsT7 z^HmS%l~feS1@d<4vr26@)}gXDZq@9nM4<Du=holAXeCo=-eE~^7xh8;IMt^iZ zUJpp0RpapJN^^oA%Xq{&jcPkkT6JMS@CRt=utFGD|t zTcu-Wlsk^e! zfY8d|5o!^zO zM%lZpFV>5l+xtS{kqbLT${<%z)N(H(2UD(R@~7Vs=^$Z{ zoD7v{ruG79Sk@IXGVphhsQ+GK-uo!FBgj86mdg>@ZN9tV>a?PDTtp-2{!m)lVX2uW zP3F3xxh1#$D^V7-ftfxRd|U&;eDBVyST3W1%=qcyLA6o$S+JqS!^7KH$A{IUCZ40c zwTJJQ>Br}Ef*#Y~hJVbqFAX2^Ii=U<+T`8mXqVNl{(2Fk+9{zcH*ID zWrlEAJcti_HoZ05b&HPW76V=2pfLOW6tQ8IZaROE+vbjx-41DTTog|JKG_z>li(D@ z5>~4kMwDP{4cb$sP-Uy}o!hjY53ZAttxW&kOgL7Z#UWnWoqVBh+x*$1`jqB0^+Iz` z^Xd&M)a16iAjQJnjT+3#oJx5}>yG2pN5sP&*jqFu31^9En_O$x zsd_4Y{=652E{gXg*`YW|CY#T%gfZ2}a|qTD$V5uS_rgn6y1Q8$UCR6-M?n{?HGp_+3;O!eAGUxK6R&+XHJ=B<|QY zjmTHM!lQVh+t4W?ROHlO-!;LqbYW*jxu!In)M!EF$bM~z8C>iti70LG?W1_~LX+My z6W_RT1B^OB!+Y&2-i7VCx#`8(>BU|8Uvq7hM5EfVE&U~SD-W+3hT*GPT_FZJy4&%i zIBo0kosg!Nlaho$#Ayhita7er-Jv<})<5Lkh|Q#D2#@IJ}%wFnphvex{y;zXur~>BdaPYs|x&vtc|_r#kuW) z$DWYMO#nN+LPlt0s!y8{(cHM7PnFQfl@J9WbVRR8adY=lYYVVdvfYx4?ZB*`X(B>2 z5tWjVx7r~Rpn3m{QJuK)jDpdxs_M`V4aPcIr$fBV>Ktxx;}a+~8S?Q74Rt>6^(Lb1 z9ZVZosD?N+!kv2HOry+^6WiZee`V(} zOA`?iotFHa@hV=VKA5;1XWw6ORZ#xRlDUlsT(yG>K7ESJu-Tvsh`@;Jcs!IaQb~C5 zIU~ViYO0(zSc*2-2Q;CVHhq6IjmfC1XV`ic`9Eja2@0&&uO@Wg7+w)XYRs4F{Fndq zLOq=@Yk9lBZL!q-{P^cdQ{mf2nc-m#KzyW9l%Egn{XApKMC!MvJ1z1A-%gRo&(KgW zH6uYjAz7SO&u&14)JXiLp`MX}rMh%6K*mlx?bVe|I+do9YR=+bk&i*bC;lB3Z>PpY zT9_&nsg#z0)pxc#Btu3fugoBmhi zNr*8;KNEV~Nx%xM%E=lRN>{80%Q2HqIgI|sxx0p9!BSJxzm@1OEByqImO}(oKD2$~ zrFkN*o?z;Xg z4Iqg_|FCXHd)Bcc**)6X9&&a`@+9+l}sFLJGUe>=EO+P}hX^*zcwOm>qCk z&V4rBHkFm(^}hNpEj1b)8xkFj)|I>Yqpf9U-JWJ3EiJIb(IID8?V{fYt1%bkV^laX z<^FrH-Wrr-{TNuH0<_$$kKn4A-kNQ3f07hRMg zbj-+@6E8xY=uK1qVZy(j@7?pkRub3O5(zjg^spRSP9d#(qWOc142?;dtgBY^i`HV| zOwt5f`_xuJXX8Z)-DJc`r&IkrBF1W@TX-jepQ+>)=NCi>TYk$y5fM=fx~~qH!dlai z7WtT_o8f?Rli{69)khz$p5Dj|^{`N9M;;ZZ8P18I)+R?Ht1FyDY}Xe*h1FgO&JWgu zDuY1@>8g~R0h*HKNQt)(A7wk3?H3nwMM}@R)i~Addv@rGAbU|h@a!_hJFAGSDtnY+ zY?ZO4HFy^V9hNybAI-inHn1|H9p7w>m)yX|JEetfuZ+g}xJ7Z-cpMxjV$Cb;EoQ(j zca@7Cssp#DakT;LHM*1{>DKlZhmn4WYKK-;W=4We2)?*@>y)tIG2ajUd?lq&b%f@- zd4ENHeHO2AtG0rRq6@5ka-!o<4`GfiIlb#L*oyC?TmG!Q;XbZAv*eo$;;NF-dwzA2 z2dw>RlISG(&f%&MAAwTq?woF?Yc-G0?r)mNjZZ@L`K$Alh;B~v({sqT#Bq;t&@MvF zTIp!gIFl7y?QGf7?tVIIq@{5{qphb$^K3omAqu9a+U`JchJ{tTI`DKSi1tvQ7|lD* z*g!ii3jc7+*81#5rD{FmPPPBuG|TRQ=aHU#XV&E>>No62SWox(2i*U09-9#oDWrfX zbW8gaWbLKwC7ov=@$-YaIftpu1uJ0ynGV;k85;4k*52f09UtmCOzH(vCA4u(-8YlU z%EX`eHZE$asDytEP0UKlNl{-b(JY5*l{DH=tGALK1eQ}hTy}~iVAG?+txPQcNWUOB z;UN}!9C7fLG)iq)=Y~GT5HVDkR!(%;JFi9PeWO292g;bn$;`|{%e>7bGI~ZqRY}dl zW+&~?(9mh@3=|dZhmg=-@x!JiHlM*dL8^9s zfwPkqwEW(Qr{1pB)5_&&F;s?f4fw z0t^?t5bpInT&oUweIfjkWCfS=0{uf}Nf1 zqc?9wpQ!?$o9D2Eh5goAwBb2AR4!Ch zz#sUFWt6j^hPp7GtNexqn7jddbEL$51{i%rVd};EXs}F;&sd44=f7`=fS%*`r05#% z=@QZ7WzC{yg#Vqhis&@+%_h{#+O`V4RItyC(fx-87SyLTVcU*4wSd$s!` zIJVM}O4PLLm!6of$5rA8a6nBPoF*+NCs|#UsX-CraN!xHBshk*RB!E zuP*ezJs?^|Hcf_-o1`hYD0xgi*2dE)+UZy=fAaE+;xQROlI&(U(`1@7vkT%v8iQD) zc*j@1))Bw;&ep9A2aAtKsWLG?diD+n3p*UfaDIu>v)qrwBq|tYzT{KWTvJwp;52iE zVL&VeoaTRxmi=5KL5^NRNYg@}wb@|mTc<*mtp0366%psznPJqI7BnUz$i>A4Xge_i z?mXPgmdN4v3>|`KU@d~CP?K7Y4D=f=3)?xvj*hcEqiux~K#1aen+OgMtHB1sZU-*h z7Ca#K=qchlooUMuje9r-TE$lEixB?(((FfDTP&w_aI|q<$&w(A=$`5+o9!3H8eC~} zVq~DKu1LRHLLT*46;Hu>P;MB;V#?>^uU`(e zH3tD^Yj4gs22!q>_GYS%*LV<7H=E}c#Dz|U!UYbZ77=1*R@T%^`~3MuSJ@iEo2$LT z`|3fGL;%eJf)#AWfy$F#c(nCL`aXw|ghbQa98C^`u<+z`jv(;$PoYmhkU`8HxrN#} z*;}xtC@L;$2%&Y)KFeC|bS`q%+`O574{HKr*Miv%o0sCKv<)TyA zY34mse#M)h;{amK;vQmv9BeOF8)SHU?P+T`L2OqK6^{Di+H-&MY|-?p~BB z8blelag;5+z-ysVt9SU_m(!>NQIMC9=>^e zPSNBwYV*A99bIbjP`sSK99bR*#w#f5t+XmdY?`O|H-H>eClRo}Gk^5cRYsR@MIA#; ztj*`d!p!Z^;dzuZTy%@JM&P9XBqw9({u!JXQ`bl<_y<&VB{UUpb0G}#Ny^$~;7tJ@ z!>U?ZLa6pP_-K}(8{BVvN~}iJYdxy{W@L$fg5yiT^Bi9(P0dOWaTs^#s1-Q>p#yaB#sJNZINW0MVOKCv zg}Nc=XxWyJ5;4N`n)hX9Z4e!mqg${QmF3&3OJpPzY2PPL`Qr^mO@3r;_h?rd0xGs= zk4%kE4SD8&@RBi^OEu`b7x@R|EctS#S&!FL+bxug3Ob2g{F~2x!VRmhkgP^!mb}3Y=KbLR>~v-xFBABXjLZE z4!Zb%iAC5;KZJ%?MQ_2*;AUVfRvsEX zhf~Ca)J^bJR$P`>F(M^l@;Y;?@IDLAazpXL1}V#RQPV5L1oOi|ZMjxgfA+NlgYVpV z7hX#R4|jrve5Y486Z1Md85)KD!ZE9F{Xx%vJ1MFOm2T9b7sqcG=MzXd)NzR+{K=g< zL?TewZu{`}!$aVmHiygh>U z39f6jx!-ty;Q}ajCX&F=ClmwbF@Fo?>*Ww%k;5^mi9h1+NA^LyZ`!C= zNkM~Q@MPvI3?z~M+yFO2@Es4N6l6!nh_nTq1VH#6b;=O=dH5U4h;>>V9(L+qt_Ic> zxNEg%>-{#g&=P`~#m2ATdBF~>?ZM819mwP3RdeTtQWUMMax1+xfvK|$5^{_BOz@Vl z<%{|Fv9koR)EFKfjs$kmNUqVoyd5y5Il4Vq?&aHteg^wiuVG zUkRjR(%Vae29}n$!pO|Zj~g0Q$H;Gx(U4!mF3o+NRN3ME zE_obu{)`^j1~+3CvBS6FO+T^u64fgTuZ>wNi1oYnj_xSyn3|eeJoooXNdZ@QFX_jR63F9O zby=?XZf?V-5UFrgwTPIwTTBe=+nedf7m-%-D|lWUH-HXouD}QGE?*wR zyT}yKeb=|~@bC-{PH+p5y7Tm@3`n=+6%`qEIe2+hwYA?i9!xJ6{{;wr5seehYVrT- z(w2EWtv5wGv=`L5^EroXcn>wi2{+DML0LK)OO8IVj1?77QKt@SgmCdp+YljTjur$f z+V`#`PzD>uo$U=Wc#p;4dpNJjIXZinX1i%wfVR#o%*FA+r-+-Y)!#q6tu2!#E1TcL z(&JH-%E5z&h9I|RK;pZe!@}@&EZ6o)Z00}9Tj?(fu;)!q%PlCAJgV2Ngem*D2sL`) zg{ATllL$QAI1V$>sD>;5^glSq>i?c9e)`Yw@l=it{YlAkcF{8m9_wVv!(cI?d z>&1uZi0tv02Ri`Z>sY8-PyZ`9t$`jtr~6t>D<|t3?(EJPXUv;+W_9caoX1J`wcc^KjmN-5uT^gA zfXx@u#P#gpCXwqa29h&6664I>bTu(wCSd#IzNBrXo~drqVF&fcSiBMW7#oW16# z_!NPy)r9zhPX$gP4e==@f=qD?$S~fvq+!#RFI`InToP`B;>+ATNTUU>q$ceAnEpG0?Pz68%mvPx! zw6OBQ%p9@>eIa@-fQGxLrCVC3ra6aOH{*r1C>p>+v2pRu1?8lZPaaAh4=3KFWJMaX zcu!85i0bvo-Mu?zoN<^WvXZX^Q_tXt(C5js2x1Ofc8ypg%r$G{*MoJPfz^?OZ1@XE&5 zfM#b=s!B> zHVezGHN#iw;tGDOdyO@H6cvuJ9 z7lk?Wk5v`_Qb-mQ=N9M5R}SbRQyga!0Q(8nV>;zFGynI|1GFI>%Vsw9G3eymS)A1y zN9K}DS@yqopRi)~M^W~gCHCc!kuEAKMzFj=JPeYXYb7O>E=LdbLkx$50+=NEPTp(u zzp=Gz^8hkAlo+(DOnj4)>VC-Io>CTexpHdhJrbiO>|X7-G&D3gcwA$OPrSD$yuO17 z+4j5w`D*IR?o{caB2xgyNm(^$$A$0mr|2BHf_@Y#UQg8*zZ4^%HvpY+P-7!(9dU&& zo_zDSS8kxyqepLm-#TwlXjvp`gf0${J4g z-Kob%-??(pufCwDD1yVm*1}?h2DL39Cf!i-4!d&67!VuB~ z5ecjFSil4yR@;nr0 z+G8Wu>MS*#r0%4Qh3zXI&+=I9YCqF7-<%B=FVZ`b(AGvqgOentW@h4rQ6j%B&-vA_ zuWnxFGI?F)=HYQ1xKwFtXE$i!2)`t%)TG_b8X)|TdooRa?4E^>;!j;P&xaqD6&a)v zGHdQ%{u$(l%y$*r0b%^~N*Ni2gWus5UrNeFTtf1jwe%hyLAl!1GU6@hBOtKqmYF>C zLJ&d%3ZC>=6YcS}AH%{7&5WW#VzsehqXmYVuCDtL`ALh5OH+)X3!(g+sw&vuy@rZWJn7H`q z!?0ncrbhoa5VOLhhKj9zmKv*qZ|3wjr2DffL}+Q6x75^(T4Xb|YgK8~Jj*bh<6RMH zZEEWVngV}vEnuLEd$G7d?YcEG;&$l6?DiR=8=cWUz+eiC3fG~(+)U&)IPY*neeg7c z>xt=Rp68a37BX6<%@ATc5VQOJ4xzX3XQvKQ=@W8`{=Tlmt(kgYb`bfgB0p3?BA%O+ z(>s)QgP4G(#|d0oI&?4aTFGIeU|qeB@#fcNks;KZAO>e<(8xb@cjx3N?6Yv*xviuq zX3$g>3Br&;ziP#1X8dv*OU5TSL@_&8bBPdUR+iaJ zGwm_r;yXvwXwfXhiAKov1|?nCQ=ss`%$&`%b=4q^RS32A^v)Id`Hl!73FXHrZb`AV z=60JsE}nAf*~wh?FIE88SKUkL?d#&=x~7o-gBqUN?;>MH=Y{{ci^G8Iq%X(DdcHm;B~F?y7eSM*Y%NwPTmvEl8-)w zRH7uL)cLM+Z$_#PiH__5Jk$Mu&|U~BMdn8HYQj?Xz8WA$Ghgc33=ef)xcFY8 zvN_V<*B2$=afkTma6!Udc(lntvQ?*Oq-%tU|89=d9l#}NAP#LW7deCTtiCvy?jw^y!PBYyoS$j zY~a7-h>V=8MC7G8ITdMPxyv*%*Rs$eP;FkgmH6%3qlXD!#>T9=rY?fPc_gPXNL4bU z%wTP-jpw#o5A{9c`Kw_oy7iQuSy@@>v^>%To+-MuBKV~33j_ILZf=ht=NAqWis?ut z0kchdpk&^YJ;Tk#b$WDJX$vbS5vN-zB6QKYt5OzogEKWHIT^-k$d}h1l!T1~117Bz z^57_wrS&?4lZB_RG0jW$EXJGY2v&jc!y;$+HY}&?c^C+pn$CeE#~s=gy0P(J`CMj) z%V;T3xWNQeR8$lqeZ1Dz)@0gc!VX~l15-Tw^^I{>d^|jS-`T~%4J4nPJtXb*-oM5g&IsO?QJa-Y@c;Yt+a2`(qeRL@3XEyiFG zKAXs9nR!2pzz{N|tkbu<`!4x=vV4-nj}yweff9$t_gfSzW97zHdVxynX$1v^#a!G< zC&#iKBRww%UW+iITNi$&h&|VOr1U(dtPF5(E=ED)?;kxZHF;#ETmE+0D4l6?I<#S9 z=QotA)d^_~d}W&lX2q@TO?MNiV~3+7udndG0%>`!nh?@B*0;Zy0z$v>I)|}shoy}T|jmM zV%)AUVGpRU`3++{d+ zYJ>&x;G+z5O{tB#cFlKl45_xvVfLj@8CkmirxwObdq#I4irS$ftuJo)Yd4yCa}0$W zocQJqfgtH3J+e)$X~Axmn2%0pk8)M?zngz&TPM#+{xY$}=QmwfmG)Vfm@Fz0|3QoJ z^YZ7Od92vQM~{Lx+}?C+Yc7rP2mSqI8_$3vR*8C{=hFS%-AmooEpIx~I-+>;%aW&l ztdZ#^5PhOK&$YhLon(%6f1M*Ir^a=&N)=<3utS~vQV3}x=eK{*^7%{8rhi(8ZS!~i zV)>=PoWkNTuafY-(6yvGl$W;Ovog1>p^rW_cE-}~F=6iWi;s(CoR$T%)6y!9_TJnl zk*F*`+%U*Y6<3Nv>%Q7Q#9j$b54IKySfIU(*UiDPWMN6Wzv;%f@a?^ssU9r$cH8<_ zA;#NBp&Q|Jqu}Yhp7-g2niegCvI{e9q8Xt#SYllxy{N(zwNc-iaf|t_kCc)I0~5=d z=`Vi6!`b_jlDwPip;E~N)k2JzP_x=^zkeszBJbaQyW*Lr#{V?wy~O6qsPNpw<_W|b z59jmd_){ij7w58ry}c3(@VPh>#RaikjBIQlea<0oXbq{%%^9_|g$ccFc3zbh6)1&E zY6mLNU#*k8s9fEdtUiJU{nY*%;ai)$Y@IH#1S=U>EU_jyfzfxpiW>{=j=sJfQIb8*?i_=0Og z#paX9@864)lVakdmEI88QBht|a8FF9n!Ih|Rc>Pgm7wFBx(OjE8Tc&|ulS)LS*Bjz z-`@{o%(EoCAyB5NrizP;5)-R~7q}X=qp6{xVmCNeI__~&wa?$Td<6! zq=cv0L~N)Co+cPY3fWCF)v?72IAk**ac0SP(pH@hp{yFOaEaE7c(;2FD_J8V!Vzh) zgsBwdB6P!~FFTq4dm%teLrqiP28MWNC9wyTat}cMQw( z^Mg}T&J&lT$^`lORYWKglMF(`!1k-eVr+hTxvxY!I#WQuba!dksi!$7n+aK3T9THQ zE{uC=T6K%G>b`AxVq%wNyjCm~_yvAVx;I#B^YW+~tgK1r7nZIKB@hr_yLy#jVFpX~ z_q%#+!D8#t#K=;#cZwJPsT~tPC!Nz=kBpLrhL!>?x~X)9U+vCiVB{I|my3+)Kpw#X zA&tRx2^O?nIprw}q@V;TvG_Fy?&B+W(^g#$>l$Sm?~WK)r)ZEM?%`l^(;*W<^=tl}8~nK=Pr;0|1;NA6rPtfsEx^I_VS zPZd*7#b^7b1&iDnlT}&hX{lqr$Gd{w(qy=EWh3(>(SGxL#NAd+VVhdu~+$Ej^GnkT^yX_ zkYmlXZz?M*oKlhKzL(ZjV3&EyDj^O|{(a4=-qgb4JKOW^Zn9dl!9iKyAK$tXqhz(U zw9VAgEhGs}qu^N3s3X^rG2sI!0Q~(gagQC?v`pvhtcaTY8vT{BL#7;O#~AXIpEB_6 zTVY~;gl|AlP%xv{&D4u^x?RL&y(ge-*ScoU>USd;cxiKOm$}t*IDS!InXaHOwj7@B zY3eqXiI;v_F*654$2A`7A%!~U(5rY}C4nUcm9M|xU?m@ZZEJ0912w(frpZ*m?(XVp zO>>Zf0`>A>H7^_6=V$%xn5%^nm)I|*HBTlY`*jnm3AX_)F?HPTx~m(G1{7u;tDCEp z_bSc|pOA1nFfb6!DhUs_&tFGj*yet_+6d%$NO@}OwRJrj`yv#Xr zUl>ists&rE$!!*s$au~~N6TC@9Ut}q?; zPUi5^N=QnA%z9bz_Q370(r39;y01g;YgoH8yCST(^yUc<+R;95lFh#`sd`AdUuVce zFZjj8I(I5vgB6Pm_S!Y_g}&s6!os6(zR_+wxK5MMLeY?W+#N-xQb=kcu{qQ3PHn{^ zA@Sa}{5_^~e&?^^3xg-fT>4W46cy;CkHbJ*zqi!&U^y>rOijm49JN~#(LFh%th z*N}q%(7(gH7DrlY+zQOt32G^&RSL#fSt(^|~meN~PAz$kEZ>xa;HO@K@R7u3>cJU?e=KQ}mk7gUqMaX*XA(UFBB%Jf&C z_&)LVeKK6K+n2=hpTvaJXBX# zf8_Q?jme0ytfJy785zpe)qZYhFv}A?@A55(MwAEPQ$iw2pi6qI$$RLbvP)kS0&d!eFkx%s)$6c)6 z!-slX-eSX!mUVRpAi^&;?{8nUw@0(YG6pGk=m={RTe-lCd3=N$2B+u+<3ku4g&-|h zFjjy&0cmFC(1K+C<=s#Ev-BQu&avJSlxvFJoCcFu6uLRPyJ(`LuFGEMY^@tjp$h;f z#JTzT7(TlRJu_DzzScCqq$B1Z7@nV>pTd%Xo$?TK(OJO^1+_bWn@sVh>sn(?yENRG zX`7v6!qB?(Ax$HrTJP%X#}FOr>Td!E&ZxP06_+?SLrV=_GT&1_V31&R=vJ7$G%?XT z#>`p?w1##uJNk z`>w9OPl&8WpA3N;ktpuzS_SJxg9m|u^~lw*aEZ-1dFd}_^zy|SdI9`+nj#yIg=$e% zCRfD{;Y&6a;o;?s<#%{=R(2;%_GFLWd7o)!W-EHh($dw-p&gv1e4l2GFBL;N!#dv6 zXD#}Z$9p$u6LIecb#YMZR+FNm(KMaAx}qR8drGtDe^>CUE%WqHafG==)5nCj8C^6V zb(8g;r+li_EixUZM+J+`0vArD%KZVGPKtHjzB&Vxfk0(X*&8)VIO(x;#H^iDR)uwClDUvwJ`M;xC& zkx^$uh`sCNkNI_#rKA=V(_}j0OXUF9+Vj>7`-_%V;oz;|#`IS-tM*u>F-^2;kr~ok zP+G11>QyJaxvIHpy%~y)fw2PV$|j#V4(?n9%My1I)OM7o=ffG61jOoy@h&!@3=zdX zsgG$6t_oR5OhpAPL-z?WjQRQbeb@808W3SWgn-x8$L+x+QWnxrF zf@7;kL+^($U_v>hSXn!8i9Vs3bW$;x4z^1hJ8Ny#$JmmQ`Y>en_zc9ft~vbkm{L-!KrB_Y~np>veuE$5fA2R^7uwhF0Pxj zJRZ!<%rv_3%fjDswf)>*oqSD_%m}k4JXbt5w=Cc$cQT4g7+-0R9Z6xlRA;|DP-0No zCm9%jJZ0DB9n`Q=0YwrBH8z)I7ktt+O;E)G!j)dj!q>~4v8Ce4DfK673x;Dl)a?C} z2DyzCt4&SBh3p@a$)<|8dSH%-qIb{{LJS~G_bxLob)z!UP$&;Hyw)T@$q(JyoSc%MT7UM zI&0xyrHLr{*ETAo#goCz-sOSWw)q1%EDQNHTEY_#DHmZx^ zZuah)w&C~gyM~6>Ol7UWTIwAQ#7u*rT&fjOsYsEuW=v=E!IxT9xjLfs26+O@@#(Rn zP_LH$G6BK%7=ejauNGu^WCymqOLav=rgH-wGR1@ArOPi^mnJt{&VED1!F0)ET`Ye$ zKK?C2hMKHB>%rUqSlJn~yjHp#6&aOR9@Fp|Dn{#3X#v|sC6falxMpbgBjGx>_ZRjp zoO@wDAsbs8yZd|Qv!=;Gt*R%Bj&FF=OWA^WmR;Lo+iRJFOT%781IX@f_FjuKgQ%Fe z5-r2gG*a7ywG})2b~*NB%MS3Z?|Ebth|*&rJ0Yu~V=&OjYI9*6vbmfcAU!I;w{6hMEM#JMw);o#Xf==UA zE(=-8jOWfkq>kr&v0q1=a4Bf{83@9q?!2LWsBGM;^7!UuymM#3br6wZ3~QP~Z23=C zYO$)hpG!#Lw5C>k{kpmogoUf4HV+7MpK)_F+zyr+2(Q<-dFbIeKWV1c5kK?ly2REa zT|=e8!9hYoZoH(Z2pFeaf6vZ+WGph{$G;K9OSIfwS}I4+mGL`O5ELQ&Z#53;66nNf z<&~W-c}QMg@lp17JF>14z9)ka&h~8)G;CzT!glVPz9t3Zw&i25WT~5ZuJv{I?(uej zkajEE;cn#f@Vz_3T_ew3RGVl$KZ1B=^kqR+)uU&Am=XDSkrq8Zf9aH?TDlMCzR`Mq zY5J;TQ1DP(-)1jlF|A#O&`tU;v~PWd^0wiE0LM(rI;20Cv(t=bsC}esP1DJjnOU3s z_>7)j@R#~08&0aGrt0w5v37}ah5dc*eST-$eysA@-1Luml_6Rz9nLWzp2>2gS9ah7 zqq0Wz!FKKgekZFoSA zO}SR@@U{{rDk5vhOG)vlS*fEX=V(HXWW`x!@2}48Ze?kHST`{Hm{+u!M#R9suOcIC z5$_hs$T`A@%F>gJ_P@}#NY2NgwP^8J8Jhp#V$nob>=y4%iqX~U;J4dXZ}0kG#t9RG`hO+rBvsu&=-iPch{fd ztj6WB@y71{Tt)YvO@Gjnr9~onDmmVAhIlI#;Yentr`h( z={4@cU>v85(b$-sNXo?HwlV}^9hp;7xVB>P+wG?gzeMi}Z`edO8!Vr8JoBZw>&|+$ z0lKbv^tGkth+6gA8m%KSrA-Igr_vo&@rQB-u?uUZ>+8A`6mypMulzkYqa0IxeXG|= zR8@ItCr9vjq#T3Ld2!z&MH?H68teqjAGq^Y2eF^U=^4RA1sLY%Iq$89Et<2S7bfP| z^}n-uFvsZ~J^d7-_=)BY_^Txa4v~R7-qovrdp%NA?2Z+5EH5vYj^LBYX@_YD5w#E~ zo0a2LPL>C1S02c{DvTQcSwxQK^@#s(SVUeL8WNj2|6i=V1yoh*zBlaIZVM3wBqS9O zl$LIcC7^(ybS?qul5VDMq(neOKw7#>8Wx~5EV?_Sq@^3aKjJ<2+;jJR-|vp^Tf;H7 z!>xC-{=Rx>2 zFK_Q~RheZ>cxkxh83ntH`nUiHI@;XWXzy02Xr5q7(QDI8!NXKMevE>r6e+Kf*Ib5w zn&rG%M`DF-P>2#cE|9=SHScbxM!T+6jDCp{+0*KNMzf0;_Z~9c>2!=T>g z^Csc~5nUZc!74XT;V0;elp_udPZ@){>5>M@_g)3WjQ^$E8AvU%t6LR3zrySGN4R`u z!QR&ZI73wecIW4Z#;ZfuPH3z{Q8h(Z=6WRayq2ztgfypp6 za*d1>7k63LSZ8Bh#Sb3%Myg`M)=*)>z4e+Q7`k(8Z9(c)pp+#BKp9iAN@p~3_>h@Z z>DE;b4-ZbgC%wJBM^iKTxK-!>e3+oC+bJ5VSX}v`MsjhHa&^@bV#1P=JVQhKhfBR_ z0wBD|aP_0V_bp`CXuZZK#OLi>sb;BjcoZ*h&OO%F{-DkpEovSU5;6m{Gai+Y^ZYbR zj`G6T7`xfNxPX9wBr%(fjg7RVBquj#xQGiG`C?A}#L9&WdWm{4=AS)#R-@GR0*;v& zsyDMnv*=|`_UE>tN{mh&o^<%x)Xa$`4W~c;2wPw1en5v1Q1TNvu-$${6To9MIhyHG zI$XNxyxwkLciArgyoQEG&q09*Ev+1D$l$<$)X{o0Qdm>1E@-)(4Cnx9Eo3l(5Ca&H z3iJJ{-d5ffGi}&kis|=fv^!N7tH@G*v{VPN`CrQR zcd_QrQeOOMyAf0vV0k4~1;1b)AQZT#VHC(y>HPUqB$f8|mGgKMd>{9(hiZ`?i5+$i z5qCqy_&|Oi$TIr|29lXsg{*(Jxt&8AAbdQ=&c32N^|D46Y3qs(1H|Fhzu+*QM-C}d za^7ovi;bn}*1&#iAMdD5QyS)T@`b7&dKiU=+K4*!y8sk zabra!JUTinElp6jk?x}8#r(zYTqS=v1)!7FdH($8`fR6vt=}V{q)HG9g{L=wr)sFL z|HPsDA+k(ksw^kf!eiHBsUzq?0E73BHFq?0o2T8_f^& zC_mi#9%s+0sydsqUG~sgUFC`>bhx!Txg)70XlF85>O`U&QyiL79BTNS@Mt2b6}lXm zo47@H@2jZ|jBLpWJajnNV$GSSJcT&SBt8xk8QkXI0EDR;Pe4BWI|@%O;M>~WYT_mf*Amz zB}h7ZVC42$F$Sgu_@`KQDXphZ4OOlQ-o%FSnsP5o(kw z=(JabgMQt}gPSw~@ENl2jW;@rFz}jpZ?X9qLwmJ*ZW1}^kJgC7uFhfZsi$E8Iu0SB zazJEIguF~kms(i(@v|Y`Up~4ug$EN7r<407+BN?LE57h!?6$>Xt-mN4zLoHe!yX^E zG8YM~SGh1Ny3BTN|7QN9-bS^zUT@!20;<-4Wy{XZp%P#pYOZ-?6X5f-J*gGVdW)HZ zmy?p)`c3O$86h71W$gH_m&^PsC=!zfgh5oIq38=8ASs( zSa<)*+H7ForFe?B{$jX?R&^tJ@9OAl#Z;kw%X=j$unu?<5ZrvU77ZO||A+5E9WJ?Y zx2&!o?Z3FQy{S+x4xjS!#s{ z{ZmK_l6)%(k+h;wT=&pu^P|Jl@F-_y70o{SoZ>yZePLqVdSi28gemB7et8JCF*P@D zqO6}EeN*E#&o}JUtE^sOQRRUS!e=RY7!1bp4X;@>6aXT=6x`o^igT+wD=?Q=0c495)#DJcOgsa1?|xQOlTb9Ot;~s3 z4H9hz3eC6L``Y1z0$i7dDZ7gE5SA+~tsD3@O9V!rvyk1cYf4JJz@LYQg-IlI;CRQc zjwp9ue^7S8WTEx2)B&pMCd4lj`e1>LF)-8Hot?CBbaYg+OGai;>$6Dc!NQLIT7~-0 zDI-FiIKRdFU1aIW?*Z70(U9-~L_r?gyT3gcl7{eEO#hV|_&`DBW~sfVtCo7@;z!Sv z9>ri(SGjars2l@xlwe@%3^ku+gx8zO@B4q8=ZK zOFV7wEwwh{wP<>&Wq~yG`#eSESzz&s)yqu|^#P?m=NBbQ{-%+rkLRD%rTisjW>&Ua z%w*hLvB>h$qsz|#g_cH<^O!T;Vh-cbvX*^5!8yY=DqWIQ;&t~rY)Da8LtgGxhh7BQ z3G7Yhmnp?iu^rE}EWB$^+5RhWiol)8q}KU2#BGK8KZ)D<{GvBlrL0TdKLqW1x?p-s zYSEOxBxbrE#(VJ=!FlKfgC;D7R>rH76N}x|qcao!9$CscYhxeZEo@+ISjYLKsko} z4$q-=BcGFCIIOv#IQ-UPyZzM_OVYAL)Wgp$yryMTG9YU*>M~}bxVhb4Rf|h4Pj`iw z=z^EQ%*cZV|7ZFx92PH+L;&A`{i-~77g=w>aKAvoQqQNC}O z;%~J|&&aU0K{og(YKN;X4!UQ_F{tgtYLvn(N4c$5>`@IQ``#ihQ}H9TzE_wxphJB@&V*hJ$<#nIRP{@Zz03?wA_ zBqSud4pZkrM+@%iO;bVEh>B#@KraA5i-ks3CJ+W#)63QP1DA4$C7mg{j_LO8 z0PG|jC|pR-Qn+{-lx!^UJUg?{XqdXeAGS$F6*S@RQ#!u1B!&uB3wIWedQ`2E* zCqUf)PIdj1WvCQ!N1_d6!b0gD=x45Z%yy;dC=5zSD=>9rx~P$m%)E9x%Z`g!Z8R!$ zKYaE<&R*!SfiTH@7}Lxy1)M=`@NsG`sPN@)U8V97%4C*$^2EZ%<`RxsPps}mz;9qI zn42iJndbr3)}5|_0Y*N)PZ^0hvX4xAp9L%B2g;97a8r~eW1kKT3;+dQT2jKbZdgz3 z=;Ui4ysnwpykSs}^bY?oo+V4->4h_b>Kcbe8ai4$x|@Airn?G=2Gu` z(^*)&l3#n4rsYn+?TX{By`LPTNo59n5#a75S^M*X46Nh9#L=Vi0p^A(D&7(wg9B8G zr9HF=mT%^kzWLyrpAhI)2Ad$*lkk|g-{Kb5X@AQdUbt9*XIYAc}VP7IRh=D@G+41Svj09bC{mxW}+}cAC+^VY=-tZSY zz_Z3O)Ojz;?cpCW@{B|wA!&H`r*K*=Exqd-E1l=wwBKOqX5%sYF*QCjF`T1ee9^V7|LK)lrQ{G!bb#xU%-dKt0ZSp5aokU)D; z74Eb7?H6%O;Ig;*zV6_DKVY9dANqG`X;xP@8ym2rcH5*?`&QXXirpRtgQ*TWNOYn! z+0+z?y!^hEWN|J@Ebv=v5tv0My!xrtq*gBEM*Y-V9BJNIC`19&)W*UR_b0MKG&2W5 zG%I*i!nc`O>0{F?Dt2HW8yq#eIECL<-`hFd{dKHnhivPE+_uo+xDJvuL14y-OXx%! zlNyuRATT{Wl{=rD^PZ?Z$@6{;pVgtI8a_sr? z!b1E=F#STexH>BmQkKEwSp`uQ{^F<)IF~B2P;?Z|1erlwm(*I`=?6_dBgPb>_%27o zTQCTYTq5&Au_aOu7MNPiP0n&AwbI`lURz%uTe0UJLd3eW&g0*~jkEO*xgXQk)2?Wi z^6KlWR5At{V0dBS(I~N2L8H+!GX7qZmi!@mvG)M-B37HSfAQ@0K`w2X*CQP*Zmn!h zf%?Ygr&aA~$?qXRJlx1WsIa$!EI`6bLY-c*%&o`&R~xqK z`zTtMEkjm!0=H_MoxuB}*GDIjD$K2vbR_nE<+u@F57$|Cv#u+n9-0iTn)?pJiL8+W z?pw|l4=KjlQ^(Qjiq~x1T0=jG_ycYluP8Aa^S z2|~g`N2R*eD1zMnCyAc6KMl~>0_7|D+mko|CQfbt$$Kd~Kc|DQD=Wv3>>^83Gu%ut z0|2Cw5*Ihzw@g_^{>Q1WOgm7x*gaGhUeDfCv_j2o*0Bvi8=!n4r(uNZn%;6#xOPp` z!OW?o=LuCC=KdtjAi zBPL!R&h^*&^qwc9e{XhbdNO7DY-T2FN{S)GLPPkY;9m4zi-KP^ywdYbU_BLfvJH8h z08qS=VoQ^=iMF;7Kxw{8)6FK6<4i7K3$ANw?4;f&T8%rmcZ=>-eVNEeE!5#mT2K{gWV%WJF1 zML|1*2PkB5fb9zLQNA&C6+7kNVXolp>?{W^ArYk-J+WwmBO|d7M5r_J{+O8%UWpqo zb^u!KDA{>e!u6h(ndae&+ziA!`{dH%oAzO(7b)5s{|h55*%?`eR*m5}=cERC^bqX` ztW>GH?Mn;G$rZ#t)$Mc6eeO%ZNPP@m*`CWU0?F^ITGvfm9-wvMZm7qy3E9oQEy7?R z6wO2$6mGGW>G@{(AaWvhST%X%eT(}bT1Q&v6!5WRdppb#!Ww89wmY-Yw@2R$dIRJY zzWp@!RV~@kmF^M;*@y1c9hDd*<(bc4=@aRX_7Pk|3gOMhzA{f5$^}!%y^Mcms1QFQg7!0lEQp-JU7478eTBGoa9w%CibTBm|g^n8m>>Pc1AS z&ES~=@syXFPajKLCqpf2^CaH~=45Y!jmySc6ntS}QP;>rJ_{(OcKipMj{u$jQ0ENf zvcdZTa@tp-W3CnOipAQ_3ZIz7$;n|IXMSN~5r8DQZrNUEN^WAty0?^*l{ELhmz~S_ zi+l9OwNqndYu{RwIVe25J|V3oZ~lb{Zs)rp=i*L6$bA$hrHzY=3mqU6-_5ca4*UBD zrK3eMqz4fmphN-jo|v5ETba1EmEsm%`+|2K3s zw!0bp^iInoE}NUSjb4uH3oC;IHl?;p^iZEsr&;EtK%~`~_*&c_#dsCRLkn`X7Z(nT z!;xPEHS(LG4%a|Wk8b8CRs$)>F?TCR9Zh1cxv!+NkDC1cJ>p9A`zz5u zXWz{(u)MT~oVcVqm^WdPP1CgRFB9Jan^jm?Sa#vV3?uR!N&$X;`kVBTLJp~^L=DXi z2h-upeOyq$@f09`agKDSLIBs5ty$J8V9GY(W=fUOAT< z*Nyw7wmHUP{i9n?T%FIJ50^QW^M(-sU!a~6iAzY>m|8`aw}ek?7KRrl>`id2aD+C&Pny#F?D{9K>6b0pNpoaB<%CfFCLLZqQsgi( zZ3_A5G!oo4Ts#~LZHe6pX}x+a8jbAlQoL8H?^GQP_xZSd&WUc_e)<4%2+LQ)qyGxy zp^rU-pfl-dOj$B&T}2KY-Mvu>K*2uN`hS5mQEW(03ZU<62Ig3cK}&kMzb9V-o1o>SZ?Ea7Yh8GMa=JRi}pHf{uo#} zbo)4KmAY?e+{w88-znzIu=dXGb_+Wj*H2+1N#aU0-&gGalWb3Q=Fe6A^NeO0aiPIZ z*ipvLvk8x}6^B9FMT8_IWUXlE-hm_ZjXa+Kgb>;5EIAV`WBz@aoYKk7g)TA9Z5X4{ z2@ltod=c5KltCKyC8ZFhivZ9L>O_9KSsc)k3Kl2~w>5@P4(5wk?yoaMAFWBJ=}qTd z7(M!OW7-iD^I9YXJHA?ky853KKl+f`pAuQ=ZE+#gh?W^&<9^x!j8EsDo!Yh4cNnGf?E! zy+1LLKm=JzSnw3hjg5WYRWi*fQV)F(Qu)_+$Ds8@Iu~xva)-4Zr8Gt4{GWdSK-2AW zx#s&SARO>e{GxJAk|sdjl>;8klPg6*<{K*fmFWyBFqfoWVhks`dV!glCH1WweIQsr z!^6WBY#y{Xa@C@rKK(Yc)_pcUb-PhWL^_&^f zHza?i){U&z4GcWiL7oRq1W3>UBQQA{c!~@-$tBfP_n>nsagA|F7H9$=EVl7+e?> z_mJjb;UeHVsyVBYL9$2vjj_fjnHQt_r(=y9Rnju|4IXDc(7aw?~PHJ~ZBYTQdcK#@b{3K}EdJ zd3ovC63@-`9|XM+bulxR8)j1qxT~y8_tK){C#QU1I}^cq2ldR_nCCJ=T1alH5hGiL z?1rB-L5e)Gb4xO(X#dfsoIb<3^2U^2GPm0-EQIHMOij6*zcDJvOT7K_kF->z5@H?K z1N(hS+zXUOineESDLktB_SdG+Q?h9p6Z^X8H3!ViHNBL~xZ3->TguG<^7ahuuFX;_ zQO|kKExHc><7?X6x4u?3)?6IvOXpUA#!j!5q_#)4$z)Jn?d^)C7xC1RolQ+lUYMB3 zSM@MPv!;O}a&?)!GobN|(2=I16zK zmcJN9nNd111XWt=>(+IEBONR-o%*_W2Hv~6x3{jBq|n3dviQrj&ts|)5|@8!l5(1i z4dVU7sIj*33t)2Q1=8KvdueR)bHoENY6hOXXyPKMTh? z$kSxbL;w0niTF)zQ?rb6`C^JEj}XJz@VDnqjSWNmL*vwQv(sY_s?z51T+Nm`R{Mr6 zLou0xf1I)}%`1+G4lnIWbia#^mV2u7!qQpmkFTEZu;YL3?qWb*Fm@?zt=clevxe`o zPYHA$jGZ3SHec2@KPos5dpc#W%l9AEeE;@QPW9g`GkI z{*$9kPFa)F;^u&W|KYT{!_%I`P0>~CP0+AghCzf}$Q;on6c15@M*~Abd|qBd>KaO! zs&dbcO|&A&ct>gw8alZC@-iDOc7kT|DB;SH$3IWr_w(E$T`-D^J$7`QHlT2M$aHMV z0qRoOLRg=+!`8p1rG92`_uQ_2i{IZu47#$C(bMqTYFnS$c8c|qCVC!nv9Xb zpNM|#rj0T3jOECvJFGoU%&X>mw5zJIzA^dLE-BWK{{Df?15-E9Uv_?d)s<)c=;1>! z6^|%R{yqWgwo5qJ)vdLS)m6G!)}tr*4nl`eik>JP{SX!IdgR+WV`yw_u6~pzPrqls z%5aZm;2q`B%5ZgjA>m2K3vy~-?VwqCX|z->0|f|pe23P9voQRn1S5z2Nr>rz#x3T8 zY<4AL9#gWHi*q$I{QN{yL{FX+eLYzk#xz!JpSTBMr+B{;K8fbvy2WieY%U6NHXuyG z6uyvpwAPk1P^!-st@OwSNL>1buQF&-}0Z#twWlvq!T>2j^Hs?tAJBVU(p$jc62d#UYD5;qHA@lpcoaQgfo6!E?i8IrHCZ>sN9m8SklYZ{B(D zJ+rJ{5cKden{G6lo;LGp*61D0HGgH*91aoImc@UyW*JT%1KMn@P=%|Y1NZy!`tvF* z*aEa}5uGR#70p{~(D25kQ zV9B4GHxK`_KtfUmiEKMr(#Le?oNGA>m4z(Ok2h@Smn01rwKNX+b7%sRB{e znDf8nHPttD0begFV2$uu?lda+e<0*$?Td5brPMGLR2%H|p*}gSsY)~6Qv9 zrqFOL8g-STOG-(Jmxbk^v76Kzm70;!>Rg7!aOm3luScOC7@(b@B(955Z&pDEd> zurnAfkgLOU+M>odtSQ>tFY^ljzB;KB1!S1z-cC05E~qEW4JIU^F|NwDoDAihY|XY)XxYX>rs-lh1XIS)#6XIS&hy0vFEGf-W*`pSV{iL)vyPfp9xo#jR=W+L3R z4gsij5AfVF-F49jr1wR3Y&4=>fhICE*T?Dw1%5lX>DM#t9)s`(+`Escw;TGniyew-mS4=^?ZTg zl6Cmgxj~1`{hi>9L1!|@(&FNgQoExNbkEMVJ?~}E0I{;Rpscqg;u8{da})oOg+E#3 zFP5cxVA{Ln5_S&Z9fV{`k|7m) zhseSpJc5op*v4OaB|9nimhIuai{`8OdiTh&NjLvYzd(2RVZ+sO;-mFhtF2`QnaKT> z)b7#MqM;Dh-;WJc^?9hO-BCUk9wSY-hE(!cGd%hiQhm{}5ry(!x)L@Hg!azz^=5-1 zXZ6R^)ZE;_%*@OIaR_Ncqbq_f2--IzOZA%~T%M0+Dzb$4mUI6)`d3@3@+J|mYY)(} z=~s+wRsOPjmalL#`*3{WpnmVn!f6R1X+B|0v&iD)K}Ydp1?a6DEJa?|`Wpo*PzgA5 zF)@__T?pvo2KnJjTU#7lgZ+Vwlk>ly)Fr3=2o>xhz_iPw^3?pG497*dESX6u#I^W? zmw=5)g~==pWu%gX-O1lS#LlthIER2I0r%1(m`zAMQX05Je_u~;s#mGihq6!h8pv3; zmM!FfAHV)>Yxe8Ul7qI`az0|GaNJ|51Yi**iHl`oq_gR*0UiwPvSl@#e;l%U>Xhu| zk=*K4l_yIdRo3)d)OODf3OU_jWZZR}S_RwPvBZUla_{Wkv$gFfhQxpBE|35k2xhGvD`T!224<7 z=~mbop7KC@w$(`$YI8Q40c3J}gPb=ql46NL6wJBJ;b;0()hLA>^x7k?P3t8d%O)y` z0I$Ja==CwBJDiTBbh;dbc%h&(vg)imHNR_OwuG!Q-S&&k%AZkMy%XklaOI!^QB`qs zhas?FsgJYfxiwf+Lf3*FOG-sr8?eXm6rGX6E+2vtYBEY6Ib9Z;Cb>E=*nj@d8t~|> z{}}LIoB|)q|0Ls~gcz17#B$Ix@7<5V2R4f$k-0@mTP;95TxnnD_u1Y2(F4Kj|1RM1 z43~7l|P9 z{NkHRNbDC>3-=NcW}+kTMlrIoF+fJcKFB#+C#_BL`b0QD^cj6$URx2bQeqC9Sb_wORYW15=^>Vh@vYCp zh55HQ-pP4+Qp_XyM_v_KTVHmf!HYP2&aZ3Z{7KIj#$)Stj*!dY2Pn!!(OfcFNRqwv zB&zIdFr+laoZcQg|Vu_mBOAG%yK*aJ5kkx)^}+1X+8+eHw_& z*m!9*{u1E>jn^fi;Y-IQ1^>a7x^+2jZLOGrwb#EeB$ybjtiB2&33bhpGD&d~hC1SV zuW_rA74iO^%lxlYCc9;^I(?u*MLD=&Z(n^o!|wo4+FHTeD9!pMvP?(BX+0*f3HRYJJH#EG1B(%KKm` z0ilS!uLP;KmsgouI-IyvBNn&t#6*3~cW(o*Q{!coUIzWWqtqg{pbe9JoT~a*!5wuU z1^g3uELr~gV{Ze;$rmyBeIx^LAXNOeZ?!%xE3zK$ginbgxk4EILI}8BZ>l3>Dish6 zBPBm5wxSNHnr$lxniKywy#F8gD-Qcmiv`d)m;st601KR6u@7Kqp%Ss3Ln;oQ?p(M9 zg$y@h{|nTQ{1fY!mg*Du53t|MOY765r$2ZiK62)mJO(FiM=?12Zm=wxWO)CmU+Dz@ zNty%TamO#4#j;1t=0hbqrn*3bHJ3w`0#Ow^7=xY)pHtYd?rNbNgpH4w>!t1|&%mJS zr?M6zePD9WJzo2+y$nKwV|eW&T9(gzHkFekj&UokpeS`Vuy$^CHcA9hp(DV@kKW1> zyfHiX1H9PS7hk}OOn~oSx3;l1I^$6uS(Qk>kh-;LuzkHY)Tw=w0hmGxs`**9N zJ$3gEv|BLxmRa@oR#kP@6t54h^)STQr`M{eub%*kZomue~R%;8^o~fug;fzAZR~w-Q5_Ap>;cVnUuretMR2@ z%}S@fI>ogRV$)|@7c(-_vUJQ%BRBRPHoOx;LXzOLAdL#f&<@m>6DR%7x8G7&Lj&YK zG&tuCq)@n3bo3*Gc{?&RICw^hX=&lX!LCzA?@%<|Jw1A&;BTiCvi}ND!lerHxxO5i zI=n?5(?hG_-BH0j^T8Ay&$7MCBNzuJA&i|uz{ihX03Z=xy-Ls?!A6`IFSM_{$^2UO z)-8m99al$B?=dPfv&ENeM=dP8V&M77mw@qv*^Zf!b#r4qx!lh?KyoKl zVzV*~P-zuAu8ou4xuW4<-d~$tPdVf64$kZl=CG`E_yUS2vYL+-FCRZz%j5?TH@jV4 z8m(am8CT{}3a16{cR^bNyG>-sy(dEzF6`CD zHQz~7YNg^MBL219AJUE_%_ut-l|G~zDV*K1kq+ZJoa(i4*}asSnphUe60V>KC#!0t zxx2CPgBQ@r;0}P%A)NQJ9uuacO!M4jifp*rMaECdM2f5-IL0T7%g=uROxjW1mMx*I z?h;9(mE#?wC9OKKVn19}LM8YG>3e^V*L=ir`&RxY{@WVu;|%GnoP~V{$U|3MS?|xq zkE@jq<0#ww_Uj-4hK7@uS6I-}*pO2GL^`udzGlkO#hIMoshJs-+Ouagj*I6(gUgIC zH?e7!SC$7o*1S;#x`sG0JRd&+QL9>py~`Ai``Z`PGOyPd*PU#Ce!8Zt88d58EChCT z%5`w2mhj3vcJxS2Z%TN}sT33?jFjun^F(`$K-})u((ut#h>eKINV6N%H2E9{bc+zc zx#&+f{A&Cs|598#kWYiqzZpIKt+~K-G-Y!(A(<(~aCX61PL5E-zqLI0al$z~s?F8a zy!;$3>PMAR79b0T%q_6u^!AO8*4MYK>Gp=4oIT7keB8-3`)|JcS=9_z9z?aw73)5B z6oX49V zbn%N#D(^wyZD*Fl+0L1zQCO>XCKS>trYwpZWoFovW1WXHO~W0~&WX5&ox!5!LlW0% zE?!*AQe@SM4(6X(Q$c6#6gXx5Y!%&G&kc<(&$IjWmAu*_qh-!q`a|OPGuAZu63ODz6@~AtWxZN;XtK3QM)eq6FOsasOwLk&(a}bc?_i7y@we z-vxR>r-HD~^up;q+kB&b4E+Wci_MJ|v9YjKESvX7(J0)S1Y9}a|76S>WBDif!#bF{ zc1#JIBbwxF`!S0%bXAv7**(X<>xyHeis54b7EY+z@ETgP{GbB<* z7E)gQ^|!z7{e#dLL7@Q8dGJ6GTDCp3j4Y*pgN3(lDFtDI1fy%v`fLFNL$H6P7((3{8blE8j$GmZmzX=cDg*!QWTGo zHQ6-|3Gp0+;imh+$(Q?cbbW*__(CBe#2s8P8=%7|^{qt={Z$!TvUEpyZKYYz`&r5Y zHvtxmT&AY!j0{jSwqZuxR^*C&d3YkboVKG%&-%3nvh&s)apt!we<0)BC6F{G-8 zl9K1RgX(jpyb9*h#>VOvKfGwET?r*|{b@|X6TD5JHy>jg$s8TtQSr2Wy^H*JD@*#J z7E2X7Wa5AzZ%t2HZR3DV+oJe>48qRArOxN%XtLk@U)?q}HOW6ZXV^%t5<}~gADI9I z>^;0TIN}xnsf|Pg-cgxL@j0};hdBx{vJ0Zl`(y2dk~1!wQ*+cp!y0l_2`Zn$&us5S z2_Un3S;63=+28dI2j>MuMm(nLI96%mdH)*9kXFrismbr{i;CkD^_@jro|%~)`jvS; zMjeY1wA?De0(Wcgz`Er-l*HN@k=#dh&M?mn#;FC0m5&}^L@GYN$BuJd#(_Si(O^@j zzruOEe+=rtNr_s@geW2yw}4F3mx+F%Yq-M9umyP(og7pE0vfLDKoUu+RX74$O<_+O z^HJ#!67kaE+y2)?40;c%VEPUU4lXX{+gR?b>h8BV3YY*1H&2hE|Fg~=)%}7D)p#K= zc{*3ltkk|E?SdEzQ1~#>5ygLA&~F8M(rL22n?ohxfg$DwpDPSna3KSzFD5NRU z@cC!-WkJ$kUo@rw*_tN9z9+s1Gos)o#lCif(k~%94owMh$jhC%{2TZ#Gc94ed`x>? z{XQrHKbk&v(^R!NLO^R}DAZZx=xe|Pitb-R#~=^)-y_jF zAup}}s@aJz0Rgt$Zc+66@_d=e;S69DTd!#wzrv0H@Rirn`$`BuGTC-sP;fp5-^DxG zW=&77)}M!i>xvJSnobnQV6qpq7Fv%U{r%7n*1(5}2mp%(Ij6HMuqlpwyWs#H;o_v+}mYd(*^sG`T z-u7X-W1-)I7I6FyI+b?gV78(wM34oasp&%t=}aI+E|&4n{3Q!*twSJ06!mblB#_Jc zE*kQ&uu3|RDg_4bnpl#CPeJZGT^Hi|d!P8>fz$-F-a=Ho3~Zx7XAgAzJG9z)1rt}O+@;;*5e1n!ui40zE8iJ42dv22q*rxO4xwHK$1Z*VXwaK^Iy*SY9i7f{t=^1nByqSvr2{`&ijq9(cHL z=|&Pqql;JmRT0_v!YlF{QX0L_&Q`&m=K|_nR@T{}7}L`C!L|iQLwJx$4b7?ROC!4D z5i&$L#}MPcCI~5nIHnllL(tmjVIJ%1WdHCUI>I!3^;QO`%qsgkH#XJ@0;!UF^hxP= z#^X9Vz69#CW#60)^>1#L(ti@!_Oc2{i3VtY&Nu9nem!SFf2IMue7*PeUV4>wPZ z$K@GYT!7UXT-$?rW~>B3U)06{OcV3)Af9Fmz2}nB7@oLlKT;A1<|RK>+mn8Io0&3x zBA)r#&d5EyT!*lNV8z0=O^6LLRXr13{Box?at}=RARgYl!9uy$kN?ygNnQ^>I-n21 zUb=)^Vz-o>l?8?YZ;0Qbp#iOGBc~zIZkVI%y1Nk%De%PkZ<7q=HNf{-aj=pUOng+A z6~eu;5QY|YKAWZ3(3IQwhK4JMN`=aGNG%hI=Dm(dGNKi^Bt*E(&>B|J z1i}X`QV%V^XaPiUg=)|qK9|v=5|7oun`NZ`ik0w4+g(5_UpgEKEOW)m_?siDg${#e zJOwJ9^ilkX!{E|slYM9gPtK!Z3yn<|!U3o*)ikUTnJ6~vM8jkGZOwtTbsjpy<=1tW zO!6+fs3^?ey(TuVspsB;n$vanp@3{GE2YK09?*Oxes9A%}Mnggiy`;7u^3vIj+VnZrkRgEXx zDrsuQ0Gu?XK5t%OK5Vh}q(jEIoGunF8~9OWk4{Gzy>OPT|q$s%(LEq zN}`sB%X|jJAO3N}zmB`DSE-zZ;CuwdLeMq)#b4|6ZGxb=`T4SxrC*=z^K`8CggPaq zFK(KXGE(KlsnhUE;{Amv`t)&LBCVtY6vnI|VEEpb*(k$nhC57kt~>m8G;L_-O0Jv;Je_%dp0LN$G#p z3dOLraQ~u^fFX~H#QB|qv5`WbR9Vhz=YGO2{V##3U-;kO@2USYUE}}4qW^yZrjY*u znX1UQ2Airn)ICjaKq%WCZtnJuj?~ikzrMj!BeA=DL_CF`#~wTX6_R@lLq)N+1ViAt zo*w*WG5nkpzaZLMrk>?i@*|M4UpsxyKikUM?j`6*%UV5r!{-Dn6+ocCso#uPY^~Z@ znzk{e@9dk0%b|nFg z+!_61cK(M!6Qc@zFqPKmB+-V{L_B;@UWR=15(yP>SorkRi2A~tN+PBTsDt_vf4@UG zeZKMx`p1tSSK9OY=0y*eL!7p#xD3X28uD(V);H$Nk)2s+Tyvt?b!@gnTBC)JmIkw6 zdW2#7j%i~Z2^++=S0CoA@Y3qg=AQ-Kf0m{%-UUN$zywk?mIslSYrz#>290?#zPP^S z>ID$q2DvZJvmee>WNJjCWwXtq)5o$ z2&h)~VPR#}3xRR=5%L5kU&~^lX;qV^d}W%swsID?N41YXH@06P*Bk?c7- z%A@P5>)BVvt3r74^|uOccj~1dPVaS(I*aPAR`*9Yx3#xFdh&$-Z}m|<8Ap*`tY|(R zeSIve>%w+}5gGNBcJrFmo3&zM3fx8ZE6$E8NMNMErb3pb0e zm*pB_X|)C{!JXR;!_5kz3gz-{XQSXKQSu6I@E=jvqvrbYsvh(G2>>>qDrIUGJGUgh zZRis_bX6EG3~pxhuCJ-#hba)E_}|jR*81-ESptke%K7U^zLtJ&S;jHeHc+Nx&Mbct zklhFP8hyr!J!VNu!=JKW)TAEy9L{Sl?EDcNF5X^Rq$1I+Gi!if@)}jYq#^Kr41sWH z+Obr!7u=>~*=CC}a6ri!Y)9ty{H$PFPR1zw+{j`8ZUd>h3lEs|zU za&GhN3J~W+J?eq_7#?2N^2j64j9+_Owp+j~lNAEa8Ch7mkOp(M$p0i3Wb5~~$kGRs8e8MkUe0s^OgYn{3eH`F=}J*7oN zeJ{C|O$+KXFqoTXVTLehL`?<-sPlCieSHQR0sEiXMN$hte*7eR(3SH*5TLOeP!CAS zIX52H1qj^4^a-Z(lj>L%i0lYyzN9^>_Pi{|!NG`xeTWL!{;36jGDi)91Iyz5?+Mrm zdZ{H+G9KN5cVEBKk0PaERpSPKt7@a8A!`%e4@?R46QiPLH`uPfGqE&OJij>nSu&)J zMXk{0M;FU#pZ6@Fk+H7YwDsVk^bfbtI)HOG5WTaB#{JH>M+2Q;R#P@$f z_?{u1O)+Bd&}om8hm!|+Gu<#DtOzkA#bPQO8lL8>GX_ENu$rp!%VPC{$^Nw&A=c#t zxxdKBK@)K;G}Pm)M-T}c6H_OI#%-<+fb{|i{Crju%4n9-b$?$f`6NW-Gjl%-UL>QX zBOOba(tksLzmPxVe}ewxS@lW9CN8Nu2t}znC~R3|JaU5#@Xnu-+(zC@O!(d?eR;ymjRCF-%Y2 zcyFrXq1)MYWbhtxveb8V?X6Q_F9&62F3l-0c}Xw^t!nBXo&fG+8nQFI%df*8D4yt& zmudfA%6#(FyqkfM@lMzu9kJ!hrwMFe6?>>8FVWQqIjYMHqUpL5fEpeC@aD`ni9gP& z`+@Y4XO$JriGj;|LCu$3={OAxXKD~g)lmOjM&9kc9?Ih|!+{lf`oIR){_LqvHezIJ zZI`!?8DnAY+<82Ler0knUm~WxLX70tCm1#Symz2hXrO2(9Q@G>fW%{8Cu_)FEqO(x zJpu?GM<@o8U;sieG&c0iLvU$gH^L7Yvy!(D({AP)3awcvDs273F_$TSS@s3k&A^!B z=$N%nDr4*Bv9-{XAXkdnuhc~&bx?=H79ni6qC`Z{pd>jB#r9vgw}5Pi^!b7eHC*o> zfvdL`lWY)3{5VD!A=e-9oFG%+=gT{Eo}w8yYnw|SZ6V})JAH%wm~VQbxDbd>HzMix zV{pRs%xA|j%!)L+cW!faXiC?4^ z>=(QQ7N>-X2q9y_tV2zTS>bZT){{urvg50-t73~ehl}%$g=L;nIppyCyC~-!1;IU( zCyh+4xD8}9No+j+BR4h}Wqv}ak+YdX*Y%Vn^5SGm#!NZ91rK-fEoJDHo(BC z!Xzhm8#9OpZYlHpu*ASgLH{`iQJ%p=yX?u0QVk2_nI=&5`PcdFFU@T1oN-sjOLCAM zgS)IxtiWW{YHtaw7Ml$V?tspM<7C{po&se`D8c$|Iqdx zP*J8!yS9#sqo@cdC@5&7fJ8-dR3s=-at4(oS#sue#sG+bC_%D-#HPtPBROZ993yh0Dqu8|a;&J!OmyyrV z{s*+qk!C9v#1=#j*i`dJqIFP&U`tzDTLhmqg>TJZ{?gN*#d_~= zLY)jMx*+xu`b%tu{H3<)Nq^z{4Kz9cQvjhuX1px#CCAmt@LTzshw#~ zr;D4-`@jXjsOOA``EL}_X{@z(nK%cT7cKn2Cw9q2XL z*xEB0eR(*6id*CsJ&X21Me0@GOb7nOvgIL+2Eq>LF=KZrKu}SL35yt4D4`g5E;+(l z&3+;1{x^%%Pk|2$H>pdg5Oh{nV^dWk5=oWP?8Df--%?rWP`@oFvJN$Wrp6{(@9X)y z?%7uF!Wu>m_}zg2P4Iq;C6zvP_9%di2y6&y0bR+EMTB{8cMk$ssWXlkMS`650^BCR zsbuMVGjlUN^Qlsw(*GnekL0#4ujw}dV9jW8g~wwi7Ua`D{Wm|INGdIjlc!)F7o0r* z6Z&%df7Zn>n9fsQ>Urw{iX~pR^}G7VfFTQg30Ho*%GGz770z}v(cT(%waCP({+iI* zD{BzCh$zV|4A`s6%Gx)ro>HLwXlHGi@(JifiFrjX!eM{_5WU)tv7HPF7qb7h0r@Nu3roZ)&J~@5iG9CEG|>Eed;2z2 z9h5Mu(3#15+Yef%;DZ@G(Axp=W8%Ei?f^hqa~u|>Xda!=kCHvXdcySpFQNfM5(pzu zF1pt2bv@e|>vJ2`*61jSXzn>HZ{A0|`Re?};$h+FMkN@5#tV>w5^nyyb6-5)>}`2^ zOFpf=%-h#z$fBuyA=&;!OZb0vCQ0hh(c;a4Dk(G$pf5nh!!1nD1i^pZaKUM2{~+P(sy{6ZQF3y@nOn2@yCsb~(Y&GF%QWlZsLJoB z@n2%PV{9_~J9K$G6Ml6Wa@6E*Lc&err>cn@Za=YuvF&)7E6gMTRD8B6hPln%%485M z;TtIrPC&gXNo?}Dv3d=xsvNkfmg5)faw<-5YLvXPOHFG|oCzjU=;#fB@)V7`n9a+M z*_q6+!Y!(orV0yXH&MY-ll^Js^RjdxZ%gM7%Nqw}vd1N7pwPuPeRkLT8xfB?wd^x4#4K>#?_ zac`IGZI_&ZVJxitZ*=KeplIqP8ePvAs~ojk4o2HhAIAP9Iqb_HuCA9~xKvV)zD7!E z@hx>YUl$PIj9vHk?L)!xC@^gGF~+4c4LJ@GR|mnNBT~$vM^L}&W2OP@D7v(C9IO-* zCT@Dx7D~X(s*wqwYs>EVdR?RP~79XT3tj3pOc4Cwh(!_Vd zmMaqH3KfA;1z2$JeHV`eoz%N<%Hg~ROT|&>i9}KX76VA&P)8SyjTNX6#=!yq5b&*lRU1n5|I}CJN0OKe8scd9&iPwE{D(>u?ANzxF;H`0md1kJD;%70WD*;xBpZ%?K>1g-T(0?Pm31`<%{VDzp&kTt}0yeDzGXB%2ZT-LKEn*t8C^%KGPt7P1% zjY^BJs%jV+Dsm-qZ!jZkeXO>KP5T1~Z6Q=kTmsp8lgvD)+tO*95eImFsx1Q=r zY3{=WyEgBI`MPRTpDYLHj=<=rl;-`y$)+YaLzC!u< z7R4-m%|bw*3o#8bv66Ld5j#ot=!;?F72M7be~H+78Xs>7h68LQQIao$FP)5>Sc_;< zB|Cd^K8BW!+VDxzV|Df1-=RF>#qXH&U8M5RSxb5;jYTADuS^b}VFgm%oaKl0(2A=8 zA0Mz8Jk7pIgR-L-cU!F}+83V4fFu!Q4zL@6(65E^v*Nz?58RRDS-a$4@?qpZcp-nx zin~w=m41W9##8m(mb&O`7vj@(Dtain;7KEPb-E}wH~H}LWfDokHSOo&cwGVw9STl1 zz9%Dy<7VVz*yY_LT5%?lhv|UUKSs59vlW`3C#CpTpOt`dBe;yPG63XbUh%UcgS2$R z^k8wr4<00v;nD{UdvxdszIx?S1^yMO!!9G!o}u<69No`7g136vH7L=rHwu0=moh7^ z)A)6D&Ylr=Z3$#zqBTR#pHO5$!$n^dwdJCC^=p8#={?;~13=Pj%3Kn^!cecYydIFS zs;C;mV+|HBfKmJIx8xm~3tiF@fkF~Q4){{m_dB4=&Ax1d?5;a*FjmbDfX~!Hwn^y& z)qQLVVEk=N`wM6Z88#M&V$&Xfa#%Xu_i6rO#r)YMd`|Eu{4P-sHCn?$4A z6Q+9xiuTunQYfxcsDBLwIVfaI{(*s2)wf}=(pXtyVNSnd(#-zLqKX23#BJm{vNhDG zn$bZHW+aTPDwKi=rL&r!R`o-b%VE;QH-g)Gz49t3QK(C_le+yuSPZfsz(x%g+Q^dy zdPtN)fCuA=*0OKTQ$8Y>{;@Zh-eo>0-RFE)KI$p(uV)r#pIP*0YD|NO#!JObQp8l+ zTMjuWu|4fvemSy5VTkQ5=4w0JGz6lxz?8Fd?Q$H=%i4ou7K0r3Inpz;4X|_nlY8NV z0e>h0@%7&Pt=4)Ax1Uz|^8+$~gM#IA+i{Q<)!x_a&gvXBr)jUC<34>-cQ2tF#FcXus$WB;uf+&PJ`n*~0HDzh+9zKhKB54tf#z~lCRib)ZZyg{3DS)j_Rzm|LxU;0d+86pQi4&?+xk2KM8{6>h z-V?BTbobCIxsD{bT~4^pRw8)b z_==}r)E|AXHs&tp=q^P;(^Xt#P`H0Ts>DaGJp;j)izkI9E56cbsjzQKET1ZO_YN*3fLA=%U=BX!VE zRBA5O;<8_nM9wqykAMpGOerSi;vELYHOs*4fZKbi8Yq~U3YN`aZfa6w{hXY9gsJ$p z;^_hEecCT3Mv1bNh_W*9D#^}hhFxPn)D`%}0m~jgVqzt7zhp}3NZ^$MhA{oot(T_?^Cfq$i8wL!0i@tt+q5d7mwcrnDpZGm^rf($o z#fKqR?aPVy-A8e|kY=mMm`6ZM+R7TnfJA@$0~m;_Sv_p&+^nT#Z9|LTy2*fuM}xPb z<1Su!H*%f$uS%(^R>oR6ZJ<(qs0|JtN67GDSY>V?omr!nHt-R_x+^-$^(Be<;9$wr zx7c@TfMd0MQaAnl1Xyi3^gnEyG%H-975G%AH=LsR-A>84n8$5abKX0&#d?jb`B0G~ z=192WaJuVOI^tp>^UhU)``QKP6H54Y^Ft7!?ftx!#g+U=ymR~}W=X(ddaC1_bC3+# zBuB_`w26FTV_lmdJXN^?0O9zX7V$RuX!um{94`Or-++evkVe%K!~bjypZ_Nl3&?+? zLHu1p{r?dL@eeZ)NB!r2e+J@{>c4l0?^K9f*S)Un&-YrRey%#4FQ&AaZZ&UxeRxgA zmd6bE&SP|H-jqAoA|!~X)gpvhr0{Exs0~lYsd1sOSPD&}!qYqqT0tZ*&raN)8C9c$|{${C*u(86!Gg;W;#2+|N+n5YIzbozq`vJYjocd9FpzHV4$GEq0@^_r8?izf-xyk|s`k91S{j<% zpCn>o!XR(5pL()M=UQu)KKj#zIj;SvWH4&W*LFn>z~|a6kzOa&5UTif$jI_>2SThW z!D){BcUw#C7I^Xgk{=ox+|N_8gOpkHohTtW^KI0B&IJr4_z6|qy?QmcySrO~Ryu5d zdFeN>? zv7&;8X6+vF&My1D^_o~tYiFn4EZzN%_70(N!R&8ocki#Qd=_2n^(7$saD|`#PuGK6 zjB~YZx@cv$L{p3<4RYFfuSw%@wkxydYa5M6ZS&9~60g%8!Q<@qK%{hUi&{@lk3}Qn z6XqI8yYcYif(T4++@ix01f^;MgukkKmC|dI17GFChVxoCmpv%eb+?-rcNy|hf-`*Kg0UT3I-bZDDVZnt*x1!~CnQinI3jJU za3}Kn>tX1u)OgGU7NaoTl5O1e8BfaS&o{x(y&E+B1`JPt20m5P*4t|yyl>EKKE7mV zXh=yN`SgqS`*T+jZu=orRN8i}U+u#asI06k2JAgfP6=sAnrJIa9^#c9mrY!}RK)bm zjGUL!FOAhUkt3n!L?p6s17&yCuh_M@E5W*;pdctFMdaMI>bvJOFyBSKYwA^03-M-I z6k6{oqtw?Hh)Oa2-_rF@9enZMT#-rdZpHV=jN#^rOJ`CW_L;1SKKaGP35N zfg4CkUi$e{O2pk)1k~@GCKP33tE+2-5&U&dp95^?w>|3@C?V^(G9AfdoswQ!>WBE@ zZ7JTpbA&MfMrF5!`T0v%dPLOLoCdrB8jxjywZkq7z_a=A4ay_I&^K+3oP}8}=f%kD zLpZ+0!O9B@{c7s!ohu2yLWj%mvok4aDk;_Lly~*!x1WHL9P$&%Brd=m`nP6ux`{b(ydz~YlSzu7WAzNUE4`E zNyp-2hRry=2KUQnC&AL1?J*CbgoxOCF>zliLh$#TN-5T@`AE@PN=#<+H`3#7aT`n;H@hi_DO6s_gkqO3O>S;mTNx!BH=1me6 zclRBA!oxAffeB(LKZZ+I6BGV$Zha!TZ*%T`&dem$Xh+MwEh!mlUeEw*Z(Crx+uADO zJCe?y1I#Q8(ed$H)!o0^<0GzQ|D_R`YptTnVTT~YHNx297ZBPujWl^;ayEW$vf3|K?KnFJxLv zA}`dQK7BQ}8IIN96cC_c7C7*J|7(=uSnBI7B{z%3JsLE0~>M45o5<++gJ8SrfcRKH}%<4g5?h|hc>;gXv)dmgeEC4 zCfr-i7qv@h#C#zt1wQ_+TP+jDV{)Oewp%E7%j-&5NC>BEwc%8=4!1pWC=7FRYm=;Q zg^c)Hb6H0jMN+(Q@z@B)anCb0A|<7ygo^moNp|zj+Q{c$v*$ROG!B(I%F5L4$JNx( z?HAYyM798m!nWT>3vNsUL!ko@Y`vzH1`Ap#;3(D(4DiEZ6k0gfuYDQ+b%+K!J*kTw zVsB)V<6KT2LvR8XIK`g-2H?mU-=lT|H-{Q7vv@{55h8 z^KlCRgP2Ux0m)yItO*wKKkZMjPGrCb9D8c78Fu~j+pRw95swU!a{4PT2;Od4S=zaH z{c*gke`AwWk^}5NA*29pk5v;X`smT#-VQwQcfwJgo^>IqDmkWuhx7S_&UOc}@bu)+ z;P2XPR*Ifd`+4uT9~S`L&kvoo!0bcLl6X3TVAl=Y~3l6LIDQtijszs9<*UMEFA zrQdzG#p5tt3-UVoj`q}=!JZOb^1T_LJYijmeDV!t2OP@t zLzX$Q`1c(t)q92;f^WrrhU}Q?Qsqbef1JzmB5!JFVO33gIrFEeq-TQl%NiC|;}euNmVn$1TCT zBF5Q9%Cyv@yu>@Czp(X5ju!bFDM_<%o4@W6|~0RUeJ{7d?Bao?n9X;9#FVZ9Z>q9qLKE`*JZ4THhN zONDUn0REOm+-%?VOJ9bls3?g0p!?FB3w&IxMP+6xog2UH@ZlTC(>9i{_G8qcEnxyW z*rT8YA49P+8|8cR4S`fJC(Y)rcOdhh7L{~x^AJ&8c?jAl(Q{On%DWvQ2N|DES7Izp ze)0z17c^jqdiH9=y%_O}Z3}$%vSIuHRZ|_r{B^1oV+BbX%(V(Hw)xTcF>9Qp=5cC- z1W}=8b6y-KCFx`%Cas{zc8WtNoP$~5jYqU@N^D##v7EWKIs6HK`xjS*Re{=<^4{H6 zYJU0`*ofkZiHZ3gG`MKN?93Fh2-ut@p;y!OUDFN$g?mMpLjPntS24A=I*p4M^^cGKD$@1OVl2)-`}^VeBM$g4SsP(0k+X)qLC0y5N8)t!yl z29+Y%G0u<_=+EU`2rm$&;v;VTeosSOL&JG&S0|ROx8{q`8RIsC`EB1NTH3Cbzwb2) zvF)u2es&TvuXeWkk3vp&$!$U17tp6*A*!EK2P0;X-t=}FwnVPw@e>kSXX_&{Sg{rs z_F?rbu#$Pt{({+z2(d75HUs&!_GxJd?}iP7X~5u`1JIQN8UoaA<59XMnlPlFB>3w- zdF`Yi8~-=_%>C@Y4?lyKA3cBn6#n=FFpTY)89zzC=vg^x*&pTpOM)!!q|eyqx{@(6|#W#!y2)Izc%^? zS401WUpuAQihfxp=dIa0m(D^#oH|q#)wXV=;8ELJyKGjoVGvgO$`kS6#H9}n3`i}+ zJaVUjjphbD&x%>4Qm(Q~c8CXO^4`SXfp=qcA@VGr!_&&QE7a0gaDH!!!{59)vFB9# z?f87WY-VJWPTF^+$L`8EuOIdl1u*;9>6Pvmq&#}b1vLcXm>N)wqdB)5Qs;I>&#^Ev z>JDprmvqy)AkW&1_uB5IAD{^KIE`l)C-@BJE8TtNyHL+f1RXzDl^lRb9CY%}bpXW! zCzi;(m-CxZ!wz9!LX!XqFwg6XcD#DeDhLG!hlYxa2<>mLReOheyj&M2-F-_WB`K@Y zt@A(A#E0OrHPbiDX|ss*b>zx*oFWVg3<}B&z>jvrexfkQ0^nTHx-Ys4hDvm?{zmuR zG;-6W_nKiXfIu%;xCq0rL;F=2VctCF9fDlbLi2+q(*xE?=6&6@Zg0eNafoprFo+cH zv0!y2yIp41Z!Z(MqV}L85MBaKj^;Hf0>!%`+nmP8ZdK8{*w|PKU10RawQSE1><~g? zI!!A03O+!|EEN>&O<^2UKdKr4U8ejHC33=q*R}T;tUoQKh zXcTPryHonpOm|eIPnusz%#~-wLCY}9uxE$+fnsel0gKV5&+ zb^guuCpBmO`<=-B5+lhmu|s?a&a_8Lk3RxBOHNLXXW|)R4x@H@NPkNrN-|3RA(y^_ z`cO=ji?~%#!vHoQprJxD1K>MU0hPUOPp$9z#>QkzC{0kEfh(stW{ys+7pCM@a}T%D z%(Wmmn)ViWU%v?Iq-8ndAeJb?N!QWI*^HNUL7<$Yi3USG>nY}t(r0IaDq!HRi<{|4 zVn5&5QbLb+k+Op6=r9o6s+S-yz+<5!$4nU55o=bRT}dzQb8y^70o3F5>uU4G6u1KL z(fxMw6zqDH9rN*^1xzi_#YdB4Wqcy|6b=V7gN4^f(FyMcYh*jq3>|rB0?^M^<)BFkjc@rFoC)@S zA}GtXb+tT)V0E3y=KX;hp{G$#HH&O|>$`b2oj@glM{mG?-L$SPNL2EWEX|hpZ}il!a4mp-K~M-YxpvjOONs4(xYPz_%yelesuw2>{8_gtod zAFp$;@ga|L1$H`aqpm$LINdHA!QV6iqlttJkS?lLeACUh>WyK|Z0zzwj=s6A( zipL^E)Ui2cq^lB)Xy9qcXsN5Ik@zVx+>RdizeMvWCRQiqR&)m2Jz@cu?bfC)Q8P8@ ztdzWLZ5nni(#>&LR`%}$@h54LD10H`f8DKgAj8eglB(*gLDE8+n(gf^|(6MsazlAE?(Y?#Y zehX!(CQXW+MFPAUW|jgb)^-2~xxT)h5LW_8JMrbqWFQabFrh+`c|B6kWuT|Og?cCa z=m1LuJ`A!W;x7Qp=SFFv0kV0ivZ+BCz}zWr+=N# z?N4TQ_Pe*Dr@yM&bE&`|RA07XYD&anaORY5N>xa3Ffo260jiyV#kqU;?n{a*pF#pz z5)-Be^1o!Hih1t?I|J&|y+cDXva*o3;tZdC8_rpfY<^>FX^GHASBRrvBM{1QJ|RiH zh3YvZ(fyG`?g37roe$X0&JJ3v2_RBdMXLP9j%dA)b@N z$!EWiXvNQQUh@1wDI^@e(R~%%hy7&jq>qIuZgyUDS}K;XkUyE&{_r8O=z|B}Juk~W zJSlqeA#&0WrSuSfdiwX7V(efsaxOXl%o)Gir}o_<_6GR)pl~0Y!^Jw)XliG+c1LFs zlHwYl$W|lUY!hr_(+)lXT;69WvUsN?kb_8zh!`|~?E|gHmSLlDPoC&h3aiC%I-^Oj z`5>>?W3UU85^yISrl7uZNwH9S>^V)fKSD1j9ITdYJVCHA*A$*RQdVA3QgXR3+az-} zK2jscywq&3ImDL=$0+~3c6Es?er_YC#wWG^+e{j9469bjXG;y<@XbAa$>d}vac@W6 zk&#h9KR-r9b#i*-)7k~Q`DOWqJ`VAZ6kN|*pLU>MX3qA}5;1Xa;nHhg!NX+B7=rupvX}iPn?mq}(;pgNjJu5-*1FB=4Cv=|i6rCR zr1G04D&wrP=}%>t^tYCu0B(K3#`Jyr!{6#AU4p4b@cGwrkwTRLwUNjzPL}ee!vorl zIl&Er?xlgQ!UIX!Vy6p`U;L;*Xe1niI*qOSmqH>Us7Od=M@J*>a6?3!vms(UbKy*z zaaMD)OmH^`h4;;ldwzo4w&i}v;|KG5d2`Kf5c%IaJg##Uv$PgfH2rh?S@)crQ&Y&cT2sZjY? zkG%W>K|8GgiGV?r!f_(|Eu@QzxK29h5-}qqdUc|HQnR|bnRBi&`3w(w{(>ZnK#mzh z0D}U7+lMuL02#@D>VUZaKm}d9ek}skioci2GKJGz7QL^n^!0X#6BghrX2%W-e-Fg} z`&j11U*LFyo4-nvjlyY1dG6PD&yFe^cL~dnnvl=P{yeH>mNA_?YDKO2@?ibOS8U3veo} zTGNzyeZXJ$*M{@yiJv1Wk83|Wy4?Jdy|EIbQ(~{l$&U`VMXLGNj}-^{;qx6htz-iB z2Yz4vjRyb0$jH^F+Kn+bl85_iAs;Q~?lq0$UmC!f%JoeSJw{4uhQX{kJ%Sg~KiHVV zqE%8;R)3!uuUj(Ux-WQ7uHv=o$h$97yV~YVho_ z7S)K;4e}8YvHSvSPK@xwW3T`G!F_biUaKMh`&;v$U)8|<-vbHWl)q#*2oK()kcr@- zrXt>vqTIORyh$B`+rhTv$lzX=%~%W8NsoDp=~nB$xO*jKxaj)T%i)QQAj*0%_VYd_ z^z&z@nfmP3G~mB?9qmkO1<0}hM)yT{_=kxs z3E?09M1t+c96F7-2O=z5`B2=B{E`DYefI~dEL6iuDt#a!uryN&4qw=UMw`~q$~ji*0FfKDco&uU*WX4iI;irZy& ze#ba~adWXvExx0w28wJE6M9RB6)ep%NB7@|5PjsIu>k=Spu$jRH%e%G>874p-k$N; z%Ibs1+xPE~^(ro?y@|!N4KD-(`b5&wbzE{xLPf`izAQ!_Q(}Y2(EIRoH)#IMcGNLUJ zrCC3xY%}9zcK1g7;H3rmWTmcCDb2#zWVtt?U{g?xdl27s;d)Q5Q-B2GYqspIVb5tk zXgMrY*4LM$+pi32)-zixLcx`gY0^>x$ElPmU-yzd$E+(k&ugvqxT|b<@vH5gM6r#z`61`B z_KaFEMfXnvARb%yHR{MTx3wI?pcJ5LV^id^%@-(q%^FXy2@;<7y-VRO%ESav8I5A& zSYL7$xkN>|wl>cvPZWmTXgYW@va|D@hmp0M!CdpbM1*5@Xs~d8s8EQ3mzIIoV85`# z*=F%+jQRwCXiKaX-b-MT)QV?YRrUr7thdmyLW-&KJNvN>(iEL*M86kVZ;mVtxQGze){UAmAsX@x|6zkh{vtlbn%cjY~Z&9@KCVD7Sl;z!6+x<_V*qHNR%v< z@Q7L5HSN!)DQu#?m`tpU@;X?fmv4`bRK`GiTc~NMr z#Uh_WmUz&Gst>#j*1!GsM)bSpjC{SgVf+iY2KtiD@EDd7QF;1!p1*KD6KS1+h$M3B zrr^U^dFh>JhoQjpICO|2k(TZ@@3EO}+~H&nDd8{|=@8q<|1Y2&|tkBb{D7{ey1>1t4hhUOlK5m9m*?iLF0=HjsAc*4?a zVcJM1rt8<|DZ4SY)6-`#$_nYij(U$2#X#rJT&!OcxnbOuFh3X5ff)OSabLfDJ$$fRi9rc_!A!Jr z5VQTJ?Arx1jSr9I#NENGu_ln{JfW|bZ*Fd;R;HW63we2H`@MSk)#H-2&HTE&No>TY zv{%F{h0dkX7CZ0}ULF{XcSd{)OEXG7O0yRw%H%)Zo$nfIr7z)_m%k|RikpqCJ}U~| z`Svh^8&^n?>JOB**c)sbJ;qR&X5CV9hq@8_k{wo=-i)sv)8`2!v*XOr22Y;U6>iRJ zELZ)Mos!|g*v`yuz}n7WrYtC!b5DtJkBZ+4#m3P0Lzp~h`PE%BOT&1q_yxJR`{6Om z9<^V4@*=eOIL)7m-x>Ki|6LgknkNQ-Rz?J+Vlj}#^det>FH)jGHcU_>N9qo-quB`K zM7{rqj~@5nt;%7@5;F^hKkxZ-e9Xwn zxa4Pt3C%SbY(NcZN1%Q#OsJ*WHF+c; zKW);ZeW+zZvu1q5-F?G(t@b;A_!=a3?avIvb=ITMxxW7Ndpw!{@nxO-C4GxR22I-#ueov$}c#V8+&NxEQeq}i4 zDY}coyBZFWBw`Uf8AgfyiVJM5(sE1f#+2<=8Y`MMy2A^FaJz-tslFe4EG-#meG6Dp z2lFOoMkCh9`g2T`;}oCh@0N{@MU8?0Jqx2=hy5YEH5Re~2E_u%io{FRyw&!YN8+;E zyZ*i&A2o9kOD~Do*|yj>9{$VSu=~~641I~gf(85i&ffYG zL5M-VW))p?T#(toS_6p++_nuN%$X51tg=Lmj1A$)!rJ;Pdz&SZ zeNbd%`VIaC&cnmlc+H)RSa=yACH)aABvwR3>^AM~^OT(yxTu)Y{hZr(>Br~aNveCt zJt|b@p+3^&y;Fb`E{u4rNg>F|}EDy{~faDH7wlbE&y4s~yjPPCRTNXUl|)9QZ+ zb6HKlzLv8%GipF_*=1t4sdoD11SW~b{eo)7etc?B%0<7=+7SW;S>%2Tg_Iuxwst1!Z*cQpozZUJ&e|fZz)mV9cwB5@Yu*ARc4`I&rGVq zDH|CsQ0NT|2+;2qGY}9*wP#AYXH#+_n_cq6M#FKUxiYLAMymGMhyw*f*Ul&{G?i8# za=2knNX|-5>@9ZRsi*8?S463eenp&_M2j(80!fDgR?Q+r6QfLu-`2gJ@|SQtEoJv& zjAVat*g{^&0(peGOOKC+3Lo`dnQ*Tk#7B$53L5c3t5};AoRQv6Z|v?7{iYT6;f}y3 z9!XhQYTV*SfDzg(^vDE%@eecAH`=*mc6Wv7cP3zCnXI*Rlai3o#KaWy3$O*ih%x7t zkIgbjaP^$vCD0Fa8MAeNQF`@K^`5vmA)%JtDJo|l;ffz#mu=Z?r)D>tiie&h-J<7K zj8(q#$S$*BiF!nRAoejap(FbyH!xlyD$&!s%Y-p3Oz2w#DSV^9RKB{C?KD`;h&AWt zVw7NktY%^22X; z>-A2N4tu$HF1oam1(Eo^K>zNU9)Vnr4o;Xgie3OH*L!w`|z(qj?sUI zfh3sWPfL5nFgrc5n9{``)v2Q&pI9U{n@{$037>wDk=Z!o@`Kcb6&qd%@aZtihs10h1(}L2q?JBY?n$9J4yEoRNQ+NR~-l6 z8!k?#kKGsiYP~U={qcUG%_6r&b8@ukb!)XJP6dbcU1&>7%aY3s+&q^R49vmubDN9K z)1$DkzfSjbq!F50cMoYEtna;}oTaL5K?omI=EczB%%l)0r=mT&()2SHDydK9V=)-% zst+ag`xwM@sXJ5F*w~n5j>mS^rlwf{;O$wq{dOHvDk$8nY%UW93~!*9YjPxLHXv-KbHnpG}5iQ5{N6T6uKgvHyKEk7*yDrOaWbx zf4?TewUBzM{LL}_Xybr--f$L#6HkR1slt~hY|&)(Fks_ft4M5V42d6pr zk(`+yRlqyl_I#Wf=Y9IZ^l+3bpMIitD$Z%8eVEg{z`7ffcc7kvbXOgI!a6|aUQTii0;5kj4~r?7?-v> z#Zl_dqBR?9XI84ckFh#dXg{}l*jWc;aES>#8~jzXOGl0=@RyxzmUzwQ6G$Q=RHy~2 zfj*SY&-((-+p$B!Ren{$wjeLENPgSC^%ba01EK8DvFihrg*|GMd)E-vba^$K?OM4G zJ_CZHK3NerwcNwOts#}k%9_2w{4qoJE2}K3=KUoK!PD*eF?W=}4@mIZMd!J0Gh$CK zuRYrX3lw5CHp#3IyuJN)E52oRAhE)Nk}LRg1RJipNu#c=Zf0h8Vi-q{f{6i6&K%Tg zouQ6Prh`%S=SbH>eJiU~|GFaz(A)xKZZMFzmdwAWPPW(LTWKb_*Vk6B1k6S*hp0=&irpFcis||0E(-g19$b zH+|O?{%5@5N?>t#ZeeZl>6Ad=l_gkF8w#)s)5zi;s*W zrRb42`c4II2k(bvB6vwJUQ}&Izh&!q#xC(bw?U7>-nc!+84K7e5UYN?c2EGZ5AGSK z&FR3z#*ajkrbzFqxRu0esjikxBMNjON`e=t z*vo$W5Ec;@77pNnL-nc!osz$ANeNC*u|qw8QN`ur#cz7G1-8bFqYAO|5El3ahh#;P zF&N+LLQ$98@(t}{n+vxV?^xFdFn@_i!RZeYOdw;?lqrNj}lvbNu`FniN5+N|P!ruTrjw z19*&J>S4t~hSz!1C62n9-)1`P&c#E@DA*46GCOysxXa7SZvsmw*c_Xat#?H~39%u7 zfr1QKhpRMXvBY%;aE&}Z6TV!avW3nf(LWK9m+dOl@k z<+$IRaeXUNAxT}vvskqCe&rqFe48B!=%-10O*Z31uG-8hlxPm}+R7^^fXE=slKjFo z{_ieuU{PW*_e4dAS6?JpV>L-%8lhVU+0J7%h`p!G28unk}WowT2~jY;huDus_=*rtushVM`2njc7>* zf4y)2P*^w`VJmiQppN4@=gN-cD5LXT_nyB@)=BkI$6O#JqP}nbC!1k=KdH$0!w271 z(_e_{D5RP`ew>i8q+jn35)=7|u1kKpH8LKLU%Y6qeDWoLCv|g<1{E(O)EF!%I1%6p z*Yn|hpH6QtFH%2!fDj2eqI~~MFd8roZjWu^r9aZ29j=|ttI2TLv8u1k+7jAc$d!g` z(vX+sU>Q`mB&E4rH-*aB@LkZr^+XtL_{Hd`&`Mck8x1Cj)_vA??Cb-Z4)gw;u_0F+ zJZ0DvY=UtY!ym{0kkE<9=>yPu=t6?Uw^cr-?E6q|?lp7M}vO2D_*zBHbyzFGI$?(T*Ue zufD{9&mbfu!@|Qf!@?=~oh%k)(cSaINNeX~;yW5SSsv3H1QTOnj)c)My1VO(JB>v6 zUifRA$8Xc=iYDxFGYkQY;6Z`(_SQWSX$}*>CL8JAb~2(4a2(sXH|)A++d?&{o@>0a zo7eV+U{hsMLrv|&~mw}ZO^z!bBRvjmz;aeVCzNDCLY1zx1i9TrQH)&^yoz$X%d;y!HV{d0= zWo_M*uNR-f%2*m~iTs>CPUPz@OZWc$`%@@M>C`}c${&a^{7$>J_NE=rJ3nD!ChNQUedhusl-jV^>gwIr(U{T{oU{mo^7>%5Yo@wZ z8IgxzVEHq8wcSxxkL|&N=#H7QIlwvG*MN<|1F`%wfv0eMfjoskXl)k_ZZnK*WDQG{ zXWQRI3^r!F9v{gg4++mYr|r*=Io8O8@w@GhCw3UZA_uGue11gd^OgC*nKPc}DZ71t z_njU@i$jkOf2vm>J*UQ_fLE_RdVc)a)d>T7)0@|y;xo@<4%+{^VT=6g*aku?=T}!N zK z&8HtB*Fm=Gf+VR5yE6ssWfxlg#^_`t8K;#mz5ZdH4J+&o)^W$QYkV)DeN#`}Z|_z6 z=JmHV^3?U2-m3O?w$$8Ea-VSSVl!-np;9RFU?jrz^v2Atq0*?rTvzeh-j`t)Z5fFR zH4B5e)g`#aP+zUN-iX5Z9R0n;7&;kp8%E^pgVFpxNKZbI|9#7v8HUId`tNr3Z=1HY zLyN* zn(D<#-WSv8I0+KcFP!GRZqw7A-@lLNFo&L>-dbJnr5-M}*Gc8-=}|4+Kz3^-N(3WW zG^4quv(*>gNvhbYFHDcVne9w6Pa1`87$7_jW{R$&G8S{0?QJzRbuvcf^)LAyvSGZ1P!`=<6rxw?D}=5?wy|Q9!?~rQHJt5O zw^vZ=B}Vlu=>`MfL|yhvw|Piet4|D&+!fvT z81=%@)Ka3j*w`7H0&xAXo#|PGmevB_tM4z~S%LAMw2aJ5Pf8bKap6+0{i}l|#AR>d zPma>VlBuOPao#>uf(gPq8FOy^F5^9SvegGO9LJ8Q7MZG3P!aR!Zr0pOw}jSTSC{_c z$1O;W5P#Yoq2Kcs>{C_cYJwGp?d%xr4ki~wy@JGRDg#$H3zl%-9uD@wQqR$~HuK{) zLpB5VEhbvd&B9bc9;ct{lR|d8Lcg!GsJ$3(Jsw+BOy-t3KffbM@MZ`b?*iQtHmY18 zQZ=fjr8#!I-y@=0027IWJtD}^hh0rHr4T9iPMb4La8S>YgFbPe zaQQ^V>pI4RnHu86j`Oa1>aIhl6{ws88FzOFwupW|cNRLqDJGUdZ^V7v--&l7$!#pG z#E9PNxOw*XbImr{h63-evQ8#0eMAaUDUP*#Ncr&2s4q+i!UXI4F~gRi&DD(D%(^Hk zx1u7$PLmVo2o4OrN{TJ#n&)EPBT0%$8|XT>#>7_o`cBu z3<(F=H!CVuOSlc@>2F0Gu-ebDJMR`sQ)0>ed=}K3f>(y3Wv5it)Kj!dpNRZGq09%0 z6fhF8j?_|Z#vF6Va7g<5gy|~^;m|zu^OJKbc3aq$#)NXIZ8pWH`Z^&P4}CwlAiV0 zpXqKJm?``)` zc|H5}*jMXb!?mt;UGHmH_x`O1veLc!8VD1tBER3mi-tlh5(0KrX4X3jx-D9`u;rS+ zdiHqld|sTBAO8f|PGlF5n>>5g4?*M9k~6nDQirEUKYhAje^NeeJlDI>bFcaSbV=a# zm&yHP%ZgJ585&-G(BI81;m_JYsxC+Cv-5Nv9i8Ijz!Ucmc9)m=eE4$zxa$rBgSb_- zDcLT9dp{P3@7ne7Nn|;GHmBda61^^ZUS*dLojR0(9Hvk@pyZt=b;LoQC*Gf(`>xV0 zq_*}Bb#Bw38BtMH_r9GNvp@f9Nz(ive>zN}yF+ec9)+qRwT+w%K)(VJaJpCDB%#xDaK_biAq3G8b)%HUn! zET6nnU2ghtoiipw@@L*GnRF7bxh%b(Tv)xyDkzIioPEp6bZf6Mb_qyGrX0&ZVUu9J zYa=Dw+Jjm+K(=+?k@*>B1(tWs0{jDL!@dTchwaP^`fz<~VIX4D{rdGDII%+qd1~Sw z|A4c*hS&`?G3ony1d7rU5^h%&2Ie3CQTXWG?um(YE6PLKN0mK&wg_)d$#qR}&UWB+ zUWI7ENqMe|0Qtv}BRda!R+{v1DPEn~vt!pm`2CejeUUs)_WG2O=4T;iEbXoT$N&9R*Ii~S-@f;sc& zwYBT~3nyk2Eq}Mw;SsOMI?{u7rTl5b z1363IfB2BKvjQGf)-&UicumXPxW^aPOfp@3qbwsD@0d=yR{zj$(TIbQuaNINe~@-Y z@=egKvZ$qOz}_D>&jhS;KDVS24u$2+y2OKCR{~5*vK}PN8E?99;lk6sVy8J9xoI4l zk$Y|5l@K7EnC16hWiPQ`n!7MJFN$)v5zaAz3!Z5C`Q$Iw?jH7~2lC&oOrxxEPhRZt z`~fnN=y&q8X<63xiL*-%JMO;|dEs+*rf>P9`mcXpS>b$vj)+Lgamm_Q)g>J2a%v!b z$K#sQun-f!m-BY4ubeX{cc&D*HrT#x_wM9*QPvM%-`RKGsi17YZOdK~AIdPD8VjQG?jie@ABZkMBRsxqo^WvxtPjxi@AP**_BUWa%-erzsAmsv=i(^(?CD z&R_VkW@x_erORrvii%&2s3IucU?wWirc;s z!A0fK^@$^WvmMSpiScmPOFnh#3-#-^efxsSE;~6bUNRBL3NOvM{OB_cSozoZKQIgm zN3XR0>RE8i-?(@La+Evv?fb1uFR!nPjwYC%$S$2vI;bovaCqL9dZ-} zK2zPTVaOj+moAws(h=q5p}K(iX*aJ=sKY|kx4Y=1JEn5(Dd(jn)j-B66Z+?2noS>k~dsb!wXAa!* zcCT4l7vCY44?dw{1n#hI@6r0*yPnWCymK?23X05i&OT9J8|IMb*-pFNtSaL^oFfx* zCuRir3@v-UZ|``YnwOEtMt}M6@NU6v{)iC+jf@g4w;XePrq?+r>%xP>>pa(0=xeQt z9wjTy6J)~3Tc6Z(rpNlvFH zZt0%4g7O{Kt7lJSD|tt#a=r0dsN#{WU*|l^$M{O$|CMgzHA(A7vB*6= zFnbJdDE!OAD>ogUmBXdVMnkG!*7xBkVA<>8_P2ayIW5}_^gZrU-{fR3gpk8B+D|j{ zOA9=kZd9`*5^(zLI6MDi=>rp>qSj8LOzTqpZBS2=@M?OrU+vrKt6lJ+S*7`i*YSFz^o7c4IL1f9NW;#?p-n{`;S7%1J z9}Y<@8l8@p(AMr)w`sz`i77+N&r7dAI{J^+iZPw_u#Ou(e>p|w9P{7do?bPL@^elz zJA~`$fPjF;r(aXy+xHALFxw60*`$8>zAQ&>5Ig&5z}GkTakS^?xLXTH2h==x*D*ft zh~=Tc*Hy*!XIA|k`UwHP!-?7ZDyp74jj2oXnp%Czi7CY>NDj;{*4lc+VrYtW<WN!2C4Foy#nn>66XpIP32 zr3ibs6rIYb2N&)pcZ}Bx+ZXe2 z>GaXA^N&7!n?EU|s`7sCqUef0XT(@i1}J9yV+x_nu2hSLuZy`!^l$^Cb%FAm9^ zeL{T1;#k1SrKs`q_3{$+l=}|a8n|q9WKx80akssno@D&U`=`e$$D6A!I1IPrR<5be z(sRjAtG+j;-ah#)-8mtIN={C;ud0lXw3Y;Xi`i^7YfV5(@m`ZbFDC3tcI^2$#k%&k zXWXD^z3^7^Mdg2O4)7`cc-MEBb&5yQzLfa0Zl}`xsvnn){(*W7I17xJ1)MDj>Rl2P zvFo{h`h~e+BR9+`*56;cG~4>3#rWB?E6^6d6)c+WbYi>*=+Py-Kx}7X~xzmC-OUV!V#m*$Lt%5f4tu+M@7+V_=@(f*z**On4)xFa zaR&eM=+>?0^%IZOt$1>ZInCOy%QmF{+DmW#gPcn~Q7AbZIFK4BMYJgY@-(Yid7H9K zJvqOB3CNwWx6+s+g|{m%PW<-$v%h{=!JH?;jet}Xr~GvF>BCTGUBWll?l3?dKFc!f{$sWayTYS$xb z_quoRHqX6v)XEnTJL0p`(oB<7_ScgGJdCj;@r;zEh8-R zJ&WEJo}PMp$(B=9x1UvS-?Qg&s?%xv(IZADwA+*}k$dEvq29#Ju!0~w)sMY_P*6?p z0HnM1OAg=Q?JrXP!j#`Ez5nma{u`6kiu#BD`-=lPuTI(e*xE*?A~MwJH)H+7)%eG@ z?&owOjIV7haUF@sRNt$;5odkp{d$Ab@5&YYPu(lV|NrG?L*o*`-4_3H3e^8_H=@~5yp8A7!TkH>7tGDfcz2(q2EYC=GGt3P;oytw0V4a1 zDJh&mLZ085zoH^ByhUB2)%U6{R5-5HM!s5B6MQ<%ygF;w&?M`O!yl$b-TrQ2{BDl_ z+cS|HHf)H@8}0qYPu?rI*Qho#O^m<2{Jg=_-14wz;RXJJzuk5vJoI>Quq14l)$7|y zSlrVgC38-0-mt;H2J*EQRRPFRe5WAA&B4(XPO^5Q+qU)_0hZR&*;E2x#z zr%kg>em>~X*s)`ue%I-qkumj^c|VO&>sGnjY`XahKhWG8l|dQHKi$7*^<%?LyoAjy z@3@Kk+n03Us``*?S(#NeQLcsfwJp4^>FTv>Lwb8YIqP5XMW4wqQ%A?+^>Q@>&vTQ! zOU!n}pFgoV023Vh?BLz~cWW}rSBDx>Hs7b0n021c&z$#dZoYApNv&UW=)ptrl>GgV zN4@X8DLzpiI48asMYc$2Rye!RGkSiG4{s6uS4v7{Lhbju^Q#IGOqQpn)-5W~)hm6R zvLiI;+a;evn{!-hK4)hHR@D`zOpSl?;GFB{2xR9H_tF-}-i&lvP>-L(K~OZ4awsnH zmoupe&LopxruN=n@#mj^u6SkSg51@PIb6LB8#itYGjF4-8)@=+yxynJ>D_xF#?ie1 zoqjz$qd4WqiST~*1*yT#>8sprZTBhWHsgf-Xv#j_0|{&tCD>*-X z@7$r+sQ2&RA3yy!>ZM*&1KGkS{LA9d^55w{DOU+#Kk z-dMa`K8(fVme7Lc9!Ivt(kmGX4X&r!? zL2Qo8&T`qMHLcIM6d9hdX5Phcx@1n+q0k43a{?dT_ne4pY;||1Or?WLp1(IV=+&!? zU$lSw(Z$6k!#ngCRTDqg4FwI4Q(bp?8nyc9Bj`50zAku7?Xm+hS$gPT`G=mF=>@*; z_tez|o(St{WMG$83Cu-BT3W;|S-5ca;pzcqej6v(TYdlbZD+Qu3VQA0wCb;x^RTIh za_^MRkuNJ0dDacGPE2(U^Vlo$v`Y=ThAs!0N7~)23I*%j4R$9}>Mth}10W zyE;BMF3?J^dR1w~pDn*5OuPXV&02b&5X$fI+bP%2dBYHY9XjB{vJa+sElEe*+=I*7 zC4A*OF^;r*PX5%bNF48U%|DzH%9MY!)ap=On30Yffp`mAm#ZF(8nCJuGVj>K4r0No zJ2xH2Yf+VVw+r3!@9yKKz~?B>-u>{T*QR@R4!Fio&z=~coAJ25v!4Gs=dU%cy;|^h z4YQ#RPu%j>;C{MQ2d5c1u@j1;CC`w!Ovpc;xwy0fAdd$o$dg9+6S=ION zY!29^i-u9(&pExTDo8CqK0hw)l*hVuChar7Er!IQV#ww1BiB$Ka`}%d?Uv?a6F-_B z`)AVd@7Y;NsfA;DC%vwEc7z%>V&K40qhfbbzEcvb_IsV16My$f@`|seJ7m*0bh`L? zaNoXtx!fV|hMmP#y_IP)dC>C7p_XwgSFOsj7&v-#Ey{dKa^BUr3~RBYoqp@2*N+&R z^ZMF>j`3!J{*MYCy_`9)K05i%*0?om@W0X*$UsB3KhX)+ozc?HrG)f`Kbug`7c+kNxnkzYAihhJ??@#p{gcCC#s0 z1gGJ;qr#V5efc#6t${CeC(gYVqQyrI$J<`(3loQ)k^^A9E`rmVF0Y;$o=sQI)f!Ea7VDIf2!mg^#` zze-xPI2ZnUyklkSmXw#~x`@P-l*p(pPhO05Tv9h$x5ZeGkDG}rh!r)=dr?2`U-{vB zqO^DLfoTa3h9VY4JwCI{GSkB-C5=;;o0{V?%Kz0qC%xNC=ML@SW7FcPbUbqp&VK;& zpKz`z^CIi*+lSkx1w6a|5H-XZqaCM>6Mx|1N)AX~6OJKa`22-W44hj~~kT zTzgh?tmCZTwUFpt-F3F<;+>)YJf62{vW3r`AE!;)>9(Dl@DSl11a(Jyzuy_!YTa5~ zZK+Luk-hrjf(-lp+xMj5R!dlvBnoIWIy!{OG9vswB*8qAJAAMNAqzx(3eWogNW8_@ zZoLLx$FyZnP%%HDe;>}babp)uTV|Uwbl0hZeYbYGiE)E>XDNIPEsb#or^=s(uU%`J zV(l*I2E<`?yl%n}j_)N}PcIxb7$W03#Dn1AB9>h3+e0JfBkr*Jd8`Hgf&bCPXIP6- zTg1gtb&uc3xAqu0!~oe4BgTEijS?hv@{Z4|xxU-c;FNED-#OL4MfVz(Y4hd!8^^30 zVN1+yzUI!x#v6E7T^^uUz4ApD6pH7#m_&(JWE~Wn_UCd-FFsoYPp(UN`qx?nGfzne z#V;)LxVEBb9~@IEKLNjKW3bS5{^Ac|Q!m(^8Ebm@0^jkPynX)hd859r8DijlqdfZ3 zf>8V<)26Vl;lHdne4^HCL)@D2_Ps~97+ljXWbiV8H{e9t_3)-mw_g=gM%$`d_@(~! z*BXbihr@I4WPW{bh|AlV#|DiUk!F22;KY{?l_g#Go22Jy+#IAq{dpo_~8Q8!7 zG`~grLjQSG(Ag)w#i;H>ZVi!_e_L6ecL=$d!;#&#yeiIHH-& zzs+4Y)z~)8yX^7+r>zyUdt+~|j?xND$E}8v3zr|95m0)`si$U}SkIfsTtPZ`aH-%e z5~KS@tf>2#yaQRyU&C>Hg3|8lYp>5AG-K|FL41=fNB@4Oqd(@D#W~NBEzYmT4!j>0 z9LU_6zNvR&*T*k|XT`4N6`t_)%&@OV39C`Tnc+aPPq#hO(D>8fw@y7qEqrixPfGWQ z%A-$`r&3{f{l^CQjb?ziA@-kduayscc)ai=pgUEY;`<@35;)OEVuN z7s#j5zVC7daX6C`EqhD+-b80+hQ2&mmPi%&w$=_v^iFxaWzU%!uac!suNGyR?=-s? zmC5nO&vt$-9d3|dd7?Bg&b(x43NG^det2A|DVcV0)9tML-giPTG07?UqObOPUMq}@ z4ItO_@H*S-?446ytZ+Dx?&jq$cqtqroxg#K?&V={|7dV`z3LU&A#pkLF6UmkRAfxi zd*{^M9X8tTM9_Kf4-;*J&YK9#Ze2y=sGfyggMUlpcn?k9}Er6`S##O z>lXH{e(7y^`t;(`QypI4IboNOSKv8avf|bI=L3p2Oh(4g+bk>LL{(JHy@H%sIl0bv zenWV8IbHy}VMo!X%^Q1-dh-xDRVytjL*!gG358T1d1r2I>}}O^l+VGKudTnG*tB&6 zuK&-f+YudYY=9sQ-n#JS;p>NZMMwU6?Gepnd%UH z`Xye_kX7t13+s{o&Q~m3`QrI=hqr&1-0PXy)^l@$?Ya9ehm_0Kt~C=C4>B7teB~P| z0QIZBV)>5v8Rh}LOV_n4iJuz*_kzXy;RWwyJ32t zs9z<^-d{yY!i7&&XTmbS4g8w2^6lT2rid7<-@J#j?2f4(u3H)H5&ag9--*M~dQ%yo z=bE2(ZnlYdZ^HbHjiCqQL`D{zF!Ebu{)rF^e&*(X3v6B=0Q~9T_cjNJ6eMjx~YCh>owOH}W z7`14B@-jjS-!7THcW`d^klJ&uJFXl2rmvq;BkR3m`}PM*E6WP0=^@U~ugb4)nmnX@ zd%sDUb^nYwos|AB+!}Z_VYMc+hDM5g^I|kky!CnPkmvquczD0{z?=g;!+!bbu-)~^ z54SbckDey0cmsqhYp*BPe*f|YMI*S8bM5-|s7$~4re^+u8$w6?7;IpY|eD0RsBcIge#0ik$#c!^KN`=K0{F98`jE>x#*DZluK_ooV621i=3w{#UxDqT0oNTcRP z=lcuv@gvl|_y5|X2QT=Q%;5QJU-76>1|m@&lG!|-_v^CE%a<=B&5P|2PM<#^G2|O1 zf=g8K2EVgezlQt!@6no_PCh%K<64lK!m~T%Js>w|>eQ)Dm#Ag7Tis(j;Pt>^mqU^q(gUmQ*>3i!O` zz#6Tzv@Vn=P`5@t_vp*?kV;H?>i?i0bof&BOj zsMTLA*qD;CD|8xFo`{=dyLZon(c$HlTO5B=Gk?y6{w5}lsC+S)egF1nho1T^{4RC6 zzu>5LU`M^E8G{T^gcux@Rq*JM-C4h*2rG;M z>R~ptgIQ#>*LSP!J9bPkg`Ie~R8N1D%h=P0r=R*^a_dY|eEf~1o;GmPA9ih@X`Nal ztIVviO|aY&@6vKLH6dAX{Qb{f9q*O#>*QGvat<6>^s09!{ZZb3Ss(KD z@oA&ezN;Rvg3jB#tYChNr`P68rq&$Vboz9tpWoSRKg#TSb+OTpai&{)Ja%((TKVzs zXZFGNcMphLUi^IIk98FW-tYhUWNEZ_6Mi1Yx-8#l*5x^--!t#uxDkKe^>D>x=e+VA z$5Gn*`L312v=HZovU`PA_2(lNwCytz)e>V?R4ttBvfJ#?&}XGw*UK&?`;%Hc9g{$9 zYdtm5vf%V2`Ib!2q&ex9@A8cLp@^dB{KHHKhY~Nd%=E85)=X_E@m)=1V-!Dg=+1n3DvOQ-RyVkjK z>D=Bwg15UCLet&2e!bfAh`uPmp{9s zKL;}@-p_qktAE<`p!;4+yng3Hab|hanEIuU(lSE7eE57S6nU*_Q4v{JB9>N;8Gind zRmZ{0i}4Oecv^?UzSbrs%nhT4rC2B0r!CIu>JSoKbM@$U`vL2~G(Dyo@SpIdS`C)EM)<-g^l z{;<`@-Uo9_^Ad}ffB!Ncw`uyW(VDiGcP_>TZqVv|s3+_+0`C~_F>*C|JZ2Jwo_}kk$!<$cg~#o@|VZW_K4eT{e47C zjEzPM^RP_33}kGoH6?O;a%%pIzdU|v5py!IX4nr*1Rm)C)y*mYUWUS@D}xp;wDX%CLv{od~fwIGQake*9hW{>vsO_21V^D$6B*c9V~pcjHCA zoL8v}ewk}8LKFv1=XphJy+sT5tvGKg;5x6&$99?RU&XaQroYXYRXF4&IKE-8E{)$c1lKN8Ih!)n`0219|XG3oG$r;RAznS}+1Q`0hN5T)55jC=?j(eMv66cze{Z3R?v%=HbI!%`Db~wd* z-of4Vr3TPw6Bgf1+k$jX;3DeINz`9{HnH=0m+D|~h zB*ed~hCXw2bkyt8#iX)OjH-^vN$J|m(Ak?_$KCKQzSPfv_cjIKo~gysJ9?+yt^CjF zHopA_#s99|8l@)sR<|6(Zy|BNd172B{EX{Yuj5VsgW?a`rcpsgQt1T6wQuIl4No$x zOcySC5fM^9XW_!_p{Tw)yRu;TK#}o~Aw!1yc4Nkj?vOq1q;?zats6JuYJ26oJa3~i zgRl{t2``adH@$i{aC?#64#3!5%RBF&Amy?@qmG%8@`muH?{ za_zZrSQpB-{Jy=ZZqLzu4JMiI>!OE3(Q-QILPh!nfB9)9%L)VH77tC4Mk>6Sw+h z9kS}16z^Z@G1A}KG%Lc$$=Pl1q;$MJ2>F-nqp$nS>t(X)57V07t+w{6PvQ+4D7sfa zE(ZRkQ=f!gPT|L~lEGSVNQ;80RQnT(cO&%8y^r^AZSIYC&15P{l5zQTUGU)dc$v!1 zLEQ^&H{qRpcxCWVuNkG+@v8*ChNF^qi5*uqVLo2gHMApD8$9+zepg@0%l^lU?I`Qx zcXpX4PYr!imEN^ekKa1?jJsoTY8b-+;IOJ*QwNO2JEVgvA6!iosN6&O!751VxY{3sGrjdY_dJc*M|}}> z)8e?}ni01{YNSS#k$cU-ub&r>VNU(ib94U*G&GMk8Dt#C z=}*MZ*8V87dGVysHfrC-$dLC}kwoqARdKT?n(BBAZ%66T<;L{^-wHE}4~7)R7mY2~ z=$CiGzUo23>xn3o`+W!DK4(_uU>mJWKkqjto6$nt*{;r zXZ+5E9=EPbDaj04&yNd|@EGnbI6QvPj9sbWWNnar$&&MvjTOQBmAi5fdFdkc>vE6#Xsg^Ma$f zu511pk5@xwN5Or5kuz|i4`Vj=I=+n_1f<5VJPf&_q2;bcRj6+vm7I( zL`(OdoELX0IrVX>uY;+D#Zt3lmt6cNx+@;*G@H2^K70PWd6Ld6zj*uRFOB}&wR-IW zS4YQLcXGzXKTJzM3+FQK)1wr{PRtB-P3bo5w!x}YQI{@Vq_oAg>(@%m_cH8iF}#06 zLRl>r${ewOf4jM2jPsji-RMsj+jpd+@&@V9=Ouk?dh>XKb|xn6hFiHV_HpS0he*(F z_+%$nXBVG7T#i^w&pKl~xg~zrh`uA#?M6rSj%iD+PW?Qx#nWBk8vYYoztq>?=Dc`p z^ndUR^tn*#M;l6%z@sQ>6`Q;pg* zDD|H{@Wd3T|ANkGJ_YK(qxKr7K>a6`ZR4m-gHr!teNRq-`p=sjwJH3s{b|w#{|!~} zzxL<9tAPI3{`_|p(Er+>|1JRjZ`+^gYS!rg`4?Y}q0+XlN`G*a;b0xw{cP;-be|5| zy7Y!G2638Fj@-D?U~fJCK_^T4ERl07`$cGLO1bo<{LWnZyGDPs;mP-F_OE)YA*G*f zY1Nnh=%hVSUi+c{Q7ug=pAJt70i z-W#Gr@0%WA7vaFsm%p+d*iBbcDpWo=?dG6{2hY0=?4~Id$^LO0DF4T8&<`6r=d-wmDi_g#K4Uo8KsoUI{6TnLB43$5=!OOU!7RsF ze#mezrzP!pHnu;r=nixn&fo(rMI4U&IA?I^5ZY{!kuKvR+sdP@2Y=C|vrZf9(s%MZ z52Qz29@0nu~-lBnm6=41(d1tZV4{f^U0AII}6}q&Rl~Kct@0uDi zGnU9oO%3IxrbdVLm~YDc{bp%op-oS{AkbEd!tzB%$(me_tlwfIdB4TRN6hK3Spr4a zV3mBv8RMrqwCsTp+m{qLnAzoawEJaaT9eC@wZ393Z+&I>w!L(ZA~aBNL$Ocw_8c!A z`jVDLN9Ae`F5|>%as{%N1&NMw z8w788ahhC_{Lx!pe>t6S74#-HEQ#fpY0)|(N9fSH?KE1`Gf)1}mkvF~$8ZvvVFF)n zm>}rY5npJHOo@y9%msm|HobT8$cCjuAbzC{Zwn4+@;I{W+X8v^ZQ*NpgE@$suh`o>B;Ck+TGk2;>FM zlKxiAKQNDDztBg5$2M^E=~W3v7s=LKlgQUxlWtr|x1;g5CZS(7a)i4sof+{*lhEtZ zUCc(HTZt^)Y=k`BY-F)MJ^CaXFrgkg#%x3@d26SU=iAW>?UhomOMmekc~Fzjk?mPN zQod*TsHZNp|GDwX2jtHmjcVJ89_u+lvCP4ApR!R0H2FN)m9kOzjFw+1Gcnht^+WJ? z)gDil2i2O))ukgBP1K>^AF~@o|Dru6PLnT?9n&5oKc+plZaHn{j=$ZB_`_DN7c#c` zcTK*Kes;``N1M=N(NZLPL64QcpvOI_)8NzG^DPxxWrBPl{YO`Q+I-q<)pB2V=s<5u z8sBint55#XO_MK?cTWDJt_J^L_SIP)lr+As9ewmTDZMrhL(wXj^J5OIzD3FcForlkS ze5~aoa&0bkr#EiEBajChdXvPxha8VA=}9NdcU1_`KzhS2yZ*{9;&g1$g-CWm$5wtp z$Ie1Vr+J~3>eNq=`|q+_(pf{;$PrySKGw0};iv>VJS>r&O|Zkq9v=t!*@OjtRrGLM z_Xc^4jCDM3pfm~Kr!FnK=6Fz3#E}_Yca$4lU-+?{*0q5GW9BMfm%8Y5XH5~8=GwaR zY4sn^QBv|mhM zlRng;$J%(sX^J_r5*sghiH&y|pAJh3RHzE<3Y6Zdmi*S0%sFSCaw{Xi7LT z=M#Z)=MzB|=J-N~PY-aRWA16|%T4Noy6DpTD%XN<3^b7G1RvCt@MK21!Ez(rka~Ms zr_H*i?Vl*$=^nCMk9I$~zTp7}DkM%*B9OOQ9rDbX*0}~cqpRi9--N7eNxy3qs%STO zSLo^nEEMuSq?@KhB-`^oM84-ewX!2UuLByX%);ap|J9qd>El75si2T9EzwzxQ6%z0 zoz=m)blWxfqhgfH&sM)|N58qep<&4iN%`mf>Vv?1vXBp}@%a;pM{RAsSlQhTu`R^_eTMfoB%P&4AKMC$#~knR zvW?GL(I4AxQ-Hn!wAJQ~2hflw|FLC z$raJ5ypSe`vqujV?W`0^gg!U6<&s4c08cV~akX70Dtz zw#XwqwrUNhjWu>Cai08Q)K*HnnT~U5w@rcWoarCOwszBy$hstKm3K)9dty&}4Bx4( zT+jS=+m3Xgsi?@N6Rk^+s19$yh3C6%>&9Tcf4Xgx|I;n}T_L_GQQ@%a@EJJ!yZ1C~ z^zqi)0lRqeSz6l*-qKIEv{KlM3Gy8k+xO|x`StsB=zCg9Q`?6Y_ubhrz&ni{7(gJ? z(%d1}(%gBj7ai0wszD3~_uV-`SCb1EAoJnUF~fHr1g?`!|@Pvk^O z-02=0qm>dbhaFrunAU8k@f)KRdefHIBjYqA^6%FpC*{z~3}dvFTOYrBPy06XC=YyB zI5`SAe;KpqAOr6<9@vA=UiroY`=;B|3%p_=qmY1cd$7(}1!7!}K4 zJc~|Ia*IyU_m|RcHTauK1}4h4Qqf!6(NAW@HaswMV>BKR$i8fhmVeo}|H2OX@qGME zaqznJj+v!HS6jypptl*uBm?Kk#~a0b8%x{UqKQhCPn5@b#9Yu+ZneTO+u;>+5F0G< zj*&~e542pZ(E#0JD-L9}Rie6WH3v=t(8>R(J+Q|D|4?G-lUmw~OHah>8;kW`n1Es*fw-m`&cvj&4SpD^zxmt6EyjJ`MC43?KJ4t3uATZC#z#E zI|+DwIDKX_`9dd;#hwe7wiELObk6ozL!d(XQ%0;2&=TEeacoce_~O`jy2>sV;z;Y+ z$Ib+l({LNupC0QT%h%+KY4q$w_i>0Vp);Lgwdst5nA7sLu~XVM4ney*$M&P2K8o$w zQp^`M_MY#I-W6DG?D5zG^gc(-{;n%#@4Gy9DsANw`AlElMIW({qntpTXX9$5 zjU0QaDUgyYTISufB1z+l9(!X&%8kAg8`G96Fcyd<_}L8ll22?`QxOp-d%tt38VrcS3)kSK@5b=#6T!+U~4ZwaP(&)5b58z zE@6`hXay*TJJMDpG8S-ne4ceSm67z-B5jd&vMbLJYPWx?vATgS%*=f((+Sn_gn@UMZ!jv);PaoO<4PqRw>Qx@r z*sD;k(0>d-3$ksDb`qT54osg$6mBESTZ$2kBcwkh zvT+z`(@B0Gsbco$9kKc<-7Rf)Xr)cM`z5_`Z}Wru(|Kx~0OyoiT&mpEpJ+s>RH+dK zQi-uhEEe&2>gq$n;W2D9r|(C_cA}SGhjrpK9B%M&AM=G+-sTwP@;Yg9nl}A=3|5D; zeT0srp)Sf}W7{%na0=~rpt0MgGk%TU9gF2Po^kf_AWs@MmCM68O)?O3P$dH=m&N|x zQUWN&%)X@rkv2$yr6#B8Sihi0A7%@|p7_S;H=XM?N6@XxaL2Tja*c%|0i(~$k1Cbl z6ngy;)k3%p`wtuY0yALk|JVf82;8RaPfBRm{%&HPF^|U+^9003AYjHUMN`6UlnEZX zZ#v)C=xK?~g`&A+Cp8ZFuOvajRZ2o@fkb4?6Vu`Ou^j=rl$-zJglcg-E^{>7YiROV z8y|H_H3))rs?*;7v}!{}9>rndDKxt|z2S6YhYj1#aEm^21{?A}Z9A{ow!`-P+{{Zb zeGOlz_UFf;+JVCq0z6jUIHZ)Ze)BbGhqLVcFF4n@il+UalGbeh_tU#iLiEO*S1PV4 z^o=xC&-`XvPrpiU=$(D+Bn)`Fst(?gGgO>1IRj21j;7r1CisT!<|_<0ramJRo&QXg zXI)gyzZrCsTteSX(2Y48w9ysS8BD#Toc~0PhLa6rfiM|sgJ)e;b=?fSWnNWHJ18B~ z27+Uz4gKYKf8GEFbYj*5g+6buLEBw#eyp1d=#9p%|K+YWfH(T(1&jlrrr6aNH&t_Q zIM~X$v+Q-q?ZyF`w)Oq(#%%>mqnBNVxBz4|EMVMY1j`i~uNgwSMsK`}H4v8W$vsu? z&9IqSwu&TyQYaRgniR}s@m%YSjJ$Fpr_zf^pBRU zX$FgR7YlfJ0~1HUvZequ4br8AXpB8oL9|EDW25Nq&;Nx_w(LdYuuWV4_=RfgOCMwF zCCaU5AkQcN_6iRQrw;~0fkzbf8ef?8{6r<;VTDR+fNDQ$!B=1fdQuTHmhzx8V|gv( zG>+A9(!u{m;P#W9LXM!(dQ1MLTu2(^;^Z^zlM>Fsk}L6?rDiiYw~zV4EbAxx9TB1Q z1v)9X0-5N}!gPM#PD|Qx`bdypUHCGVO9_O1@I&kzP9Kjx?G*pua3o^*-)c0jfWv3e z#6lsTY$xGx#4H+*BO+)b5tk!S(5R+?MPe?OOEwhqglrmL%BBff6BLO>V&x#s$B@8h zY__-___s(b6|p)5nnG-_Bz6!GZYlGB5aw609Y>RF5J@=@{AN8e9ZIJrg(iB$ADe5(!0i$mg=eP|W9ZN%=>dO3YdvUnF2nhA(Cbh?p;JoD8Kp zjA8*t#2Q4vNJWY1_xQfCFBTLtQPXPY#Lv} znzWFuEyO|w_!E;6N<_jw*nhPdqFjQtcOpm}`LKv5A=Qr<3udhtqCl*eBNmCIjqL;t zx=<{V2v`Cll1f;d!I6Mzc>A-HE5_E4^Aro&+b)ifnsQNz0J zo3>T*6Zw<~L@Zg9h*&xsiq^{2`@J!r@EEBO~DmSw}{~5p&u7NhIo%9u5-;`^6fB%j1y30*@F$ zzXR_TX5<$0e?Tkm6*l0P53vI&KDkT@Pbg(|%o7V(v*(es!ld{dmO+3JutZ(L=Qpst zne~6w4e^M@2T?aGgTncbO3bd3fWC?|oE0T}`1v|?l z4>Dwtr81=g37?#xRLGH1B&(&upUhgwSDmiL!zC38*^?Hsg-43rBoCZaB2rhMQPKhg=>mZLw&49lKlc=D|d(CatowT-Xg3 ztC2Hdv6|0k0bwrxCzIjxAzj3zahOQuLUH+GK96KIUn*tITEO9w(vNckbU+LuVCw*` zfR7j(*-p%GOWn?L!5I?lafKWammEY0{YS12+CxGPBINT~lV%Q1<2F%B0|u?YI(A$k zjx1{siLl8?H#{riNSiuT(YRbv`EW(>8r1bThf9eBtUZA#mGTKA0M!F-6D$<-Sym6= zRsdwBhF$xiF(Yc~(MdOsECeYGTq7ipwSSJfuivof;u3Xg?VQTSu~5 zBH*h)LL*lZkR$CpS0YxrKMeny8p8UM5)9`~s{fF>Y84m7$zX(OW ziN})&)CCj#2T??7I3Ayo5TZlG90>HHNXfG%2&loDAOIYx7kGR$qnZl?!&bz(NUaAN z{8VBx0{CHsHsc9+K!s#G*a*Vt@C2|C4O`cU|3GB2k&LV~od^LRx{IWVq@-#Epy851 z9|S;9y-z+1Jfki%6o=V%7Q2K9Rgn(^1ha$-P?V*7gwWNbd>{-&8X~wkB9VZ=e>{;u zBqZ62+#~6`;T!^i5UUgYM1T?cV(q(_BW?7ERQQi42FxTS7>|MA5RuY~h&oI8z*k`@A1O!N$X3-t5JD1?6O>}-8)*&rk1>=i!-0Y&)=H!Twxr|G zk+C@(L;x&xR`U?!CH!~}kAkbnI>%DRt0W(mvXCsyB$lV%4m6gh1Db#w7&J&tAC7|m zDhtTx2t=e61C8b3LOJ4ja$r<*5%PiQahq7JG){~XZRXl3@gImH(z1bua1SvEm%}o> zC@vF{ZWrQCB2wT$lZeSlb14bTIXMVIZUp=J@b^eF3mWtu@hn=A!3jQ3%pubXpm7xu z6)dq)`axtxl0g%Y<`^^)4|m5j;yS{7s%dQe32K+5u^nPQ51YzvhpIN#vqBO);aMmv zWxGc60iuKi(x9;dm3*EQ9w#{n+ypj_6*a}PWYm;`Gc09!=b%YQvjCcu3=zVYW_f9h zf6dxK<`9sg!{;EbOPCKlEM|!W1evvB2rcRDBbX0EPjH42S~gACs9O3qC^|e0$B*@} z1Vv1jTK+^#_<(t=etE254-;4*?IvjOJISH2t%PNP9|YKJT`CMPq9nKJbmIoeE`ugRIyXXsnzCXaW-cf`)_#Iq*-^9Rq6# z^+~}kXcUGgCGNEl9NKHgtc-hD^LiC zkFXo@EJ8l4lZF_cK*{lbO_m5@Ju;Jk4#i?A-M39#$I&F{U;-f|Q*ho$IEFKb@CfaN zE-3Px09Uaz4YJEDDMad#3{~)9DOhZRe@}W9XxA8wZPG}<$t=txfJ;b9A#?>9<%9lU z#Y914`M{vT;Z@rUXe2mXtb+`Pi={^qy&$UyprjBmR_hS`F|%gT5PD_N;Fv9D5s?vO z(WGq7K%KD$LFj{&NP!T0P0wnFohDC}0M0DC3xvPP;W158_~FH|044AddyQaigOE1c zX%Vy)YY>))3(byN2eKVJToxnYpRrCD5@qb2Mnr|RI)wXK3`cB~H9-mLAIQltIXV`N zjh6%xp+rbR6oCZ!VAjLXRwPZzA?qX%nc%WT5z#Q#;*iBsaiP)nARxe=HT0IMp$f_f zkbEFlEJT`!Y=paH?rTO!NY|qLH6Y35m5pW0k-mq>He%+89h(5Zm1sGdVPJG6F8(hT6k; z7WH829Wr5FmV$+X90XOhFWpCl^6BWOvAcg+lfO*~LdliGqd1vqI2RlU6BH zF=#CL1P@uK5AG=G^}@)o;!t8KO67>HL)eW~MTKw)SWT!Al=QIbCV|Acq)7ovX62-z zs#tg$?s8LrwBf8svF+$jO_{J8A|y4`*b17Igcks@CNF=am z5KQ&eL5eu|MLRVvfCl$eo&9hS5tnVEDZ+(3qzHwC4+P%h@ur51<^m0HTAd3>?66D^ zXjrg1XMku?B}32z917>1BqDW6I914pAi73y0p-CYjz^wC$RUg}WJpBT++iK4fnc_T zk^ctUgBc@EOt28H48W^8TcK32WRfNVKqqKWQAAJ(DFi^xX8keaBZr0%E-^4uBtSqz zCL~1qWr(u_>ZlKl@4yo30>=dANEZydBw)%_)MgDLX01LMCKg8K96>`3vbv36f}mo; zod8WlmJPzQf{URLV64A^{UAa~HDe7p1AGjjX3-?juIiH(ijamUCc}6|MA(X{+f@ft z7#~DL3e_bYQ4SacVqm1&pdQr+Mll{LN=X{5o%$(3AuzNf(I28Z5;9$kS`#>b>XQKt zL#uZPWyI8^s|^eqYH8Fbi0mvjl;{tuP=!Gn)5VN6#(`4rkg2~SG#4^nA_+MNg1I<& z>dy)pqWX$awgE<~wWDB47a31gosm+oIwZ- zf=M{jm>`O2)VTmekLqmo34#W0sk0S@2=KJjCx~<^paC%%rm{o@!d3VWMTG!>>g-}{ z7%~lND`rZh;ZCd5P!mV482Jp;;iwCy2r(1H64joike9>>P+tksxQrL1))46=l(ngI z0mlm|CH2*zmH;B7-XGi@1Q*r&gH{Ctx$5{2?g@uXlqy^nBFunNW+-s=fiYu7O{q;9 zX&t7znxsL~sGe=We^9lE#;LOgG?e0~YeFU$D*;Q6b^IA zoR@?`t-XZE&;k-dX4Kim1XIcTFrXpnq&{i5Z49DO9~iJ7qDjzTJjrrF)LH?)6DvWa zKtQk%p1uHnq52K;-1nX3F)U!5iBt@E;sS zr2L2(V(Umu2%aMMLJSO4O{T9H$zpK^XA$h|C72rT!(lKEKfz^Xz3=RDegWx_r z0kzQ%kWd{5Fc_V$7J|q43gAu@JTOiKSy=@dvK{KWUqOQ(qRuS<15{zMXhcCS^DLKw zm&Ix*QpW*IL!4t`OF-kQ+YLoKq|(X$V0_h1j-nls$4on{U&Ve{R3dP|Gz64ltqws% z*6Q#s95v}@o@KxuIT;v<<_lrU52lJEFvt=}(HNn|eD0=1>X9 zq6xT^+H6onz~FCU5YUMGeu{QPYMPtp*>g0e%+`?k|;}I7U85&dmpf(2Lf2jB%g$6VtYpi&fNUt$8m>t%nnc$(?AWS+iLhv(IIRW*${~d)*wQn(1dvw2#_@hED>umLTRH)SK>eBVT5>DdnY2UU@F={ zzQ_pzYp}Kng3cNk`FTPJDTI)ScpWnc6J;a^5&uL!kjr8X0-VB{3~peuxQd{NKrQ~q z3=EW{2AdQ#meD~w_+sP)rBDMb8e&=m4Hmg6bgRIB7(@|1WHltxOp0~{0AXm%r6BTI zcsk_KhD~f5n28hOSzK2D|H+3@7*4Vu?x=cHgc%slHOU3QQ*|GZX@_IS8UvMSc(xh- zQ#9nOCyf;}B81A&VA%*k0*$z#u4sq&5V<&{i<=h5;6J7zP(F)=IAW}ak;)CM*^L53$$}h07Wki6++K#DEsyOmqB)j5HD5 zWM+sfH{^*x7*0JH$+W{gCe}hw*T-529H3@fr@((W>_ohu=}`I;wj!L)TCu{9gBor^ zQplFUTO{@!2#&>79)}_-fiN%}G4(jDf`heie10}LpjYri37R}xFn~b5h+K8hWHvO zm^|csNtuBYs0KV0;|k#avsMRF&SIeu_i#wgproHQFrpKrd?0E@8XcfN)NCvIgFB&! ySTHMrgT@*d*Xo;;g;G}llHetK`a|M+Fu&*^9uhZLhegv|3i776z}C{z>~n-ww-No6jCoupBToeYUGH3$`v3TdE$6iG#f zlp!J{Grw!!x4WMA{Lb@x-*f)&Iseb+bg#YFwbpfguW_wwKh8VS70cOQAH#VznhhU! zR8bhGgj3q2gr^YaM{-=T2|{MR(5Z}(fMYHq;0W{Yr1_CDKhl{a9zQ?M)A93k{5+j7 zPbV;i5eQ5<1Okn@k2o)fok&0<*lae=lPUAllzH)#dG?ffc$9he)Oq&Qc{+8TPMe>n z5m6m>Nj5xcz`o9G9xD;g#6rX~g%Rhm66diJ=dlv!u@VVPraO6cjeLUk1u6m4R`v(% zG)iGAM;{v-3BARqhTh;5hbKIbc;f4YoQu&foI;89vkS#hUoIh3noE%R@>)p|Q4r1LS%fNatFz$~ht_k7C!WP~3ZP!x8t9O`c%l{o zUW&L^vk}oqc`=li2bN(Q6Ki!r^kyEyKk!jy@tDNHwqYI_22~tYS!BuJ_6fKZ#xDwA zh~l**Q3XXIlt++1v6;-qhw5m_uqMzb0SU%}n*w-t0v+vGE{={1(6FgQX-iR9Q%Jk+Zg&bD(p8dmtLgDaVb+>)`1W5~?Vq#et_& zQ9Qr+B0NC{N1>DObTnT`ir?AQ)jc3UQ^`&VPem{5it`X~L>&^Dghz*jG#L{_Dp7|H zJ77W@-5|_8FF#CJhK-acYyg(b6V?GJaS9SVI2}ANCXmocVcox4-A9NY-7ccUm=fb9 zP^db19GOTapot>#Y-G&7JR~w*2T!Bn&^IDWQ8pn76mz43s5%oj%i|cMKv5ZN0S}Qx z)*+CHB=m-;0&oTPShWW)dVo3&Ful zCegu46e13fMoNhZJ0A$p{;MS!XwdHxXW1#(qj+MX1jJ0Vln^>6$&KEX6k{r#I4A`^ z9h6j`k10x%mU#o%b?5P61{3#L@LK zbPVV39BBcZ#WJ#(qOwF1QHM+t4;Gr(;@mDjS{ z7^+AlrrB}wqwD3iGBr!wWe?O!Ia4+=rjt0TDDTWLfe)%KCy`j<08}vrG3*63P}s!G z_r0orl7!1p`shr)KDEoP3#fRBZlr()PqMX3RTdTzo!##8Ua5kC7C}v zcu^N6Wi|>Up^}x9*>TwZ`6|-Nd}mWO0gG)|CV@ICYhw!_x6mwQ0``d2o@r%8#x{O& zl%S%|SfH{BhQ!r2AiYsVgq=(Ve7dNVsuCLkOEuI=6$g_{cp0io*&!1*E)z%FRq?O@ zET6c;5W<3_Cd=GvjN*92(d%jiY#|HYZFPTkaKAcwQj;IeTq=XsFOx{zAPfo~*M!(v zDvC{T<7rfgM=BbrDUOmfWWlz8o{OeKCeTRe9t~}55f6mD4w=fB&_LTXWS9XajtXjm z*O-1es7b_Po7a&Ktym_OxLOM8 ztl>H^&aY+qiIM7@;@kw#kN|mWttAcGv8;oh(o$l)ilGm+Rzh_7S%WhamutZ!W@@M9 zwE3s}s<|f zBO{(zqY12z;FmEgU?R5$<5i8v5zk!BJlSq8hiN5(78{QFu7th&5Y$kiB@*a0!pix1 zbc&#jxe3)L!cr^}&?emY_yb_tjxW)XQB#;=B1oRSB3}IYYfTWG5lgTtV zEC_JdB2e&T932Nc8P_O`Ora1VF^D)SiA*EWNOX7wGD{j%RT>QnFO5zh)9_S0nNCt7 zlUZVc8I3|CPzY3*qf$w5umP2Er9yx=9hg$cL^?1bkVzyQ9LGRr0V9%dcrqSzpu@pQ zA<^itkxXXcBH;-n;0@g1fQOwl61JBGOB;_TQK(cn5a?7AjfTgQ37{17QU`*`cp8GI z;OI2ih=G7J4X6xU7?locV%DJGaa0vQ9vM$geSp)O$T#P zf5W1HF$s7g9XR8taK2*JV%|Femp1r_LZ=d74Uq(X1~ZbWELbGiM<){r6gnP`a0-D) zRYJh2*bNxl3c_$SFgA@y#!;vwBEt_f7AzVbM}q1`frE}j1t(D9nhF6kzZrr9LI->c zrT|NlAOwKQ@}V|R@Kh@726O~ao{E8{0WO3g8V_*=cBJ8eF%h0IZOOFXz%c(%$RsMn z2V9m3I5K802u~(%GM!EWk#x|Oh^Nr$6b6+Ai~tu9xJeV>E=46$aqtF`Av))EMo4gU z<0)`BkRewfx+s8(OlMgPfD>_`7uWp-wqt{Sh7%YaO)s|zaahKm&F|P zg@^&w;fNtZoMI+pUK1Gh#uI6HgiIg;5o8kq9gYZe7B(6c4@rlkfWkP46bgkwWg&yO z#IlV)_GRtOw z6S56L45F7z0d=88qk!F5aYCcwAWbp5<7qg!UV@(~%!UgKBZvgdDnz(3lEGyF4BO2@ z2EmO%2QR}-mPkV&%9JROl}z4r93GFS!9^F0g$IM;p~_GQEL_@DC@(;!!`&17LL(C} zV4(OsFaoFwupy-JnB9qZ%-*2cJQ<<~QiepvLCTRK28qBNp)fl@08WAMrh>L`jzi5L zkzlbB*nfUEc!xrvk^vDBsu)(}s6hRV3@Q_eN~4f*BnpuZPQycHKnAizgP9Gokph7A%P)Op%wwy`OOGegA92OZUCJrByc?V<9FGIE(hY5 z3Z{nC0@Wx`S|Lm3H^VGI0eztY!+8M7MOOk7uy8?-frG@M(jmiOI}JDhnT1Om;sD|g zphF>rnoOtTp@u@5v$kU`79<8_HW9mBQ^0~i{^Ly=6f>-cj1Sqh6n&Zkf8p;Be)jq{k!smrD@nnMuejZau<>XBH?%G*9He- z#~ru}$|%EPAo+Lgr$ExtpyEJ&K+@9yADHZS?FWkxz!7ksKrBICL;L~nKeZo12yzzK zL$M)X7KL&EPG=b$k0-zd6ZXMH75;(Tzf^wU2n8IEr_$h5!ojhKZT)R8Jh%uC)fWyA zB9{4J03ahQgTcWJMIXv5(5QG|LjvZ%i$5Hs&^giJOoIfY6Cl4J{NPAu;le;+WdfW) zgbD|1fy(kEs0677SpiW>16`qj1Cv!>oh$Mrd$x!zpZ@}Q-V+i+oTu`*IN(NmhBotf&FpK=D{csLa5IEvNT?le0 z@&wEme`-I3G+>4V0E@si0^Eg>S-_yU5MdVxBZ4hyAc3v~YgiV6e1cL2Ar1(j>Od3% zm4!FRp)nW!)*sDESzd^`vEcmvkCa;H*@R+B~Y=GmWCAt z2rH5iV{Jc%Tp513*C~P?1H2$ONYF17{Wv>Mv$$sI~KCIDQClTre(TbVxq< zumv#ZiP})=iNGCFkqkM39hg96p#o3Ag#<1Ya36xR626DvF~KZY+HlCgES5JUC{~a} z@coO*PQan7*N7%6n`DY3y1qCi>>OjHurEkv)n;FU5*$+V^RNr6oY=*|7v!_*pf6a6 zRn~mL*sLn$3m{lU#}`y(RS;ir7poxnf_bPA3oOYXnw7D>U>a~Uivq$~Ddh`xfmCBr zKs+nreKBXVBG?zR0xKeY!5nb)W9^|U(O41VOMtr&924^-h(sF8qrPweVpl|_%J5YX zDkv0-X1;ndca$JgE9HEan0Fl5-)3`T+q6mG+R-pmhkAjr81jp zGma=F5&eEH_HR6=HW0Pw*@hbS2)jquUi~1v5OI_bP9C}F)?YERqk}zY*9{HauOq>Y zb9znD#8I)?-9ryoJds}K>mp~^x8`<7xcz45rIyiTkM-@wr*`%K>gZAbIWXK2`t?Cj z^N-+|q_l8p7X|XyH|L!%>zYNKKke#m=yOj%ssgQFt6}~z#Zk@78Bi~E_~+u&WEMA^@c&S;yoFC zSA61q0+Vve67lCrqUiQ@!)*9MbCb5MNZhf5)8-2kdaY+KDrQ^0zZd3c6=E4Rl#-`d z-r1KKW;sQ>Lzq&zw9@elsyeA+6JF4raMVBz8SfB$uGpA8{bPD(PIX04(llBBqDR4X z)KJK8m|MkacGZ*TibpJ-D;}p!a0o9&lswbF&^UT@gc*7*=i+}afDi5<+Cy&729s_T2 zBx_DYCBOLx&;18xt7}rxp>z|Z=F|V6kN=qs5FGNqA9()&3i)lee<{%axbNSTGRXf{ z_WccVt$mw$H|_k8SF}PkQFEbQGZ|$u#ZI*~BVhxec+|XB9y6C>FNDlVo=cr#c4b{z3L@P3F*$F7Blz9+! z%n?BqGL_H^nL;aD9QX2h?6F&zv-i})qP@aN#oFuv$Q|vZTg>N%;$jcQL%W=xj1@2#^!U!qvEH! zh-&la6^7q(_xeo-6+b;Tc-@DTpI$xNP}li7T(@ZmC7nv2+t+B=XE!)Ey|yG+_KhTG zW<-BP`0VJfFoB1`rG4H!RR?W!lcxm30hd6M7q8{hCyav^gFGv<}tHW7txr9>WYoS%<6y8}(TibvC~g>W2C zZbZ*sOF-MNiE%_FvF7));|tMC*VWNO*Vn>7l8{}lbj|i!r>fmt#BD_89!s(0!bW}% zkVL%po9Ky(&ou6HE;A@K56NgVb#<(QnHa) zK9*U2UAo&b+aqjbCnA1ih&=8xBNE{kR*ZKT`J6a8Y8XBndO^Cox}D#z;M&lYHVXac zxXrra>Y>pw#q^3fPd+tU`D)w8ulv4*-PD`@!JTX5x^doI>FJc&k0k}k#d<=w8Y7SA z2^jAQ5+dx7KmPvPswdmHRT%TDpScAox#V&P+p*@A3(-{t#;9SzTKK1o9=&OUCf!^M z|Aa9!{UIr!O?ftK@L%l;w*Daqv&$8utMk{OK6%1m;SXrX%`FSven#t}8w-f@{45Zq zE}I=Z^0_}&+&I&AbPktmR5J25$#L%F^{3;qJLD@mP4d#`CYrX(D^~QCY&$kk|8Z_8 z*K25GrlGFxN&#MOtXt~Lps8fyfPAQSYQFeS>%l3EwHWx7${#bjv{SeI=D;2OLLL)*63} zXzf(V@E@~F#2>%f;@Ws_?QyOndF$?N$nT2M8{Bi*{xmmPq^)DYgND_$-Y`6_9Bo~0 zdfX!_Pv_Gkw&3)kCi0_^wP@x3ip@MK%f?z`eHV}<-)ik&%{heC1%wv|UXTf<3piZD=Cc zST>?WNa0(zb1El=EEzM@D)~5Ow?g&#Gf#6;s{8iiGE>I(T35SV?V7Q#za=%8IyG=Q zX=81*RPT2F#;^xtb%cP5v2O~!$oBs0r8>{+Z@u3-60&p7$Is`SJ$=9XbF1v7uf4`T zFQ6Stwg}L?X6N{AV(!-tC*J}~kI9o865J*n+|8f+;?FMPsw={g+}YdfAa}2;?{0k=EwHw!?8-sEo|M7v?uRun1mqyz?=F`J ze2yE4wkiuRGqxC8Q{6h7VscMXZ|t2{QTD;hQ9h1y#SLYzpO;jmcRx*fL-uLb`ouT$ zNT#+fP&aV=dvjr()4HaW#VbDX$s>I$UIM3A6+8Fua0#rP8nLGn?{$TrfrSePZtr5x zB>Ebrr60s)dK=_xf8x7%`2HSxIUZ6)wLLHuiqV*bg*m5gKbR`iI~>p&-=G3Ja_p;DtMu~!=eR#=>_@& zHechGFZuI}+;BWTwKYVoPx5m_5E9`K+G2CBD>gl`YUcXN_@_^>-;or*ie<5G_&>kK z1K=DMpPr>py&MuuZl4*u>j*>ApWh5c{hSaC!mAZK3tv@E$&cj@n@WiO`F%CI30YDL zlRpO}7(9~tEHI@M{)n0vd(q*~)Rzab5QQx9Ol4BXq%pQXuWrUDJ^JGH4*>G%Tsy|X zt`KWYw?KhbBBpohnD}21AX8^B^-rB({3c^4hIcLKb!Z8td||Bn8TA4);F|^)CPJoq zD=^eKtz0Vhg)B2Mja6DMkLi3u>;uE>x+gwIFr1*jbHuLcK{aO22|X}%xG{J{p)LS1 zGGUBHo|uDn)FgNPM$;D<`v=-c(9_=@5h)Yjg6UP$G&3%N6(tN)##s3J5sZ5TEL3oa zuT1P}993pIt&F5N2yrK8&xnE@Mmrg@7%vDjGLris`HZ&`Q!{!1vt7oRkr{@NX{aC}MsOjF zH<7a3O^jV0Sq$-A=M^{`=y%JQ;+ZC7{I(ST2``mXb5@L!K(+Y8cHRr$|AdQMexjzA zgMNCqXY5@^eW<3V8S&1i%18p_FS*bY{)iDa_&VY_;*IMgdXT) zc(;Zjn9hhz;|q*9VVP43BZ-uG&Ih0sr#GW3}psk&)b3 zliS_hHj1%sihdQ7!D^v=QGvB^)&zAn0MnMgE~u+3hzM4LxQ>uylk=w)3^gB=4L$Hu zSK+yJhheSio937oTf=8=wfN;#oI&PJnAFccM>KuHhv=k4<@cDbD3fPBi`e+K_PNq`%T<4Q`b)j6qrZ zMda~Jx#Kj}u-f$0U+J(+s6JD!hW4T|CQ}YIdZ;8e{|rN<#VLPWrv^9i42pY5{5!&O zS-d`D_kVRG5x(-UHvSPcFVSD9AroEkP~-2U{w*90j(@UKc9Gnfzo_*;0^+}K6aAWg z@vlx*8wEV%zOKqyOHcAU7nNL=!Sc|PpO`!RafLSLqNGhQDo3&ebNx@X858tPg$jx* z6NYQ~)aDTZ()5~hov|H;mN|E;eVX(K$r3Z3ZYOmlr>9FcopYVzyqvL?ULNtTZ7qGa zub_GQrQ@CU@i(7oMSgaoEwe~t=XhNIU4vO$U0$TVXM07T&sdm!(tuNu;M~Z|Vj zW_Nt7t_UaJah#eJpY3(RZ4%&8{mK~BRrcegG`XYV{8@w0t*A;U?L)(~kLfU-UE zLeD%h;fS>O&z_Aq_}x;_h({MtpT`pH|Bputgd@2vfp6L2AAAB;ijR@=QJ3-G?+o_c z=R74m($?uT{lZ6`yK_8IF2*N)^ngIs)UhBuk|a?bThV5q9ka`RmtUFwqZ-N1M~bs9 z_Wgz7caihIh6bymk?&JY0n(Dk-``#Jq>598qQm3G7=&*5MIJxRXS~N=s6GZ87Av`Q zvJ1;%E0wZjQNw3Js8bb@<8abG)cM(Fc%DW1UYMgls+yzUj=d3r_)%id9c$IhAV}gUT;mp<77g@fp4~ zDcG=>&$!=F$%V1LbIzx>CcMBEF$!=roZL)ddpqjB}PzqnJCy`~6VU9E&# zR|%kdUx%Q&)gQTP!1+1<(fR9<;}bitT#DzeaI&AqPhXLil&LES4=)*aUHrLX_H@-# z>xf+I&d-xgF_?Du{VtC_D}Q-o``koH;?djW-E-sbhu++K_AYwXH{WRI$(lJk^sWF$ z+1=fWvz~K5rhY-`?^Q&~BW8afnFYj|FWmtOjjDV5Uh_QDF*fvaGvO6CbrbSs*7(!r1t6WwFD3m<@YgH>yomy4Pav$^$&T!!5at6A$(} z^BcFy@E1MhJJ6n2>2x1a7hAZ_CaiA-w8)FCnx%CnV74|CZc1asL!WH!F7{c>)t5wn z6dvr2lj>W}L;Vc&Jq6MOPwb*9-;;z0nUzjABrAGT$Wk$vxn0>ay%oIAnaAXZm=5s3 zZ`-dx-J|&-hK{`sF`lm*KWpIbb-Bi1a}%#QiXuzXY>oxR2I}tLITC7le&A`ow?VhX zm`fA6;0=D~NWOPksHrCG2)W2;a=n|GO>Ss-B6NyDgN#W#Lmq*c{0WD`15SZGdFX+x zgO@k^I2NEM3+0eJysvfBjZB}mVjE~;rrzy|$T@iVu}`8G)@g2U3+Kq}^a=N**O$GX zC^6T?P&Y+=jeJ8M^v<`6$=@Mk=@iH{a4h17Ff8|jM!QF>C7VxeT~nCC!FyfZoWnA@ zkIUW%3Jh$1nf zaP-o{deDLcGS<+c9#iOE1dBR@ve}?-y}RzaDt4pl49^k9UXQ*cWnwLEcciCBRpCl{ z!#S**tLP&xFLpAfCxd0Sft+f;EHA7v z-jydM1yYyXezMa1I_Fxx&gjrHS4ii z-x=?D>L7z!*L1$Caj(J4hoi`eHw53Z!w6G0n#yRjDGwN(bHNiv=WJhK#vFB1*WL4g z7TTQ5z(Ib?Xqm5S`(kZp6ApS|u$SH!X3N|b#%OW#eO5tR3}nR^Qo$L|jW-%2Twa;1 zG9URCEb$a;iih@~T`Ou4tg)oW#^vvTf!Y6lTypFn9_x{lnLY9Vqbu&#uV-}5C2D;S zQ{%@S7|ieZF}n4zTE>!*8PN4Loz}+eswco)(8JF6%CAOu>S5mj0%jJOVP249^waI= zlHwf*w}szjY^68o1)nVt|5iqmy<%Vs^!y>!+015n8?#x?!}{WayEd3^;{n;&7l*P= z4~$lP*H(UPBtJ6Dyq|o(ZXEx#A1>6Uj8@jv-{D|Ofteb1ub=-#)aV7! zJgCQGt>;)bcTRP9w)gCKq*qJ905F0kQ$0SlDQ0Tx2}WDV`i-xK4l9n)&&C-WE`yH1 zI6esL2tgjSLi4{OGyVA5T#@w>g*hjl^l&#|z1=*Lc|7?@A_0S!QBq=x@px+QiFtbr z`ZAU%tUEiQ*7x(|pQ-Nf2hiKhi)VuP@}Lf5p5b{BqZs>KKidVnyzM_R7lv-u^kDYP zpbpkE11RX-Mb;y)u%7w1EUafX9S&yn%rvZL7Fo~ena$MRbYea8Z}iYJi>%LS<%XX5 zA5@NK_RK0LiYiB(pl0wSFEo{fh-7 z@K|WwKpYvd6>68wFjoyT3Tm|Vd7*$D{1Z?j`j3+^%LFw40ds;h%lH;E`U%H~GKNE$ zZtW`mvo*fdAtx(jG)&=={^y9%>EJ^YhGg9sEMO2O?0N81UULTc9_24kuo)g<^vnQ0 z33_I*IMy?tPzyZ>Ju~JlhOUgBIgZgYv&@>@hxN?HB4u9CGedH9VHqM)b_eU3t^e9H zBNrJxa~z{*2L4#j4A#4mchV2!VXR=k&YdR7P_k=sTOuP)=vW#WTW7;( z8kUDtFaw=aFs$sTv zrLtkgwiH5ts0Lt&?aghpc^(&Innx92|I>%`qZXL?F{%2s|4e|9G`0R zQCX!$Pi-3iUbeWb?5kwlmn%QgLCM(ajA}iFjcUnrqDWlUl*mNMCiO2flcmPPNnEZ6 zxk{mBKJekph)KTdOt;^Rkjc64XIBo7X~gb&9b#B)ZM~n_!I(_>&Mp7m+4d##m-pny zZ)@Iq-j0eh+mGAyTwvX@5Adf8@-bWf$&9Hv>f51(&<#-e$ZKvUPRl;Pe=%o1o~dKJ z3nu}`&iThq;s@+~VNSe!4UPHOHEzLphwbq956s8k>;~%oOfuOECruIm$XLeYA=@=; z@ka=gf8-mU8MPH>z0mqr6$I3fUb=#P^Yb$gx7=36CG_)HsIN%!`~5gi`JY-O^EdK1 zlFy^|t?>Wq)~f#3f80!bXHnBu?Z3{$vmCN2NB#dlMf!R4|NDmf8*LG$w%`H*H`{-+ zM^<590rIKSD?hOPNcXVqacrJET3D4a7vuE?zA_El&ET|KktyBx5?1@erfwwlj}N66 z40R5+DV7S%%*b>rsCJ?s=Gu|Wn(Cq1p^CX*efPd~BV&Ry;)~A&DLGbWeh7PxK+`p> z*!}ZZMHtpJPYBMXlzZG?Yd-;h0yMYk31d*o`U-z4G|M5}%^G;Te$$cpb!%+@x&W3( zolTo_s+xd55@HRja=yaf3C%`Hce94Gz~>JgTkU51S30Z)v$OWkbNfd&@aGWShW`dW z7@On0|8+RX+&|*^H^TWBw2DeX{#UI0_gW!;y!kJ9>%VK|zc(`Sml*pm2hZQD^$%J_ zCH=jTk$+<>|BG<`Atew-$o}6k_}_`;zqj(=8yWfMDf%y}_5ZT+-y0eETc^8}pIVT= zW_slu6wf8uH#$vyp5B|)GSh6T(42#hb&VBCbK{fJNaCE7p>dpbNH*!^bzXh9gCPrDMyK_0gfeZSnmk@%|1N=Q^~=Tg>mfB)x9||H zqH&#!L8)Pra!rgG>lK?NXp2Akr;G6Ve-;t7#2>|MR(=LBSd0sSD`2!R|IL`SNb#Sn zLKXWp;`<4k0kv|?%8DOWZRrP>9g)7WCdqHv!sPS3&K|jc#DGyS{Cg63ovW@1d89H1 zH``@LlJghzZn6DP_5pMSF19QQOv%C|o^nHv>EVsRqZttP#DhW<*EgJZEp)q*3R@l=D;F%?TW zT+5y`4sYSuLB)MMHaGG0vFH5tvHbi;`0zS8OM*|`98qxuY~T=xHyy=_))fj7~rS&pFCR-pH1i6 zZCG@~5r=~ht%dwCeKQf;4B#)AtYxJthV7m|q|K^xbT)g=3>M+f^c}mbtkqdjm^{2| z(YoSUnK{v0Sxies%-Amrv4|Sle$CM!)8P3pL7Nq4h?B~p93wNrVdY!&raN>K&II@{ zzrh~Neq52Gn?A5==GP8%$F!p8w%%1w5(JFxS%XrR4eB%#f-22YFjooB9za{CX&g#9 ztZBmh^V+2z2ePB2ZS<1-vZImB(pqSxj`+3#ziDRV2}RoJ@5Awj^yzSpTL0q$H(wjXlqD`T`UwyP})m~1Db zW0}l>7a@;H?%>1)EppY-NHeTZUeqll{XUlP1FckHV4rOx87HSGwePjfZ4&w8MXt zp$(7?cAc0|jMw~VIH5be?RsE;h0>NHv+Ab0$+G%eGv7@vyM}j#N4%xE?OB<9#^h6Q zI3CwJ*Iixhp>;6K{tabr*hbr|NdB$oySdNPLrt--s{JCS3!3I84&?o+Hj(@?Q8!lY z86l%QiQK7}8^1XFYv|TY^Wf|()U@&OzKOQl*t${Qg0@oC^tri_ua}oP501(Yjm>2v ztMi(J=O}4&gPm;$W})70&YhaG)!nM2 zFQer6U9e)6qoU-sn3{uAL!48cM=KmF?%%z~Ij87mAfTP-9GEFuLT6{YyB4AF!r%A@ z1p34OrUGwp>Q_7SSh*76^1*_nLbi>|%NH&0x}Fz6vYJICCMz_XsaGx=(TQC>En-tJ06GTJGr~Ipv8|CJnQd3Ti zk1w8$C`HfjD2OI=7bN)$q#ADbMfeZ#ouFpB*{*;7y`$vV{R0Q)%K5(MCD!=wyQsf_ zr;-%h85qnV(9vDuIGC1xXy|dlT-p8hRWCP;RxjIAP{if8pf`y#Gfyw9d~;fee6(_j zA-Tk|?9(ao8i<6jFJHtu*Fvq?_hI!Fye6U0DsKyR6Q z61s72ul!Qowi~Jio0B?+1;!j7AZ4QOAD)a6uKSk#E@;NDi;eBEd}~Dc!P$n~bY$Y| zLHi#*x(5aa>9%uM2V(DTKXOMdj>kR7$vrs3)B5g8gD6CywLC4>M;>K237Q#itB9ES z+;~B+{7d1+B7+ytQNaevEYExRADU>F%UArmQYz3j*u!JyS_snZb)i8utFr;2Z2s_? z_xU>{LN+{hLHW1>4XqbzZZeM&bvq$=2z5BT&^7bBb%sg=QC!dc zec##Ux8z3Q=^3%7hOfl^MlXxfAn-*tt*T$#{&^_xx{lbw zEfFOg+LrEtqbUZ0b>qj>UY5SFJG8W@h~^(OSM~6;MqB=?y~anLDTq0A|XhHMWf3L+*gC)qk_xxcW?#I z4kMp(C6UR?%Qb}*W0S8Rv43~aG2laB2l;VUBDcT|qjHT6-_EvJMSnduDcyE(w!nSE z^Nt_GhWhyYFS}M4ufJ*WaeV0cnsbh9Ju}MJ(SFS}=Q^yV^}3XIw|c0zLsw5TT=VUk zAR)Oz^UEuvx2mKW4sO?Lz8$K!X=H(_%w2kykW0ktb{Tc+wnW9Q$h5XHsv&zMYODxG z4jj4nBm9lOIt*yh76C- zxE@J8^=Y5Ok7cYHSf?u1;8}fdAv2kI|)nAMG9`YELJ@!vqpH;9Xm-})~&E3>zZrl4m+_ZdIUo@CtCiph{zU}B`+L}N|^W`Ng z8?zSYBwPp$KkzJ4uS?|ierx0@*`w9$T`!U#?HG>_h(J@fxTNH7F5`KzzF%+Y7nyTk zj|wco->2oqY9r4CpU&X-5b0{4dE3|`^?sh{xH^^Eav@TiKD5!Q_u2HNhql+#=oWee z!+@)DPc>STOU$dxk#M~0D*QI1?u{-|8y^O*qWV6Px}432QxfHW*5ba*&Ex!*^P45T z{iih#t>eAUS+iux;FTHiO!J&gZ{_vTjO38~Qv0e-hsZ)Tw=}2L9f6^z1+FQRadibYu-Hw0$y7*vxsZ2Q1ku79( zYUJExUi3BTZ=|*3{an1Ck}rC0A!aFx=$$%vKPbUMz2-eX^=wzGkpad%FR z&K@>hy2DXOxZ$=5(rR-*yXR(nd3ug}Y=~{1&3^4!CHKSPmfZ)JHPqLgT=;9QM6Gbs zY|0qrPUXoxyC>c5N%&}Vwuib2uqE7gmRS0RLuPf8O3%7sHQ~GmKTbU(TVCq8Zp}TJ zGLucHJp29B$l+#XXZ{n8QmdV0uTcwUw`-WbRv5k&cJacoeH%GWAUjQu$?#+siQ2EX z;7vS!+jw!k<=UAWpSImw^svbPq>;}{gHNejKh$#U+4ezQgKN{1jj2Yf64o_WpZkDs zvMVU`v6j{*5haWox7X^+dEe80S3&(yGf*wHHSJy3Ck3+vK8fh!r2;}8<{d?%p-V;Q zG`ya0yt$AiYB{-T;>PF47KlcmQh-^lc0mHPmg(i zE+Flz%M}|vr5Lk1cr)5n|5!A8jb3h;GGFSzLY1HI_`g1WuhNjI_?lhf`IAA4Q&61;ZZYtWs_CE2=RyuOM!5MzC6=Ig17=^v9mN04h@IaAp_ zZSg$M`F8Jt^YsUPd#V?&e|^+~hfgVVqsNbv8ZS8NNJHZn7kaK;8OrC(b|oO#&WU@I zZudk!KO7eCZy3d(%e{Ea;#Al9ML6s}(!Wz{>f`OD>-4v3wQ&7-w8JAylD$~_bj7Tf zw$9_B?e5V(>@qu-rFTVU7Rson44YBT*dO*BB`oIFBUgX@m#jBS(~DBX19S+v`|3gcxWkJn^$Ahl;U zI%o?$TrvIi%(68hpC4sjjzk}p%QyT4;mm1a&>w7YV@Vb>PUGwd6d zv@HtZSW8$U_o9oE_rhm=oZiNWr6-H<-z1`+Z+Ii6{OVdYm;H~E(x-E)eC)pTUW;iz zPj`KMHujc2#{#;tsvkrq}@oW4%+U`ADd%mcn;WeT|h&?7fU7GEzo*HzUY}fy()pz|O zi#yW#GKqY2_tZ1R;?1QWk6ND$&fPEdop|Kuj+JLA zZr`?s>?d+*Ehcgqd1mVp=YE+y5mn6eT$j_flCX6{=#np7yIoI1lfAcG|4y&*#Ko(% zRacc)l90Bh1rAmdZx)mXg~o-xc-xp%_xkInsiXLvCm;FL*CigGOo^g)XkDG*o)q7* zr7iPbM_WdC=_BW}wtQD=S7)w$@Z`O|fxgLYb-y$o>HL7JSCT!qT;JGE=}-9jrpl9Z zVtbINxQk5{@wbk9xvtnK-drYUZ#_4z>=X4%d1|Ctdyu`umQ8bKk1Sbkrk?auk91gM z*n90!P9uLZ?`7&?vwcbN*Y?`gJ9l#*zh30FhPUas*|P%i9k^3pc8jg?G2Z%!;JmrH z`0C?VfPI zRaa7$z$Hbx8XXgD|6I!H!&&>&YkKlx-Vv^CYX0Rfu)@%ZetJ>ONhR5hizeGzI)?}{TLGses-1fvL zY0!IHRr|8LA!#8&w;y;oEOsoZ9;(0F6k=iBwRimDw%8i^?y$5fE7x7OCy9zK=Qlen zad_<#A9nc1vCyRM7&~O?xutig!<$^XZ-KzUD|49QN0IAbv`|#<0)n z^3<7E!w*am<=e0NE`C=&9q{q{;{_29f4y}JcTD3oYCJ3yy(^GwZA|BymY{9M-pi{* zo$XX_J)rb&s3M(q&fdRScHg#h%U#vh+Itwx_~Ru{`F{#=^z4uj2-t_XndnbmJ1t{& zpwg?kbYbdB-5nSD+w(a512bl-+Ff}ioCVezmd(9%G@LCwq7r1lc`jq;o3w*5kGtvv zWpg(d-?`@?mHgO6V38D;rB5`Kuz$6p$b#4sg9qeEn&E=*x3{zGe+`>Ha5`#n#%`O? z%MF%C1%+R_M@N+%)wQ&!eiefZR~W1x3p~8@K}_gYWsUcOzV{?z7pR>v(m1d1ZuhD5 z+Oxh?osRP%JPRVwV+uO!)0@^%)l#?8i$rt$ucrFnM)WH4SMqc$zk6%Q!AiNq{)aO! zH(%KH*9*SBNbNqT^YV3+vX2oTW4_XILJr8b0K|03^~@_^Xcw-pMc9_d{WB;TJNtu zs>m(j;Hvku&!Vh!p)tpqBEJm$>Y_KuYMzqAJ!KaT@sHc_p9+^vlQ3QQn2ob%e@NRB z8QayX+;4o+;5whSx;@b6w9C=xQ?eT@v|sYCH3@DHl^hVlrM|}d84WbZ2%(KFhP;j% zxyfR-GZpQp7Dt>@?@CquRhFcp;ZeGHwU6a}+i$CM*IJi6Y4F3pP}YexCB|Zi zMb_@cV*STwrp9zT)!Nuo74B|7Mc^~gYhO_PWck_Zax#0vZO&KJrTwYyTyG5S2!D{6 zzMOA29&Daa`K}msHwqbz;2s-#qHy4qtD?#yG7r~Oj+mI4q3!;jMd@c713DL`hNax# zXS-y}{xV48lv&w6sg{QmPi$Nk?yGUkmp_W!9>?#?uHe&qulW;S;a}*si#Mb4YLSX0 z`CwNmdx>vD!fuC>n+?PZ+hk9gw%rpU>$Y4WIbZvXIFYHVR@QdDNyQ(K@RPY;`y=1Z zCzV6;uozOAV1Otgw0T^#a$8(7YDn!u?dI8uh7fU$a&@^Wsh&SS=%aW07s{=;8Nw zkEr|TX5=0EpuBu1+YO`T5gg~pD&HPgz0?U@=!6LP+4EIp-xSziFL5|-SYoVB>aD}^ zDOCsW*j3ky=trI%N;|gsda1*?tnIQHi&PFTytt(I&BvK#^~(3dEzC*nIzobL^DjPL zQ5ea8jC*}>xbn3@3z3JVX+-XJQKzwINm9}?e(1GnE?39L^c>~ADABvJpbl;W?tXgW0&YS-pp zxt$QuF&3w;;JpAJs%recXxGl=8flka>tDM~PUO}89&LKNx$to8rrr~=y1TYZ9qWx; zzvjf=-4!84A!gH^YaLZfw#L zJu@JEKGNpqfIG5XPoa&tGU8}aQJeUU=)4OYpZIST@u(e(Btg z<=cDjBv!7!eB+$;(**R^<}i|M`A6rw+P3`?Mm;B9*`6-S8zi48(&|6E>SEPHgWAi3 zpS@%(uDi%a%<69R+xq>!>!D7rJzQ6PAjDP0d$meS>%pViiJ+->5IMy;WP0cSj zJ8~y?6t!~UG2YW85`;uMXJ72|*dgMRnQ?#LD(~~8AMAV5PrRHGa#o9h-U{bW4hii8%~j-PtnnrBe099S2%fC35PQT58wwWlbw@ zmg9mqReZd_$6os?YwrTZT9I$3jvQb&Yr0#lzYn*ZaD+%^z^I6D7FX`FOrpAM?$BXl- zb7tRp^m=*q6-mS)UV5v5^v5T9CLgA*_qg}@amt!mvzX9U}3es<-=wgu?E zF^R4@{7uX|a66tnyg267gTRm8335o;;WtZ&n~7Fi+jsBIU@NbAYxU6O)7z92xjEYs z+iU&byp4%-%ZRrdZs64%Nt~?AIckr0HC4Hp79k!dzanNqVGsYsdmdWl!L#4{E+FzY zJRvwsT1t`TI{MYanG5rxW3G&_1zh+tz5aUC0`iP3{gs?nfI8Kt%a(qwEI`ja1W9x$ z{_yG%KD}L1-MHIokD}PVZiky+YuFnco*W~a%2qCTeR$>dhlR4r$s_IIsyB@_gg@Wo z9ercHG|M{l-Rtcd!yji(Bo0lfRo`FMw{~k#S_F3m;%^pHZq<3?R8llyO#SP(Un1X3 z$rZ#DliYr)_?K~Kzx_>dyT7Xy2Q>yvBYo|BsnKGq-TT7Wx7>^MJAbujsd4s{hUbZs zA$nUTt$og4eeZfzYF)DKRdc-bPJeCO>M7FpzysT_IK>&hSQFGpq4UP=$NVa$iat`aMQGUnffDyZc3bN=$-D2l=iHBkOI9CdBeNktUxgO1YoD*mG!hLwFlJ3SRVgRxba+tZbMtrJ)f(=nZaLhk z&QU(~Mn^cIuehjsa?JX`g|Q>S2kpa4+0Jq=ILvlw0soHctqpaBp7*GxHv0CR+f#@$ z;;mmoY<<)|8FqQze`x)6;sNDevH}0kp~Qi&H?1=g7u&U@yP5@GI=vS87$~^d`@y%J z%@r{=t;RPL35FNkS6JQjUNX|sy5eX^(=Jh;VxLfhGeLHE>z^5g2Bm4VhybTB;sE_q z;}m@dZ^dnsuDJ1un1ouxE5w?qXNv~tvZmdBQhRdVONdR3S(YqveA9GmF0(mb_x65H zm37UPA2TDD9{unz!>O^ycL7qEr8IGtvo(DgnLYQ|SwX$i&#Mwwtk&;|BfR2K&(7HH zt=)5COVfc8#R!MFs<8Luo*|j0zJBXQfqMqrs=><60#&4QVolQWW079$ zg-7M=zeqfPus!LTO6Y!>oH1&+kd%<-#T9xk*0(76@4qIfOBt&P#_$CsA;*OjxzH!DxA~3J4JlXHPS|REzZxO6R5jN!bKB{Ugl|pmndZJVS5%ArDT;W7htfG=#z$I1 zy|Rg1sSRHeJcr}NR<9|{nA~NdWx;d7CVqF^E@Q*IrjkKw?Q!3xz6)tTc^r}tnO)8r ze)L4Tkk;vVYsvE3E!Fn%Pge-vK_Zvlp8nBytWI(8!txitc1H+`h6Ymgxh`j;wwoh4 zx2)JLzWA5lqU2wvrfWX)FR$HhpAzDcJ|j~6H9TggePK-K0lz1L1fEOr&!azF%4#K< zK2-C5hbyUjv!B|+@zO!Pp;wj9JI0eYM4hkjhVA37{OGr6xTV$Z?9fNsA{$53kmpt7 zIWZ5HWgOP(Fev^}L!2ZnY~syoPejXhkhh6?TqFG-vfeQ|kYH;Up4iF6p4hfMlT2*e zw%M_5+n(6Y#I|kQ$v5Y`-@5C*>;CBO`q9%1zRXI$1=8rMTr70qq18e8Xia;qyTFsZnGf=1jz!CkvsTA@tJFK z3^h~>5QlLL#nXGx4ro+nJ^}pk5@wWV2f(%f&D3~0pxJw;2Qz#h6!vjNif?RtQ0qx* zF36<1maoC!4sbZ%1xFRrrtUPS5V+2u(FyH^XU4#9~+v=aE`E8?JYbb zR5MLgge`tVDav3LDBCL*qE1N~yx$y#5Zj#CsEyP#S%CY)GI4eeF`n=4$Il&n0^Cd{ zmXtj+Y?5V!NVjL;tR1#7jLl=X^D(2=OK)lv)&I*-FLRQB`8xPvQAD^PayK0ZO6W0t zFwRS+iomWp+Hf<>pUQV>ys0vqJn|>MFe{yWR35iUOue6kIfAEgYLu$JxZZx~+M#1; zspg2P2GXcKH-Yx*I7p1?4kzz$0x0S@{>^-ah0h>sHRtToTfVfK>d5jVjWFh$^yAWL zks8s1X2!d>M2&&8Rd8t>SL@CP@&k@g>AM1xhOKwL&o55+-t@`XUr-PzCjEG;L}|H` zs*dSur9|g;9;QA@e*)&_gU%4ka7zv)+t++xSu+mlIWo4giCDjOy1&Wu1up6KT&*QA4sZ@eWoMGkYM5*o zrIJO;)91=T=NEpTm)h#)>g4x!y?uy69gwrAOvBpCq&#d;{^2kEdGuy0%W#R6H`gox zWd6v_E24TYAe}}{H&#NaW?hhzM-~N(J3zFfme>0g%!a*4s3uWaAUM&`RTlcXEsVo^ zL^~WUz2PBLXv-p%$V`^bQ!ITBdS840eVsRpGpn$hk-=#zJCie~uw+f3w=???RVy{? zNB;uZutG=)a3}r>_ssXNUEv9;Ac_3O*@iAxIMYrZJ8r`U@aMX1xcT0j0|# z8}nQtmHUxCk-Oh|g7%C=c1MLw(+E2Rr^zcUfu1mKC4b`6sc(L2wZNBueKcSR)Ph;P zBJp+vZUKE}FTBg8@65PiKa^gDruFn9p}vk6V7R5Aw+v?}kHo+NXwu;sXvs5;=PF9( zBDUU7=4u2y5g_*#`cE=&zo9n+K$cD?Z-BTTdYsH1#@tbk*X@F8H$&?4MpZ{E1n%Fc zJVqL|UOE=gO-c?AlA|45Pa4SOONM{$Po2%^HoS~k5i3LN4z76iUt+ebxccp)i+e7U z!-Cew>A@fk&yZRUppKXUY5ixbW8GdaH<;ZtZRF!szK21#I)3vCzCIe}fC$ODYb*l- zg3mB$z%?AXLfQfUKQI!j)+gt0i<|3xg%DN#Vuq!47g@M8y4$o zyMaauR=1&^3xu8b`GtR$46h6}w9F$lPr;W%)V}Cl;56Hi`pG(=q)z_pe9!?ZRu)F3p- z^Pm78n*vShNaP_b_plK7-A#9OnrTEV;SUfbN!Vg2jEc)y*69U4X3(}$Kh>y0*pWiA z0%Bz)s4yw5zBtixx+^cP984@C8*F&U>u!vMku1OH`AiDuPLb1u>z}KAZ>{TwtFzw` z?>p5qmU~d|?(_otDXeRMDYHak!{fKEo9ZAiU$D*wO^kXoWiD6t$bA#T^upQ7`N>$D zlwueK!UZywk`)Dl_wUjc1>y(rX89Ak!M^qm>e-=L1G5wc`3v)w9J+KO3!gF4&sq8R(b9LdfsEicUMH$*atLvxBuS)YD zt12)O(BXVR2}`4jh-LV0&s-txOVGaGWn_=>^GT=FI+oA=dhR^GUi#)6vkiu)1&aNW z50;4#*gs}G#|7wEdmS}rgF&O-WQ{JpKOUhB_`6C~GAi(S5;XQUz#7y*x6X6!<1D!o ztbV+T@RYFmna?kuJ;~qTrR-L=j;lhQ7wMcJM?I-E^O9D>C@%Jl&kvg(5RKH29}i2B z#Y;cIdl})rzeP=oJ64B(num8XPj%82>Ud#zhPl4)AOoL+1#Jh1hsm1Vc;=CIGHMoO zunw&UZC@6ucmkNGZ9dVZALV#Eg$Pu5(j*__I6)+fI^&dvxFfonc9Cilm&VH?l78Qa zONb#Zbd}#wTpwab$I#2^O1xBNMbqSWRqVD)2kk=zAor+(FC7{&#S z#9G+kcmTRy?=vMi-S3Xrh%iM{s>6PQi7sm8sWbuTV#h@V3Amwp=wJ-RL?t}jj#5p@ z)~kiePXTVi45K8dJoZwAVw?wmgawC|T2zEDAlGv}NMZXoY%EOXi(Q9#el!N9-;`X&?) zGFFjtA~SZC=QfUwP64)ytb5f1qxu-bM?*ew(f7@7A{MPi?h>SX z!v&m`V*Wq#S^FoIMyDFt9>ir&ON)}r2Re!5H%RfF$MAlVB>pZU8~Yi;+8IJT!H04z z>2<@*F@#zYiA8?SoZTgq)lrgAH+;ANdzCCe){`^a6}2y`Eq~Af$DRpCiQQr(6#%3u zt@4eLiTs{yHNwFgbtA9dJtHPM&%C6sYn=RUfdTq1(LBSux;mCHwnXBAzK?)ziB6Ws zCCE(t>pT3oB`?F$oki>C#mOMSrO*4##M74a9a0JAm&qK`ohzokIBfi4vSnkk3i27t z4#edT6R*E5iQb)}&VuSN2mG?`yYT?DPJ)kpQdFKVx}bRFN46e<{vV?jDw&|IZ%*^~ zrR^P)3;Qs8OSi0MUUV?ihLo)NVw(rf)#S1oSae#xrt|DYy`?N0Bv-fGstF}}jF$R| zjLM2A`yx>++6(_WBey}x(B%m;(^JnygcDR4XoS8BHqs=ISD7 zc0Nb5ZDXrl{n*hI}s*WQ9+ zkh`20z9D^VS{nfsZaBbnrU9@hhtsee+!ZO<2SFq?o0LP_gruE<5*QUTR(K;vrj=he zj6Yg${#%Fz@efPsySy1-)hq9quUxEk@R^judB>*p{U4Inn%zCel`vlkS%OwBBJ{^q z{?XrTd-s@HMt{#_A^|5ui(bs6So-{j+N7wZ&wo^tMH!r@xnIiJFNR4G{r`F0Un%AP z=h0X!%KvAeHYoy0Ah-Y$v*IX9EkN_%ffPwmRoCX;{*@x?jZ%?i_d^Hm+LY2)c_aSU zamPIEAJsDk$L?+D)!AzRy*~uGS6S#C3)*`x7^z00& z8(mm`t(4s~T;AAi8=e~wyy@DlU;n06i32H}c-=|)JtnoEi$?48qu9Df&1P838~d_K zp3g8jde;Cd>moc&O$d>W;wt)kl)yoL(#1B6z1)-4ztJfzDFjy()roZ zTQ)mXpAl4K(!5{EaoM-?^I;xx88v?;gCKzb*{@Z5<9~$g$#%%|&X@9}yj9u_2Lh8|&@qiq!x}U>y9vewF4Rm=A9M{g5ub+Mhw8aLyQ6hpgAn3P_n&zX1F@m)m-e%rw^5WLA3T1Ui&02?w!3f6`?>a{XDC~*6g{i39tT~MKDr`0h zcYpROF8SaSer&z?4NryD3oY0lmsGf`5{h-1TQ-tnZ04PQQ^Kw*wEoe%ov{LMpq}qW znpvib_>Jp}TxU}?|8ksg$Sc-c+D}*D3@NL;=NuyJvP0Zy>+dXi8->LC*A?i%F~sVo zo*(3&u$H2_P&$5dI3>oT2LGOD=&uXL)y5Mk1{ePkH|1dyQkntM=Fx%f)7?2f8lfxG zDcjt^0E`=6cQ3Th`u$lCYdyww!I(n*j~J6bEwTNVJ1Ik!tm2W?p<{eEx{BnWrXBxd zkLIR<41xmxz}Np*TJ8m(Wz2q4+}4}w_|doG7oTqtAiD##^+LXmy92G@Px{5C6d@ut z_Aa37Tiw**F~q+lPP5fL@hdUUlv60{)GDbLB@jF zIo~lgSp{}4Y`3qFC=OELM7cdNS%JAtID*T}Ybj`Y^lwQ9qBMgW8!=ZhTUlKKJ9qSy zhn%jP8!$vN-}R~dq%^ZT=FHz?}}i!e*s-T>_`{_a4b>5oG!R)fwp&e*?#7J$i%@R-+( z)U&F67dTH57aTG4MLHMCbrIMZ{G|ugwM{haG&|0BRfN@GchjniLr!z6H0mf2rl7Bl zDh3rrZ8d6tuE>yUhAuvsv7g2*Q>U_quvKwSg^Y_^-fy4xFFF6vYjwX~(e0+1r%JlJ zceHrdGdP}t?T?h8M;)h}83EXhwlAsorHy9Wqf~boNrH}DJ`>$e@3+CF zEv4~&clL0mCkuxobB_?&t3XeXX1!LlkOhvv;---p7*{JNijH{q@V4G#kv~eNc&#e? z;K2YsNRRMdFT4jg+rA7>8o7J;C6x-jq9r(F6R?T6jCi!r+FD#w31DT^=Ah(YoHkum zZC?na4rk@!0{FaX-tv-OmKL!Er3gx;T_Pv!isQ_I!ILKEq_EcVfLvQ~sv@y(Vgf_& zC)G3bidiN2x_|5TzH7=i`7t}qSnUJ#wflW)jB!=8?*bkI_IEg;$Z`RwK}`S25NkiH zV@EZMrb!gzJN|(N8K6Xoj^O^;(ZhB>k)udZUUbf!6cip8Kjl3BT&YuRU0XxppCDFU&dKRFA#Z>RU!z1K2gUbCK9In&5{g6Za`cAK7-c{%5`Mfm=42DzOj6#SuNXsXs z$>&5Q_+S1y6#rooXIE7RR@g^13iev#omUbYgUHN7ad;JKkqOL?RVp+Ufds0NQ4*yh zBL~IV=i$y@p~#bdsQ8~?!AqV6Y{U5D6R!P7LDXO!zj@{YMS$V zl$>kjsT~Y8GaJp-A7@n-?}0}~L&qE&{%>i#Z=6?(p+Ey~JcKy>&TW1Au>>}GE7BqY zf_@x4UvDR~5G5I@8(MJcaRARwu<84`48|ZscT{xI6Fj!cx5MqJ=Ul&3nMxhM zm_2Q4O9@TYRqj~~yo_(DYwZuej*zrNz_{m$<8{{&aw4){k&2`pHhZrUK^jbN&qrbg zZ$cuTj)5b)c6gXc`%u*@Sq0y1dO4(UDjjVZyDF`Y;J03rQX?C4BCD<~L4-MS5q*s| z+zaLbBH{j7+){8uR1?OV*bj3vk{)`kRkLC!Ie%ozH3%ZAofL3eb2g!nv4uSlosVx^ zxu)sR_oOIj7)B@aEY@eWG^ykBY_-%y+NY2Kr~p%49qYBb3dG?pgaURLDy%zOJv#z9 zTsaeLJul^$0?sja?4Sa7l&W98L79=a4ElIGmch@f{fz7_HFRqhzfq`q(Fga2o{Kip$ z9Jq;0t3$(U>LYDlTdhk)n5)*4S+^%s+FGdjdT;Ok_~h9|dG*xaS`Ubx6$V4qWC)yw zWXtzxcKc(g4YPK)kEqAq3idX4KH1Rxg3s7T;jx}sGL?FgH58?-FABzSLAMUq3a%OW zv}txBRAF%`ZlqVsa&i)Bb2=sE+J*po1Ds@?e0JQ7Czj)?5yUuC!nI*k5>Aj9emzEP zee7K5hVreuclx_6y}Fww5(**n6sZ|&1*1tnMY#eW+2@m<^Gz24K!yN3v<3p$Fb zm*#7GmU3{w#E_UWb>xEbaUc{`fgDD()%V^1`7nh(#L2ZkR(|0gTI4$3|%4cm-dt5N$cxT*~(AIjh@Ru!6 zte~8gajLip;_^G$Ut9X!a}!GxMmlhI*Y+WsdpB@awul}?#m36Obd)XetB8!vlZEXh zocR6E-=aDXTguJSf8{al_eAfJvyXHtjYYx!91?r+e|*w=cIPk)(T1fJ&Mkmnn&-Ie)iVnL3t zuDkjLU{(ambnYXAoCc}qqIbjcaom;J-8=lL6mqc(442b5LZ)iicI9WgX3miWqo}7K zL6JZ>@s4K7BzVo9)drIR8ouk%1%SbOc2vpdTrk6C2QZ#R7$=k^p>OlR-H+r!VEM4? zP)7S9&7w60_zUjO-NKE#wMfkudA+`z>I`x-1wvxGvCya-frP)n6R7vA^ zy9%-R%uI7Fk(M|CLuuVsB$Y` z7v7syMr-WE3N*z@$i(-dm5Gl7^QV}=z_eHewoRSf$lqxtLwNS@GB?9}NOebw*}pRs z0|fA08~x59zvF?iGs;}v2rbCMNE0gti8&y{2I0#DbooXAv{GQ9)mh7X`SCpz7VK-& zBA4!eH25n;;h_qGpnk!><7>-24dO*u+;1ntd0GCE=?1Kn1=h{JQmtfXV)H2O-6{?D z`p|gWZXD&6E*V1TB|#Q%hRw0=7|2E52MSN!J;}zA@FijLW6g}@8WW>v9INY(tCExj z9~abLbBlz4Bt0GTrKy`1x8Jmt|7fkNs?qhJzQy+byBkOzo)F+w6yIff3`u&bJ9%KgtB zo0(~hgH;E?BL!X3WXuUm+alDBu2te--ebIJR4W1G6J^!YNVZdPG#YIyQQM&ksK_q5 z7c(nU^;hAk&%-@)@YF1{wygMByN5>dIq7*e=7-I?coju*T!?2RUhojNLB(TL7{S_d zgwpW-DiG?Hz}f60t?+TIu~Q`_GdM-C&5ZFsf{Ye$R*Fpzied*oQmvXi#0%YNBwZyX zA_Rb2jfLbY(_IrJj^HDVANtX$1b$1`zYsGjcN04Tm4h7g4LD{zDp+I>XXY6}B1zt)y~`GW-ztBwELVxkS!VoTIA(uU&L7C6?%D8Bf* zTUMVJ2!9;Kd8UuHZUq)2ni$#ZSY1?n4cEh0pIfBKdH&*SX+f6?VSkYq?>F|hU}w6= z?+xv~`CfV(BqGD=JSY-+7^hPZ#s|W~=16f{ZS_!pP8lCBuP~RpcJQuT+ff-C2ODGy|t1BTcDK8g(YQZeZhRh9baU5M~ zUNu-?1ZhvgE}0)dQ=ES)GTz=WY4mWXv}~JK*`J7XGhnFxwZb@2z0z5GtT3r?#M(sf z@`_*F|3Y1Z^~UE(V4B#`$#x`w09L0<$*xYK?qDFrTw%LK+}SnLO`fk4eG^Qpv}cEWYnYN3QH4>-RWq!wM%h3}Zh& z`wuZyrZ_Q{h<(Dzopk(+Y_Q`#qKZ zL3%qGTQ2EO3U|JP-t;Q`#Iy2onoNnmUlzo*;Bk-9Q+dC zZHMwX_aQ*)h!d`z@_VDguPBM$nuj=^`5OmpnEZ_>xsbhoe6!xK24)zzVR*A+jA}tu z$t(@b%|bcq1cZN8T3`&q!eW)TKW_?{#g9aS6d=JYCS2^WS>cEpt2KOu!?f7#h*QyI zSW&R!%xZ`_>#f-N7EEaqAmy$Js;ox0Q%B}E&}0CO0*Cf(C%gtC&h}r9(t@EXmFzyR zjfhAHXx54OH98-h+nMspf^#e$W04#7nW{on>f7aTSc~>gnH*m3Fp;p^hc>+`3!Opm zr02rHTAnCW&&%d^z2e3c;yu#xPOvct(CHE0+1!`qeJbPLh*(3-GHt|Xzc2BihK;6d z%yj`taT4|;ApzxnUED_O{aTA&xD5tQN`B;8DITnV;ueiZxaVH7W@5Q#vOXa(Cp%+7 zxYPMn=IZxvr&&7p^g)_lAasHA9DV^H)>5IJ^T<^u!a@IKS!9g|11{d4Chp-Bpc9zco_??u`A2LzU5JltOv_p;D;|Ekt#>5O2| zOom9L)PW!wU2KmUFqApt#|el1_a4M-XE^M*YaANz%3UHQLvsz$9KxIb(5lPnG zU?P-e2iDn9dp$@qt$QyY{}2#&*w)}U{@v%BT!=M=8vrH=wV&Y$aal67RH+ZIm*&R5 ze+@s$%Vq(3=p{N?9$661FxL5_Ssbsnv9PQS$tCerG|**g0PoOe7G(&OM&5oh?~|NY zpz_^)LQxitBNsNRxeg#XkyT30?TJwaMVqvE-|=ybz;$Gt74WcU9D_`@s?dUxJT)uB zsvbzG1WsKa7dJ&R3d2(Qto2rxvdAVGMhN>_57H+6JQ1M&xYLZ91i5Gh2I%)W#Bbx5 zXU)829z9OLx5 z61|l!j8U7b?3QT|(UQ%VX;tuU{5nqgoV@hhf-BYXSi(k)22%t|74{Y#MsRPQ(a}rD z5}18h0((+y!|ZsYiu@87A_?cARzy>xHT&j8Qceaw+MFr zD{fc?1bbM4e<$Up5j!+ByMh-GX7qFd!aMQ+WfX*yj!C3xitBw`)b5I1{ohfInoEFS zh!1~BmR)||+s!c}$6)0uxFYOO%m_Te3k1uYTe*lG-1zuU-^4WP7X9L2kF+#VQhd;< z9HW<`B;y8Ccm5Szx!T1j{?mK$-##itBd3nm4V9}SkeVhe~F%E>s33=wZRjEuQl5CpYt=X&@eB2K!OBpg_kuG@D7S0~R)k6z$ z>dio`u{N=aq=aSKvO$(M8F-&8`X<-Ase`R8 z*%@Lv#`)$KN|Kma!Z0d!L}(?ts9`qbRi|SWo2oNKU`FZn?B34f=?waELsbncndEWm zwrQY)b>j}+c0W&}TR?c=78~k;s`Fb$iwpRx z%Gp=96ln{IqwBF4CXU%y$Mj;!oZ01i%bN$m3hzcsTQ{RAwCwYd%n2#O_hBNbcjIFF z3!^dCCcWj77$f$(ws2^uiRg;Qj%_SgI8bUv^ukOtm<6*VB!++cPS&bpVGJS`BXe}TO@b3>wAarpp*#4i!Mp3PU<{p!fKE5J0~@h5=;kEAxvg! zj|y1&a5g@x4+CUg6j9VeMzo~f{UQ+C#P}<~7}FnT7K2^$dp?B5O~o`zmJEchOmM(1 zG=7UuXcD}bA4D_Diy2MYXc0)t|F3W+^WbKsJH`27;L1lS%^Q3kA~z@?pP{j~%~sJK zQN6y1P6BSndUS}`d|D^^2>tpWQC%!+o3|df52TT-LU6#pW^p)QUu6I|eiAS`y@5V)x%L0th55-yLTZSC4^kvo}Q zo?26*=`4Q=Ih<)yy?@8{DQN5tW$m^oSh^8)3S#D=HWUdd&a8V@X0EJ~=}%~o;GF%M zlq^CcH-R77uNtU!BD<3iZ%^CBH%cLTu$Alogh2*$8YKtY_P8`jJfh!`Y~TAGtYa9$ zb_q>w@t%y8DM0bbr*eWxPRcMW!x^;I2(J^ICqg%3I{6I7#Ppk%SJUJbABLAhnPkJy zZK4&{dhj=l!%+%YwwW^|ABzLe$>@YRdMg<0%Jnt=jadUd>v8-4{mq z^cckx=w6>Vt{K+pT<1!s{BAfwIVN-Kz(l;M*I1bS4v@gW^zO6cyj~^*W=Xf9@qS2g zjLP8a1`%-AM1edWP;zK%;&(j(e@Vt6=EnV(QW2Fb=g4bTz7ccgCO%b~=> zBFDN?+yajlQn@f>aQ<14=Hlb0@=krfK3>wt03c5m{nO^(e5^hFl96%EdXe6$ueoz1 z;TY;mNL2n~6@gA#%brxvkHh@Q45F?Q$Rv0tv<)Q%pT#9UNqIEmAN7O9@+Ph7XuJO1 zZIx@kUpm5gyT2>p8)DU?u>h;+1djN()V?+}FF^G+^z-19SR=|8`q3%|VG|2_Zdb=e6w z5;GvJ-4N^ab&|exf^IToTsB3m zb#Xu1V~By7nR#xE}YIAq{_jQF-Op(^y|5tOn=E$1o^7}R7xHIH3iU^w+h-=mI(Vg-Ty52`cv_q^lmltINHyGu%`>Bp zLsIYA)8Ai3Ul~e7U74^jlNzlB=wYXc*JavOQ_5FUs{@~9@6;bkKf1AZ@U3|K_aH+~ zEV+uM5QRw*Xn$D73SH~VtGwTRH7AVV{ZB6XTO-Il!1`}5^8X!B(^CHr&W%rwF4Gj` z`mXoCfEvmg7an*hDw!zCzCPP30%&FC@Z^_RxYZAW6{D#gNkm$q^t4l(x^lIlq0`et zF;PI^@IFV;%YIU`Ao|EPpbi26%vmb-GLz zqA<#X{G`P3AKgCOUhdDQ->aK-=#!bw&f^@3FeW9#k;+{x2@u4jSvN@1=uEvNJ9F;f6cfK#nf!!>wN4^b^n7Q>MA_Z z5g_>d?7;$f%R&-#T56NyfFGG?(VE!N#|d}@`VJod0$1s7Jnfy(F&Y#hylcPECQF?(lINI9Lwy!qG=ZW2rx3|Plc1}%9si?k#in!Hb&VOaeF z9|yL;*Nd(NylSFKBJtuZMN!^!S$2Q7qW(z}+AftX7R`dm>(tllkZkv}bXN9=nJmGb zS-1J>-K%znlh(8V@IzH(IV8a@VtV{P5HaI_zB7Y!1p%D${3iam5+(n^u3)J+8Qd|( zk>RC)$yqcfo+vR#p&@d_tjdfFO2Y6Nx_arTY#ib?dAFYJCY3>k85-Ve=LQNhoOBLH zstkXnpUs=hWdVK^d^LRy@In*X8i=5>^jTKLk&Gs;pS&(*W@O) z!no~<#?ZWsL-=e<#Nt$4R0Z1mGRT%9W>sn~(RiVyshE9DK)6RDP3DC8#6Ger$`pik zhkkEjrFow^Wz?Xb@Iv*GJ2EWstJKF>=Dgh4eK;yi?>)BVt1Y(TMGbA~$ms;tkA?+# zRyE-Dub2bL@8*5#Oi89tR8m4e$O6Eda1@Hh)7MjgD?t1=0XP;bj1VMvze3}p0J0Rnj-3gJQPM!6OW|g zKg&c~e`1q$BFk{Sd=syew1`V)aghj2T_?`!<-+illu;2kGqBQ)>Ki3HUVqbx$$8&- z>VCaXC>M*%%M^c|r&5JX*KyRHDFf>~NsnOwg?r6emRGS_#s+zyN*31`Ht*2OKWgy8 zK4Aw^O9DuJ9SV}&k-%JXadQ2e=}r@wWX+`UZPKHqw=zPpW|b;99O?3N&?ZYY!q%GcA@RWnSZcWq732Lz z0=mF#+Mn1ZYYKz|@JndzZ7mtEpZfeio9ck*5y!DtTsdn~3edk6v8`6h>yb=h*+H0! zDOJ}u%Vk({uA;LI8yp>K$Yr8#MeqVRLzvZuNg8T(bS057Y-Y7wgQqKX+15K&O`HVb z*h3d7#gQK~J0DSAffigbh(Z)m)se<-ExfOYk-c_;+%F5=!&a?_q{&C&a-{`CF*(2| zkIJ%R(#CYLzbnLtD^$e*ap0oXx0j${2cqZMc(Ay4R+NCL@N6@Tzq@HiV6hO!T(*=E zM}BY{v_>232=T?Jv$I}4MHrjD9+2X`?!vlVmF$jNWq`Wa09 z%!|Xx=?A7g#_ggNPMe4;X)>3mCW-2J@<>zi+x;qJCEhzWPL*lXs?R#<1CBe2I~m^o zQ>iJQu_Nj;yC`@|*Q;8LiACA|Xx8564sm+rtq%6e%fle@z@kc48JJ08&=MB+*&nVa zii_6lL<>**g=n5CxbxgzNeX~m<@a@lO`0>(SzScoSar$8nIOWB;jtB+H-v@2t|&o1 zf>;^-XcuJOsEz3?ecosVQ`Wq8lI*B=~7*CTJFk`}n1B*p=;~v_pB<6dWN8EoVCiJgJrE{J=APWA%?Yj8h~&j1{dLrymXFsOh=p&9 z;tuZ^(7dX&E{G-;any2kGM>oy;^J}F6$vU0aEj!{=L-VK{38m#k5qs-8lW#G{s$|M zyDi@9hB`~z)T)f^mJnY=R-|UOKQgy0ugmfNM09ki^w(UfmQO7(6T)i}r&5Wth9p3a z{h`>0VyjM7W#OY+YIc6;P)b?95ScwAfy!=TjcO46E#fVS8|eJPo8qxW*0QmVO)HUh zM$k_AUaBr{_I@tXkKHALDS;@78)%^tr7Jp^cWa!a{g94Xw>}EV#Dr7T+_*NZ2J4C` zc&tt6rqmsBFi8lw2ylbe1Y7r*vTZ-$OmaVnT;hQ$fO(~I%XBc@1Se@c)bf#z%`|2h zeZuA(d3Y-he`IqI@ztu-p0p&sz{YquCs=XV-`RD!fZ50I?))TDVH^q4X~#@Q#N$4Y zhYE47_+(iapv{jc|R#J}{TB7y%rqS(; zCWS?3;G?>#=Kr1d#_IQ?JTyCsUYBRjtw4>;^P)9l`5V_Ij9{rIriyluC}Fx5#Kn<2 zYscT4D)E%3L}QK9p67XF4JzU;T7zL&B)v_3r&@L-nk`ZCXQd6*{KRk6io1PsSpgL| z0-LSiW#9w&B#~JBi-TY386m}}#iDef?RlO+`muhzDqfT`Iej5SuDr^Of}b4vTy1G= z!CCht<3x*2lWU>s33bh+aLtok{kULcR1nG@ncZJchhv-JldK@2d1`Yc9d|Sv&e}3X z8`*>z)U<2zM%8Gd zWag$v)>`I_&xI)fI0WE~(p|Jpm1u8eShvUk9dcML2*g3!hY=qI&h}qZUI)h^4wt-w z8t2qqGsrJMxW!H&atw*Xcb-~GF4?F7s-pmwC5-4#-)xfM3{N7~P|-04sGUUlJQ~uN zGLRj~ z&v4@8@}N_g|3r-6iFvZ%ssH!XeVD+5VKm^9rctMGA79%-7@S&M*Yqc~o1F+0rp>Xk zM=CNa+q~=Ju1VqP-*C5W(F~-;h$8ZPL%@4+IU2VHU#?L)?2J(xdAI-lK$_sT<^aU^cG_?CP7s68s;H$_ z{}`+u-!&PkWET{SSUo*manDF%W>I<-9;#pHF%hD>Ou}YvUibHrdG$$t+4ABf95s=Ezcy^v$OKSi>2gE$Zv?r-QRR&KMo1IgmDgcqe$-(kP#JV5nBv$6$m zquHb>E;SFf^IFL34!&+=yWiF@bNcIvR*rt0iT+{>asnD=6L3pX z|GH$%x@;_4zuGfSFehs+QLs=hVYu5|_&9i{%(&Ddrw#=gAjw12o;q!o6i&9mY2P>7 znY&pEYG4!>WL=^4B*3ywD>KJTk%l-Cab1_c*hWSDQt)`sJWpr4<#Cfv5*pw>|~Q4zI*ht8yo-zbn+*-`(0e`EMYHHn^pE zXUVMQRhd(RrwCS7msQy&nIw3df(O%N#-?W?a|Fg}!=^}DRJ=b&)zdfhw;{jCk3GR^ zHL&7;ixY&mA)&;SXdrXHI>9eI*khCb%}-TnSwt@kTxDyco**~Kb#DcER(d!pn5XdR zOJB-RKE#Mr#SoMj2elL?s*K3g5U0%PH}BW^m_Ri{h%4@&cPzct^mBfs+pj+o0!$Py z7)ZgTa%ITjp1@K75kwj(tDMf$oETAlkncjH8^irLzFU@11 z%L&70LQItP-j+AJV6>BZu0fnvLyO^eTn>$dE0T-bM9#u=3C@Ll!~&FJwz^=8lO_dh_&vk zv#~TCE0^WbJ8()33{i9QPV#vWsZiPRBUDS*oxlWnZ#fzP2nFKmyJ$ z$mmm|YUKKoI4>sK{y3R1rH`dOY5%6~SAAVq*}2%tk>BpKLD#sNcP~ncFp@9hn0J>} zJ?i9@0CbNgGPS-ih!MZ@geq$U@Dt-d*=2c=umuoq{5)!IJl{5yaFqq8xS&< z+NTr^HCGBn?15?!`UwmL9y`C^n7eVj^X$F5#)qmx^BNe zzvS#};wh_s&}_G~?q4bpb8hd(gK^D3D`a5(xX$Ww+Bp@ zl&nYpWf7BB4YHG4cfOx@HFZpm;Muq^zZHn!Po2fGdsclq5|mBwu>v_(QmdW%1xO2< zTg|PmaFx@G-hk1?tSx8DRl%|}5cQU^v#|MdK%GhSskk0(Mlq4_&m1L6e|o}M3eeHz z&f^%*gu*6s4l7r~md#Q;M(S5C!%1!XUc(k=C``xCC4jaSf-{6t!}v6HXpDZBpVGx( z<7w#?)CH8?Md%3Qo_UyC1}`(xHz;cKXE0?Ne5Pee0CJMy;_+W>nK(K0WO6IdK&WEF zbD+qBwf*mQDz4vpa|rlDX5yo?@)QFbftmGOF#7S|sdjCIHctbsg7xbJta4xk^W%6__1me{Uf zzzUEgmMlQtM#{;M)&=Dw37JoojOT>!18$}v0e33b!K`(8lE(o6GkI2VWoCSV zJ#1Ts754NnEZQhT@~)FGPtkBYno7)d^&&{ia7iad6`N(nksg1t1kU+GKxe^r#)Ls+ z*^-~5_UMHk=i+dk!9zSFPEfpnhf%{uzUUiEEaeUKBf}`GAneYL+-nWoufI~kQ53% zujiAy9c0Y(T9(z#~QPb7{Fy+f-RUF)#aZl zy@Pgc26yqbvvIXtt87eluN1N&A)m?ERdE#P4-k;)!p=jHz3 z;APj2*OPsH-;_qRkv2EJfj93Caec;kvz(d?W8bua9Mu^R1+dY`udHCTR49`t|3vo~ zbDO-m;b6SY7JB~xUIDg=C+dih038STqeY#3){ukRah!X_j$dlnMe)w>2b&d(_TV+5ny@cid~X-R<^V-_EXI zd#}XKIE#wS7eMTD=EJu?U;aAi`|0?VV<$oh?qUHtJo$rq_>3KQ|54_IkRlt_!!-%o z-pwEK;=IPsAGv1~%)XDg;@B-46e4gn`~&CmY=Uc2_QdNaO8CkBKEgsN#XpTOdo_j& z{sc`HyZHJH0KF_dhS0YjtlE86+BuU`>_1RFjpfcQy$Sr@@NVC`BC-AJRO|S~ia@G8 z;uDlX03TL2dqs$184FIZIdDp5aON#7nv5~GEDXWVrx<8hOGpr zl1WW-kVIawta`!o+Erw+3&PyfFa{CcU=a{t8z|1&eoy1^oUjyk4r2l{S)or?IJ@>S zfy;QBCFA{)@$iYi66kL9s3WaN?bAK)6~8#LPFZcQ00=2x>BxyS8YPowW>))=wSZyi z-Ibyb2;8GKKCL7`MaT0~u=O}wO?7e90`Fd?N);R=+a9MD3E#|=0rPKnT;I1K@(jBO&u3!?{3 zs&17yM4*bQFx3FXnDp~1y$01wRi4lvwECS5p!49Q?w!)VcXH-ChId)-I4hrY6c4sGH=oUPVqIlyGmLZ198B6HlnH}2h?yV>h z!`Q|~b)FOifz>$i+Tmn@*lev=KC4=$**46IWM$8(ZQuy$;elR`*`K>aSPX9D%R65V zxKHqm4a4Udrr|!U*(vsOvZa{w)Wj{Sxy;Xg0;cA2SL;qm+HoO7ibPECD8h@{*E^+2 z#Uyo(q-VowbWBWe6pfMeXa^dQ&LBX#J0+)QXc?Phm*P;AaqDiQbR=QZp6RWnM*62^ z(2|LBRz+AEn>LWhy3$^aMi!_oAfVv_2=vTMfp`Mne-WM*O*r<osVb$4R-#?|ZqM#`(cuD&nrO^w5}=afqg^V7uM=(gb=u8%aAF%cQ+ z7{@p(_?B-h8jz9Sik80_8IxBF`gwaew#F@+RWq0{;B=K~8zLb#YZ|)gS7Un8n*6wd z`C8A$%&AtIFsj-fghYfGghcE6EgDDG5{9Kbz{7H{31<|{Uzqw8I$tmzQ0*fALGX3L zZa?TZz-i7ms67%@eDRfWB-)P{H2o{2!1ZC|;l^fPYB?iOCcN@|tEs=i6U*F2A;m5f zAhM$z4CO!RlTCxN<-=iPn=D%c8<=(G>NwX=aj582Vy3sc`bUdGF(lq7wI+Y z7K4KJOEg$!&_Y|dkV9Dkl(*$IuqZwR(UBT$T$~6l_AS!KC!{6I+Y!N8du6l;^2r5w zXbRy}b#txv$bd-AQDNj%)P zDR0}^;)%d$VWyb}>}ykhe=3A7b>t}v7L;iimdII4@`m7o^ zWIJ~qwn(5do5Gh-`MO_&?4jNw+DTGPa0fNx1Qx4R*Ms~{j`A#Fb;h01IiWztm@ps%hkAIj*(IXh3H?NG2h zaRqq31Zq5q)6I`QY$u&WL;HDwaYb(&Ax$5VQ7=l=tV(7R?SS|2{h7N2k7kJFhW4*s@! z>V}fNxqxb5rIeE+~ zdhMe-?8WvnNVz;^xH$qDEf_Vnz6%40p9bI=XgTfIMt*L^@~mXD?kb4Dh0kT0&!LHC zg+JC$-E4Gdr^OTEzr<6mMtiE|Z0Pka@BuAH1}kY|0Oy#`^MC-=Uw!LW2fiFydv%hx zvbfUj`IDw=Y;?M74ziO`IlY<$y@er8OWq<2+FB?G)*)d^t08L*s2PB(ICfca3+8va z0CCt;WAQKA$tn!D)G|}WxJ%YH{grZF=xJ}8M-6b-`j*y&x6B2t_c zQC?Vzd;C@yhAwWQB6UtvnY$-#3>n*zB3q4yLd}7eg%eqlz?5Z?y^4%~*X6ag+8yTB zsgzx(F)S%FwccHxaX~tgM|Z-Is~-**PoS^~=vTIL`q5UDP;9D*#|jde833bsD7PC$ zbDSJ*j~<-1EKON#irDUyhg1!Vb@M_?CWL|D^8#F)73%wY?}RNxr2jDq zK+Ffmcl|U?^^)+<+h09&YljXsdJ!H$$z)u_>ZK|zOB)D~3;C-cXgO1yu6w;a2fx6B zb@Ga%2s_lFF>BFmaJa6U-DvpYE*i*|?8-*)T3p&3M+2oE+QsARuC4_?q7f<2D7eA} z8H6J3nURrTjiC)5t^3t#aFx#q*38~C9l{g@36z5+-AEl&1C)a~9po957>tF3HJvdF z#3e2zR?d;*vB8gQ^0zSp*Qhy3(c zcmmAxk*siK!r0N43?lC4_0_3epeX3(ply#fsIlCeN3}JgS*_Sa)iPO%pgYROlvE6g zt-)$|DMIW!d=yv&|F}@|ol2dItXbg#yc|rtqv{gu`d+*a7_s5^Y^m?x}aXT5Yo3- zP($U*Z-)Dtq}0wJQh7lLlU@v4yo;kAR&tq~7anHuG>Z8zBOM*)-Y$$j2VH;P7~|01 zJI0Vg%XH?Qsa6$yGlB*KsM{Y4$)f>CiIc9u;e$AEKqUDeSpW}p?DX~{fz6Ysl;)3W zN;SOnE7KZ=S)04kp62&N!SQ#jI*qU1v@jdI!zU7oX!6vIiSP&tO-2K$lFr&hSsoTX zu938M8|n}8t&Y+93#Z+UN7}!S8$Xl$aDjK;55N|Z;U8j(Sy)@%JJs{ebA7d^^d^!= z9Zg_meWQz8(Ew-i6+Y7m9@IrrmVL-1+&OlCO-NYF?+L2%Bid~1sl^*leIK{Ln_4rn zm+@airrn?j<&n~$M6OcT=RXlxTz!5>vkq&cbf*k(&FuJjRZ^I?JqUd}MW`;KxgS1tc~QYv7fUf> zT0(P*WSf*X>@18l**c)PRbHXI5%=2nfWS0w(&cpGZtsprfOLZMdxoSQMmyLYo3DO% zw~G(zQ5|sFkGeW7HD|{9gVolWX$+dO=W!(qd=hlFH|ViskfWT5_75$@$)~`%ytKb% zD2;%u^K@*#K3e~r+Fn`s3R3gFF2&^`nwKhKjfM92o9}tta5C|^ezn-AZ>X#Cx{LtJD>9$I0epUlWYFo5~h$hxS=?x!jPpB@Cl2tkF zL@I5dhx-jp7PnIG1$&$Dq9RVXi$8w=^b zlLpDZzjAt9Ts;4kBxq5WcUWRZ?m5;tj8XL%Word4(4v-0&E;WYs-ZjmvhTux5@z@` zFh2iN%#;6WI{OCd@#hoHpLk~6L~Q=2?5iykC`#@*I-PS4=cga}z_=io z`L*4@V__0X#zac+q?!xy;-f4mA%Kt5-mXi3S1aELQ&8cAIWlb7s7?RCqAQA&d5jM%2yg;@|8l8?)|pcLU6C;$TdW7IR_Ww5deZnG+tlu`Nr1 z(~rM82!D1EZg+n>zJ#bg2yka1#uG(xnnImtllpVl^zobLS}69!{dv8P@tBQwxm!I9 zg&{F%esY$GG3_cVM*AUbLKG0*Kz`Ix!!gp=3qW$U+PH7vF9xE1f{z7ehOg#*&9U{jDm6Se}auh+@O@*Fc$ASg$=G4bu zgDC2#{23O_AF-)<%Nv#}JnPkjOa#ZkuQasIS!$M~FUBFd&+b&w^9k_xS?S$)V1pfd z#9-9=p67Pw*}2HQ5xa08qMXh{$w@*Zp?J7c860k1&ni5ax)s5PX6#Jz!Of`OB)eYO zPNh-(eS*bCqXAd#Qw7|ALgWLmL%cVR`nfTFIEQ0gIe8Esufa7rX~nvRme~ee%Zq$) z{owczY7%RetbXnfzXu>5zuMoX+^^i9M|vz&MCaAz%V@5Y7r+f zb>pEux~Fn=d2`Rvm-uP7O%w@TtkmEcsa`B_$aL6v0Y@dn^*zK>xlpH|D=>eS;my@} zKPi~H^gdY|R^Fx8ee)R*WKya@&9AMe%UUQV_P*}#_g+~L%OJ`_;r=N=Kp#`A4A$SM zdvHN5`hoZz+(tdE4}@8VwD;dn3hWceBPbhNdh{^}jt*SNZ-*ZN4M-xO&5W>174ttC zULD&WARuy@6>dL^ip8VY4jo6fifq6mnbNzCV#DqbECdsixKXJHdwY@h0Qzvh-}kEp z^?Cu%&;6Nf{BJrGbKwuO4nt2ssPxZc5PZh3BaeIG;hx<(=q@>YR|=w1<1w1mT*{(3 z`>XLg0^Q!|G5NiJPxp9So840T(xp#8C;;yenfF~fH4*(Ie|Vh=5p@Y*xw1>_#0HZ)U(A)3W(Wpy7-uhw`)%e#iX(U^djOA*J?lxebOi5E@&!*26Do8#qE zy_19NzPFnzhaK?f9RZ=Y1CC?oJ>9?8H9TCGZ=uk3l)jw5&kgdiC^1PyuiNKNzyJ}e z%DmDeaZ9f|?#;ja{{ZDpVyYj?q_RG}yr0a6jhVok2DVLavcD7_mN$05qE!qU4)g%x zPFgkFw#gL)YYA~3=o?_Q2!4Y4#j{%KU|K!z?D5ioKeBy0rgBO1?u!jXOaZ;J4Fc;$ z`Sk*AC!Fy=iF97Ig}(F8!ub3V%Ldd;>qgn#v@gfW-WDk2yAbtb9@Yh#xV>iU&&X0G z{W!m{JWCX9=m44}#_Ib(TIwdL^|Llekl(iV4Q<#bQ#^dD8;;Pq@a9JXcHPsPzhPdn z3_mf;6<}jTu{Yl~@|a&dCw=QrnEMquc751v+dhTZ1e364y4re<9!{`zuLW4se(DH| zl#5d)rq??XK2g#_C;g|gqDV5IchC0Z3t7Z)?Dc(7# zc?96nB`0ZbJHd|Kjm zzAI7kj5~TqKbj;4yxZsJry8lP51$(MgB)w~=2Q<&F;UN|6wa^&g##kXohK%fm*mFX zw!J<{RxNTYTTR(>oMGuQ)faG~x{_Adn1+UJ3aY!_GrFc1WkSST34KWATw+;g5>~c+ z$F@dsaF&=BXoJ0zY+))-0()K(x?-D*0{5$3K@pOm3F!61j^J_Jxro@vE?o_$M?$QG zg#3_5iP!-F)4nv*N&q<9&qt2|&IIu|w#z@{KV&swNBMy^)Y{w$o+yZ670*{oA3tge zDzPP%tg!AyLjYVmk&|3KCV0H^2AXu0Z6LHYWhx{G1of%1< z7<5`fUbzHEIc2W|#|q>ELjnXypn}f8A6ZDOx(?x|B&CRu_PYxts<4Dg89hX{s{je^ zv|?|;*F#RZ_?kQ_$k2-FUW7z|Lo@3tjwT8{Ph6SWLi(Rw@+(QcT*AuD_vBHqA1*(b zI3!Zd0piNh)YDRMmUT3h-1Y&5QhU;x^G`K8Z0TS$K#lXV9{xs#wv?z}(@4t3gHKrYQp+u3E94n>3Y&mWzp<8|gWa(K+ zY76_wD~~w!R8fQvLPGDzD?`%)E`kK9i_0Ko@AR(rCmZhH9Yx}Z|A90i50`P;Be#kt zeDEn4f+nbcLE-;8PsRTFk50Fxd$t~nN4~(1yvO7pvzm4iO*U}1Q*b1o` zWZ4!#*Xg1_L;kcNt?l_dI++W#9I5Kchbb4CH;SoTe=G zggU>va!KImWF=zG=_{ix#a`DdBwed4lHT539FvH~oe2Ya*M{dU?s_xcUVfZGkrLJz3UUQ- zRUrUr34%lIB_r-f!BBtf;8=f{X!b+Bsz=A_{sdXPUvP*oou|(*wqqP^;t7Zreiv%W zWycNB5%tPVJhb!7=3q?OeJ;ZYyh4`f-wEPH#(=whvE54Y*JcnryL)2!cVJ z>^CczdDsYgcrBu8jccFzgS(Up4^g2_ef@x(&Z>Pgj~E9LfmJ8X|hHzNMYesqN8V*ag^YB1fHj zJo;u_sU;Ho2VWzF>jgiwYK`duhw824cB**BR}@i91ZJ##V??+!L&rl&5moZxRnMxR3$qHS?84ELcpF7)9{hdqQ`r%GPy-rthT93h?v} zCf#Qr`z6HcoM=mOXIN;U^wtiFNGuAE)4~;9vtUi@z} z@oVsNk>s`&CXeOzVNLU){6{0#f@KLT+SHf$sw_GZUg6`G0idVa*2Nyj#I9V@_}6?~>WY>jQqP>$&|BT46n+ zXm{NpKT16m;qY>6;9%l0+#7q(DB?*Sx5#zQ4$9O7)6Q8p*qyHWr~$x@V8C&5Gtu?e z^}gOB0le>4ov%c@V(@i?Nf(IPl4G0D&1>8efHW zT#`)9J4L5N(ISr6_OOmm{!etvgj+U4L48*o5?k_RRpaj;Nfjnb7I9tmgU-9W-ud>t z$9GsifEEQ&nsCD0bO7I@fLR3$>JS4N3_HP1NsQ^6)!UMiSdmUg8P)?M=u0d_Z?(Cy zxsh{!0ETOU0Gec_0h1mvl&^hfKgpYDC-LnbWv69)Uo7K^^J)@IgW6Gip24}g>44RE zu`W>q=*32n#%5F{0e=F9PS3Ht%{OxOH8@{i8)p!PcQ9!l`$kPIW?WSE<0FVzP1*zN%sK*P&Nc!$;6%{x{CNu41vmc72 z^d+A@{@ouSn>3qAo+${-|CKV8DL;#f8~aDk zBB6E){e>)p1}2;NtD{8Xhx%Wm zKJ|2_T8n%wZO%TEGfUn6sf&aD5D^H<#+QnR1|CV5u?HT>^mFdBDW2{-dU}{Y-tcYH zJON2IE{JDd{vJewZpmnnFK?8rT7#lMJ4nsh6s%K1>$@!87D#$v+neEBum$<!BhPC<_&@6?M}A!!)&5@Sx0biFT|_HZ~hX$3gh$l~vi zmRv5#%Y$2?Az3TQ|0z^~0{y>*D$t+^>GVC|1YkT|9BrV_AZ?(4nFje1lWjSx>^n63 z5ML*-){1{*#|9FuF5~Zb%S03{PH^Mwn@9(vYHd}9U#)rAXpB*Cn-{rj?3RYo0e@ec zGz>TeQhfTuCg8T`+ds5+3e8JA-mJhUAZX&61<;s&{DnR)j-BL2eDN7IGNi8w=QNeG z+sL?iVW6)gwFU%VGh^jJ(DgjBa?_-wqF$Uh7J)&-Y{o$qfp+G&j-E(qQ_iE^dp$qv zYX*Ash&UVFe2Gh3GB{1Z-QZ+9Z67_R#hBoAN7UT5%pOegFf`OD-j**Kvk9)Q<18O) z7&#{-OS8u8h}-9TEt$P;LHZHNJyqh%n5Q4KwRNC3C33&!q4rf}XE80)r-K>s#RMcxa ztzxFYK*A=3MW&CGxq;?KE2*a$y-)6qo^SV|;|eTP&lgBf@_`O%CU-ftN3YJBF#J(n zqduNqh2FzHx$jlYgeoe%uA6k6#LxoK)R1F>^R zNifeKk00oh@$(+0Tg~$C@0%)71X%NlK>_aCSHFC#$wB(6t9EaG-CxIWxTKJ=MtUkr zBH;B`kwX+MU&(>hK=IJ%E{enWRt<4~xg55J#gPXVENN28@U?d0XmakNilPNxBpICE zBL+YrDPqY<4QuRp<#(uU2{MYo0ywQUN^~Ql#(AW~aq4TeCFdD(I|-LhC;^157sJ!S z46M$^36EhS*1I9mC74Z0J*Fz@8+S^!3OlwxHlqcD)bmmZEEZ_HS2hFZoU1Ca=8S4VMufX8!tVT4X1L4imFtgt z4@i$DzY%EZWF)tNzn&SNI?posY0TcNZ3R{@B}^xP3BPl{F@7) zE71blTI0xEptRu{>#?NC!HuQP=1FJ_!bGUcz^EG2a2DsIdNxDEgi4O64#qN3su9dH zs*o*gGD*V+@G_gR!o>hPnPA7+Y*LVo8>XZnD#OrBb5JIN@kOsKPe7wHyOD7+q#Ebo zI)k2}DNF9e2uIRI5W6f;tNbTuzIg+n3Ut4@m@=>aT+tLk;Pi|`KO`|8!8l>W(9rm$ zT^wh2@m9-rb*;jh8WZQJqpHL&HDN`S*eiU%}CqMM_16lZ+I1qK`_p zcNM*FlsKa zrkdChX=P1gyz}@&3uk6c5{4vFq~`|(CBRh&ug$d4PYt4*tl??pLkggL9h7Z8m@-qC z;1E6>O1oDLFONE(k%LHa`$Hj^zdwprri6q(nKr<;Cjgs1S7tuSYcDs7$|Yhq)w)K_ z#!l)?_BLShk_s)0`%;f^qa@#~J2jp{ z)`X_eT|!rE%BrY#?xGfxE!i}7O!jwJpMO%x&8D%{fWfwOt^=UjhpTmF8|NN%0hTJY zx+KX)_rfGa>5uiW55Lp7e-pgN6bTRK`yNR1ET3`NchNc-omP#`K;f#nW=d=g;Cq-5 zwk}}4%O0(8PGrAGCYi$Tv=nm76WQ+k4;d#X`%2V}=N-q!TRS}`Ydw9*ZprGDn{6|y zjdHw-m?sd_vJdd%09ofoxf&X4ypu9C`LFKuaKDMMa!AIndH7;+*n80 z%~=E(`(k)IUiXd5&Jf*`>o8@7ofnaD%6%_TwaS{jV<`np~&Xa~^-3tFl>g^zM z?P8Ywc`AT|NSmV277UQE>GIWSpyo*>4PmA2CbN)aF_(f0D8s(Rlwr}*^~;7f>c<)JQG zob-w(MR`Ncv26sZV^S}(S3?e}*p}Lk0hY6ABx>pC41rL;JJJf}eIQK-72TI`AWt3J zZArzJ#!pIq4X?fpUUQFf5?C+R|D^em$OylSd7kto$FSf|oJun|;RjXg+cppp!Fi-> z3@9g*Kb`-hPpHnt@X#TG-qS0|RHwXMiN0+YkJwFPzRcoCwdbj4*ECtDnc1qf1+HTF zCC2?#e=;ndT9K@;T*{DW4~o>cal5$A3SM&hibcHOdGFXQ_Nv@CxD$Iw6I3_8O?>&>lzG(WI{&L7s;dN6QH!`%%{a znNRG@$Ae$X+Mbr+_PzORdr9)>I1ah%3NE@u7?2%$$XubI5e7BbM{n9<>%ayJtFdTD#A-#MS1dtEb zmbfE|*e>Y*tK_TZL7g)pT>1e73RJ!g3zryaf75e58$~8pP`9bHOy9)rOuM=H)kl0Z zmB|4$l;ftE^@m5h1KR8NX>@z;C`^$z^@xL3HxBz$oam{7PhOM}#&Es*U(6x>`6JZ} z$Hot5PMF|Ss3(&YKP7Cr1bnz)1_1cY%c`=guO4{_n^;WrO4}~>EKczq{K_G-O6vpR z#&E4d?hmaUJ?*2C>2i@qxiM-?BTats@o|;q(qq8(=k4T1zP~P_&{f_i6}=FVe>b$O za=i0G!)#n27i8{D`Zw1G+(3`7Etz_9s7To!VwoN^T$3TdduWN9W7rxR0PJF@j9v~> zEtiJTJ|$DaRYqfuEr-dlg=pFHHY|;mTnb73i>UizAB=)xH{q2_ut*r6L4Zcny+N3} z{t3P*?db^DhhVmD?uI58D4)su#ST)+N;&Y&6f4={?Eayv*0<(X{5H#K~%K2Vuq1{FrHI^lFllO>K zf4YYfsyv(>7_CY{!|z_d&hgf?wdmSex?{BL08|kOuKp8Rvu9n3bL~!*cI@JEgDvq` z)kISfi%Q0*_>6Xw=X=(-@6uTY89>LBd?=TbNN?04Hi} zUbGyguSoz!3!wt^jWqiIY>Y=$f6*YMggNG_GW0sqwrs-AX#LrKxDn21>#R;{Ac(w% zmSU3c7i(5tT`SkdvoPs@FlWs;gB8$^mst^&@RW3CGxgcyh>J>Iucst)G5lyvctr*} zFM7aa7SbnN+-^6B>?>iITlWc)mJYG$w1-LV@bjA)0414(EwXtq9O=@oj&6{Fi+CR6l#!g2(Y0{EAf#T!t># zb^ySTS(afyKKRIA&SRjy%W zLJ-uXjW+Pwo0bgiLQ`Ss2+lc3JHx{DMYHdcA_UbkY@MuKDJ`ki@ViD$Ydl{(9RWqT zCz|YrpoKNaxX;a!5WEEE#AG-~R$Sk9zVQpw1^~;x`pf!eZ_XhQFqQ2vnMlT0m&pgU zzTQ9H{FFcC_==v-RZUYdU2%_6L)d|y)9!O7&;zBlAW=SszJRX^1^73E^T9F>?jLbK z`+4Q>VX*iq96@@*vP6P~6W6HYYylyWvX17rx74lOAZG*HTj}C0grz zESh)az9K0*q)m|+kOqcQWl)A3Ba{e~HH0w=#k<>LBvIS#zDV#SUb+?wqCfMLtcxTE z@qGDS@5QHu2M(IM^C&+fL&zeyAEVmLSPFkBox_QM%MfWrv956I!kbdPV*^Z*bFvS1 zJF`>QZI3%{n6sCe)h1F4BW=II4MX>#XYVe3N!*~B)lr{9@q#m&$j&Uk(Id5H z)c5u&HKb7rLm{M8J>6BxXt954sCoGzf!3Y8qiSu!eYGr|O|2lpl@*YpF7`3~A#vf8 zkXO=2RH_7-r;GF{ae(>x83KUlmPYwbP;KuISLw@ZiI0N%6$KKor{t67^9)zY2hN+9 zU0q1c(PRH2i0c%3dpRTO^@2(VJb6CfK>l=n+i>*ofkb6noZWwFOzy_7~pX;$?);0%B|US%Xn3ADL+_@b?m-!&lLm+4bUf4jbLp z(fZ}&1r94W*}UHN^E+ef-vc;5{W5Lr)7^_Puht~jKaX`gz21M-%2cR!qunJvNpp_F z#}?6=SKxF@Tg@f*zI1e6_Acy-gq=-&Tul4%N}PV8_=+%-FeWx6JajgTtE&6?zbl5-Ms*qwyPXd%P(`ihN?xJJ#K?XW~}e~arEZ4kL$KNT*} z(M8;nuvs#WIwJskNPdG|c{(VP?U9*6!E?qcXi*D!0sSQ21KJxl4M-PD#nF9;OL^;cAi86DzEsN28{t#U8U=0ils_e?zz_b zCiN=CWr#_`HY?Zk>5~kXuP(aYtkqJF29EtIk82j4eDCiCh~iDN<=(I@a-ap8!tOci?Tg z09_c#h)@xfob8#eIiCTm6!u3&)?ZyIVqJQGg+##zE~2%AH4I+GC$_e5=&{o*U(T&? z;r=VzqfR#1p^(`^`=`8NQ@Vpgp-)=ccy`G8NKzx_y*j#PZHtlCvIte;S0F^CnOCsq zZ1l>KJ4aBmw}mM{K|XwytgMGe^Y;w20Df*K&maXP!hr=4Jx9cwWsgmxF2dvcWj-Ms z6i#U3arTAkJC5?M{w`lMs4Tr|V={C6TIrNDpyi|``T}(tKc_69JDSvHc;kC&KHi!j zXRkTVG;6#d!?in)>$p<7ll4*Em~@5KBj;p4A?7nF6X$m`zZ{+G@w*itmVL@{f;CSR z9k*YL@+O>iKV9KnMWZs+E=0WL9IpjN#w#_T*MjY>ag7uo($Noc~Fw}NOmoF`9< z19lx^+l*L~EpgO6vV10#KMS23`-0Q|C_n~=NmqR4+^VHA?i^7{*D)%$a4Vt&66a_t zy#rLcIHxaI;P|M*kLBM7ouw5;lJC+(Y}M2Bx;H3LZ4U@UyV1Ra#FJUlS)-a$Pt#;t zqMb-W=jIHn{?fTkbH_R1CQmUvLPV;D0!kq-_)daYErsl+Oai88ZLsc#h4+kfw{q}X_2T*FKt092S;%~J?-B#7B4CnM zk?E0t#^}oQkU4#((wE80BpSU-vxIl17PTuTbtza|O<$HFs_EVWBeRjMg!b>R8q>g{ zsqE#>H%KByAy%>OcEkv2Jswsr7%V1(i4H!w)kdSh>E+esai`8!(`WMRiQ~;`@n?7w z&CnQkKS@TbWn(WaL8kZV?HsMO1^~5pDF+=iR))*SlkS+_YgOvJ5?@g=Jr?DBt~tf= zTZ%vX^AcP(^N)`g9o3$7=Nk_tZj>>2%s<#tM|2lz%gj5nd)1kFTADZc>eef(aa5_S zSxyPEAFWLpzohYuc+o&q!VPIwdtNrUlA!Q2Rn0mF*&Fh?O($kM2$kJKVLHm(+utpey}$njp2-!%@TVb zPY<7yIR{Y4N&F7E&p$LBg#wfdkpI+|V?WdXd_Nh!NXFPqp9+9y&P`kLlKxt|87E81 zR?5E`2Nf2UK2V96W>)`=HG}P#XM(jxh@I5Wr3PKZDWWvkik$^FWh%}`RMT++32Nu< zZ>HOVCtW++4;nCS`Pol2`4(H{6s(dqkzI!?#s16`N{8L1S4{-d6hnmrz^#8LkV60C z;O}wWM+oSSP@aG9k!~K32GaAYQ!PlD%$pq@1Amp*i^AV~9^bl!t84l{o6okWM9HHs zq3MG+Z%!r%t2G5zc>{Jw1cut9zs%yG--s47h7F$YbB^!qw1R!LurNG(6dH3DwOjw7 zdYNWv-l<8i5-X-yDcFSY@H;2g#LTvi`3CZ5)B50l|E;7&>L7LR(g;;cqx#nFt7waT zG|_r#%f23;=aHzx&?(lum)qBK2haa)6e~TD60`#(E}f4GlmtX2U5^SB2ShI2g9?-$ zpa`M1pjLqEvEiKCOf7JlV&BFmn50;@fkR}gz05BN4Ps~SVi2@UnVn@Dis5IqjMKCQ-M!1;ICI`et1(L zhFE?A#+U}2z_F@1Ok{S!a`IdT*QYK9fS&kgo>emN2QeiS>Zi;b;h!v>UE1C4DXd3O ztTy-@@I@V40z9iUTm`714OQ5Mrs%RDhwG82;eHwD=+QvzqUWzyps8Dym7W<)=tw;T zQ+MAADof;A^XPWtHZwyiMwMAO6|e={zxuhrODmst*urbzCb9(Y{Fs&TfIVFn@Y2sr z)Pa{K%ijb-rPqcBJP7Vz$D^-66K8Bw73h}nZ%zMZXyyQJ__4_H!QUlCCfv%+lXhBL z4cjJIB;@#Z9{M|?)b$)bQthc)uyiG0QdgZ!i7+_^pcUxQ!?&;~d0Oxqi#mZs%4*N!8g6EWY9Ep&B^z>y$P>q;NLbBkB`r2vhMNGQ_RoC08+qP@&*7BsDKIBt3)$lqO1t55H6~ z0kjOlV0f@CLZ)+f)+^#JpO*Q0i#-n8J1!@D%tPs3#Jn1Vw0g$Ml#qidm4@y`hAE|G zFmz?`Of^!=$OI_evkr@U`9=lymQ}m#-0-9FnZHl)IktK1;y}^O882{C1mJ0#xu^Ok z-b`$_^OkvaQf3r=a9{8P=n*zoDCHMD&U%Kyr1fSx_~dDqfiwOcizLz}vUeua21&fB zGTUvfQSR8P1AfkWhYR9dZ9VY^wW3Ky=vCx?DQ-wIvkBx6}BZmcVGEl_{)WwEvv15Nq%btjKgdPQr+xEa_U_6*EXJsUA_{Dp~ej6Wb4xC9f(o( zZ7siA5IuK&;t^nqpnAykb*7TlzStQ14Ts}|eqMeOM}L!)<~GDa&A#~E0HBavw`A~LBnaL>$`W94|s zXAJyaCSRSqO%79r$MDq`GobWp&HRbF?(tlb6wA$Wz5_&>AMsjZa;{SPdKSwwv1G!2 zh{BPH0M#ug1PI2545+mIdGZaab2fC_X8qiHu@lfxR(o*hIN-)D20+*bwUClsD6??* z2NfKFAp>HPO0Q@Oe)U>kEI(VYlauZCvy{2<|S0$G>*#kLhJlqPr>LVQ8$P6 zB3g5+2KcjiqH?Mz^_@yQ-0n0GmOqw}&V7k|$G7mla#lrAaeWb^s$}$W2Fib^LVGp* z96Cuj3sisFf(3KlZ&q@u6T2OLR0njzKR%3A1?KZ6r=1k%E!E7%gx0$>B~jnPhOy4IKb6hg5k`vxH$ECFF>(fl|r zi1vmNLCSftX=GV+!xlA;?kQS+Fj&Q%bXR@3VU5le6U~|If(qj^WV~b_(5Kp2vsdUhRj2>nrH6goK)=|vP6f0KC$o@B{acZ*sl4DwMi{tO(+WmAdJuI%^8vu~- z3veN*lr1?q{!FFAD1c*wy{k++QtZUneHes9Mx8;iAE?mRWHWDr`4Tjd*=ZJ)fV^W^ z0(d|rDT!%wiLKe8#-U1@!`EG|=G<%l-OoZWB-E-KEgiqWTZ*plmC^$ z{488~296il@Hg%12GkM=@yy2w)O%*zWE&VZ8yAg$&t9@d*0|2jvUFZUVSMKlu2A)&ixgINE{mQ?)N^y9^{s&-*a~N-~M!W-Ccck-`&+!SMfD- z00y;uY>)n)?RWn6Gk{VKCvI{2-0eSEpMN4h)z?Z1cP>n-e*#jzrCk=GeNXlEeZIUu zot3|Q-;61a;h5z~{7eY_FqR^iYVBFbi3&QgO+|-9>3>j~ zUDJY(Odjns2ReP8c8gLgiAY#0Zc&?S|q3_*kx<12ucP{mHN5<^2E%? zo~gai2@qhG;IkfGc59xgeQ&^=fRob}Yc@CwW{EoVcyJ@%yS|b$hq?hjhBea@u9ehO zV<_-USDJLQ%p>tX5im{vn^Fg8Py$KUH&7yM zUV=g*Z8$|$Ipn(FWD2%ZrVO!sAPHTVsvWBBL2<`W79hcroc3#llYE7QcV>mxi9Ev; z_$kiR`gn5%knCT3cg7ip0pt~J|K#`X6Lsc9z?XL5O}9R`SM#|J3vs~iMz?o07P<<4M^^8CommC zG%f zHjNIQidxen&0e5DkdeykO<~5Y`9pbzN_gLI#5_%p@SxHdZFFVO*GaNIM92L|9|9Fw zMZx1ngdL>dMW>ll1r!cA2OI~hKe4a`paF}u)3nR&SK&6cWk_(e)lTp8qMlk`cTHMQ zbh)IePDmLbPzIDY8b^CYn6g4^``NRjVzZhx4FS~w)Qb4)`2j+3YF28hxkeg4{=&ik zd{d6aA4eqZLm|EuWrutWOu<56c=;Rd*C>|}nWAUhoT;jw2RL`hb2WmkfV0x}SoCNw z_;wSPHD{m|C$(UuW#p_Z%|Dh-Dr79E7_Tm{NC`BMlD-b>(P7IZ`-$Z(RPqW>+4CKI z3R)gc2bY4Kq#kGFlCgRIJeE1Y9fT0?Lbz8NZ)YMEzsj1z9R@iI{&Q=A#(jWO^U@^$ z+a{ytLkOlJ0Z>^DP;7^Bj~Ae!SXFZu$c_?K^-pP@S=wOKzMefr>5QXvBcel(sAq&kC;N~E^s9HKvGvyh3dM2>398=_^G17jrTu^KYM zSwjw-de-6IJ7Qs6ir(!^;x2+_u(0pQHaf3D6fQ$5H7!MVuZ=der@;SHp@1JMDrjOk z8)rJh0}$e_CQtWqHOR!JtDY(TLs{w3j~I2H;ech5Saq7Bcpf)@(ACE04z>ItPXx9jjZBZh-h-8@cEGg>kK2+cyCZt$QAb-SymD9AX(r_k z1!-`VROyS_w29$XoT~X2C@go3W+S%B*Cr_$MjUq)MClRIq*6X*I?#B!jJA7J-mY(~ zTisLLpK_b6RP)o0KOSZ!Rb?s|>-K5x9E<})9rYI=)2Aw-GBxOKNp5*rLCu`>YpWib zTYxgmdP@y-jwl=f73D`oi8a-|;h~GbHe^0O$poRoy~6ANukE(oC#!GD(Lam^}GJ{G=poUS+CFWEKoZn>tt;h>MEjl27DA zY-=VG*j{?lD$49x&sF+5gSKk4d@I3x3PqY?K~uvhN}L-kwzL&7ys+dgoGTlWe1N9< za0<#L{~sZhFy~T8xZv3O>*-M>oWm+k#^Vmjl08w0Q6?#xloeGw(fE z5Vu}Zue{&BO%Zdn+jZZk2|$HQb(l0^c`*j%o5-i@Pr$HWMy;=e z4b}=>uT#f>v}eZpljE@$LANnomObN;X_s7tCqYgQ-(yF9!VC^qA>b6H)XE#`;z3ws z)NguFeFR&n#8Yi#i+7(Enkk5I{zwyK0bwiVO@fa>^LK(=8*{d02wB7V6X+8JbH&bq zdlDZ)(xN8yuXJ(dBLm9W^~N8ci<*D>oUnZ?lgUyu$$a&#KKM4R%Xr1dk(VIz9V=Kx zhc9V5QrJ8xAs7j`5Y;EdF>uUxU5W}E>Cc`!Gm(?pu{!OjiCcKJ>=+R7$;D!i zkqrks)w@5I^*=r@a32_Qc?JSsLnt9R5Ob9b3k1_QyR6*wCjph3sF}rn=j*?gbi3Jf ztV|&Mk>|p1Yzp#PlLWW0+SRjL7!E6hv~k^;rUFhRxIgD%mUzpCx<#?D#AfQx`ZU?ap++gMFHK}P{$fvx|@!Og7yrSz8EZzHz&pId5d&gsh_4_K! zGv)SDED;zx3INgmLvgNP&5SES;w&sre5#%MTYMdE6i82*0j>nI*C`LGE-!h@)E@%) zIZg>rWItF-)u23^Ui|#kBoc-P@j%7WS(j?8@3f6g1-;yMd!Pp@1aDc%IE7M6an2d5 zE-rV@*zLRC2en-xvwn-J3tRCSjBkKg*2#ysugM=fa{}7>3DAu>xk}Va(Uil*$CNYE z>m;`PUqF9(Syn(p+dugBfb!&zBnSndy#|Te`O9VA;j66y1I(E9apfPB zh}+<#37=Pu_Wh_g~;F8rRqdzkfQ@W9(R0soA(C=MFevpP9ecs1j zD&ns#X8;1Syi%zrXcJ&mGVCfvIH*-9vGv_-i#TYN4a#`iV2E8l1)!GcKT`3FYIl0r zfPdm%ur|(>`JcX*$VK}&+GC3^+oU-4CN#~wSY`xMecb}P@QCxF;LF4zf~0%5U}x}4 z+3UaFS!8%ELCGD1Zsk}FmBdc1dgqek$&*9fo&d(5Ba6^tTZvq@l$iF*qOdpgW(%tPK;9W9eEfZ{V7I5LmxJhV-hq#aJ zS^%yPuUh(NefxezzhJD%ryMyn7>^Q*>*K{VvE*VHg*T_`^em=DwWk(IP1GY8(f|0V zwYfJIcz=Vl)5*c9QTW(N59y=h*<#TnjR@+c7O^etas9yhDd&s_S?Py}?RUZ_afS(O z%p;M3AO*qx`-&U2i4%$+PJ{3brnIa>B?F+DF9L(ogloldx}-Im;@i=IOh#P?Mr-TQd6f1FN442TZ;Acmz>`sdN<#TC_OrhkfyJF(p&*NCByl>LHJdsN z-{o|3`%A4d``o6hxz29epRJxmj6HzT$M{(%nW2krZW)nb;m}jU#!`DadRd7_7p+7~ zJJ^eQ$%{UAA3h)1>Lzcz;wZ<0iE5HQ#|Ewysc8M)-+5QZVZU9evilut%Byb6ATA}d zdG9ex-ZN>cg{Hg~4;i91fbr{sybNnY@x%SuQM7@{{mV~^Mq1xqwt2xdI~xGw3?*bi z{+x9o@=w3d$A;dc<}%$!>WvO-e9%n)5!?iXh=(T3H#4_@mxA=jNe>5Qn$;-9p-9SS zU$oqOp=?2VGfoKKJogOX*3Q7meErNRKdJS>4jmH+ zZ)`wm4*YH?F_k!+9K$#2-UBYP1 zDAgZ-)zn9gHdwt+%keJ_?IL#28~t2iia3(>hwZj!qozIp&M5z!#EOrdb-Bw*_n02- zHq3RlV<@ZqY-9Wrp{X&$u%K4eo4sb zy|s$BT+fm(!SWHf+7awCgSOt(_KoVH@5Jd_VwN&rl_Tw`eJ2LXF;p;NG8yl;KbVb+ z`XD}Y=lOwk3AHET&(Qk-B}&>oxRRGrHv&X00#;6*wCW^E5kvrA#nJlwiRsP#Y0v0G zv#roNT!(egqNJ#Ol{RN7irwbXLzpAI3m=z^n|+0Z2&^_M@|Q=9e6uKB`OnFcl`Xwz zBSZmvZ({L9(9k9Lc>P~&w})&Sa4%lkH-{-DO9#_odX!K%XaR<6%Gmk8I*!9dL5Tlc|ldH|(#Xo>p; zre@GRNWQ;ILsvTcl`2dj`}JT+bm?Q5$<51DYl|0-;=15SYpkWl=EEc9ud`r!A7;PL znZbAWS2N2fd+g&Y7_b5$-Je5py-~^ZYy`~HdVlo7PqTl2ZANhQ50}shQjMl-Wf2@D z$=-{aK19)6{$eFTG$mvmyJ1b>8a$OQKo$1Tl`iO}su>U5?c+x6dskTN&Q6_oY$jIN ze*ok`sMh@35~eBhZ3$y!VQ2YoOPJS+Ldb%uEk{-VA2$J3(GiX-lw_uidb=uL#_81% zaq1y`eT2J1@FCFSnR^jOsc?S`uz-ca00eMJiSwK=6hn6RHZK=1`{|kyp;c$N1{i>_ z^6^Lsb(j2z0sLK?x`cu!yBEcqysj#3R{Drzi*&kYbK(j+Ez+oYdDJts*!RDbnsl+r z4@!dS)EF)Mm@4eeVzYQLL>$SX)oe#AF|akDxz_8M2dZC04Wx0 zSzm)wRDT9Sp#dYYfR;^vwa_lvT~)w2T^*M(>}bnw5|`)A`uGt$Kl1+i+vb&5WfX5p z4L_F9Ul*tp6tTXY<3zE_O+{<&IrL+x`7@cg1NX3UEi)RpQTq9G}Haboj3Shb#-R4=hLn>}yGKdCqbax>vV_18CL z3K#b6KvyxJRl39t5p%+~BB>L>Z{^%WxpKEXUlX+8k8+~#t(|PmJNS75gR6yOG8dIo zDJDfCKc8}e{cJQ9HC1v9KxSk(>Uw`TT4tvQJCfU-b54x^KtnVq*gY|jB5TN3 z=0js3F7@M6Whe*lc?fKvO;rNNvhFjRL#mj#0soG1JR3Cc@2OjHhR;QUy3yM(6R}&R zkTZ$fyx$yJn_=?an6hZ~)rr5Mou^A7l!7y*6}7im_#LsZ{kO#)FnZ$j`hwY%Ip$U~ ze@x@u(L-P2AR0vrx4s|59PtHUQ5!lwYALKv?yVizJ^kKa+FJ;mwZDGFxd;eL^C;Rh zP-?~d_gXwLW7wNEu&aEhRs}c8H9*ne?$`#mPGFq!kGpjz6))ta+1JFeSu9Ec(~%s_ zFx_+{-=Eb8ii24Kn0du>pKb+O6+WgEO1_a~UPGTy1pgSgy45l)iOq}vKYP3^aOh(T zHv*3VBj!4@p@fE{kCMUc}xf2E^Ql~80SnS zv`};M2=H1<#9}!lHkdy)#f|u0{tFBh5h$82GPnqY_3D-}NR`0K2tf=Nh)F^O8SI{@ z0mE}>KGk7b07G2_o!8ya3h^VaC(%jeGa;jp6=*2t3D;Yz)VT zQCu8R9T96ohd`QKwqK}V&vjIaR0-CF0(_LSA2h!yZ#ar|?nKgrn#Kcl z^USPF|L22;bPOIlLf2FEu``hMy)V#j2(}f`jw#bj4hOa&f?sR%tt&%oQ(wbMRJ;_4 zDyo}V6E-O8HO1+w@e<($d`fdQyg}X5SnuX!KbE-i4?gdGpB%-*6wy8d*~{p6Z=|1} z9LeDr$*)$W9DU7d~rSW;1}UPBz@;heUK zfZrD%+w$F)cF~bDAJy6J=2#XuW$&ygYtn^S+suYxa}zx^SMGDj#URX~?^PscLRG&6 z@0YiM(o5jcMdpc89=+R%Qg*I&EEJ#|I$!HV=<9R(qz3E*0D&olusCQNT8h%DBZ(?Y zXikf;dCf|c(qM=vKg3$eFwCY##mYX%5jx?N{CEBY6(Ei?In|(8rX*CvBgbv4nh5KV zsCN?mqR!tF(KtI8wxQ0WQ6FPvdemPEJWQqpb`Iu$dkIM`X_#OFN4&nb*T3L69=hHa zn;ugy3=b132EcibUFvskZ@xdj7k`JmAb9^>^n5x@QgU;TZH5%ZVh;|e*Gkbh3k2ke z$(L~O7=NvH|6(NAmO(wYVeTS~M+{N9CxVcV&L_X+IG07t?!f1bD>lS+ha&mfQ%wPZ zVx320kktq?`Ig55p7fG4bbpJcU>xY&rzB0*!k!iYm_p_L&RbX@GZo7`4xKy&v*z@; z8G*UY2hil$6P_x-=T%&8;6zx@pd*C*mA)SmI~Mo;Vx5XT1(pjVR4O@?`r)sYi-#KE z=%63;VfZ<~XM&s3WBN!8Lmivec)tC9Q4ILJ{W!CFRRO?ZPnv&O>hj5D z@ks>&^!MW5U&@1lI0V7ycJq@|Mu@&50AJTn$)dyTv^6 zU&owX zY-`Z$>=0{4oPsubsN=?eJ2XQI7$h*m1BF`yCKGFLvcmQTl4kImTup{a+UTbH-m((g zNrV)7H}B;PRCC;Gk88W%W#ljVJwijaT*z3xSVvikXng`pRTNnrt$5_oyG!kZitbg$ zzsWVq5Pi0i-C7BG9(eiS{}P|fFLISUH~PH9!}&+wD>rXm(!k8%n*MT1V(* zL@dKdgPMbjKm^!YU5T$_*MQ_C{tW_l6aj_DV`X-YTszTFnsLg{9iVZWX}Ve}HBb7R zCp<(H_Z-VuGqUGOurOtDIEev?=#!Dh199U2;3->28WG=ioO6qXQF#-1kM#zx789Vd ze3sX1qB$i&_~g+62`$&VQu~AWab=wquhfq-3AJTVa;mpH5HRU5_|pX=`#1Q`wuJl|=Z%BaX$*@w^Fg%bN!%J~%x)0Id`1 z2hT{xx#;igIWJ@%Y*0DjrHJsyT#Vcks&$ZP&E*fE!`I}G&}5;h@#KS81#e743!0C_ zmk4QF1T4Srw<%+#VTxN5e~pnn69K#TgXzFY0~H6=^|k~vo=zfoDfhGW#}9eneY$Z> zwKy;y{u=2GaN7vjYRcoPA?{1r15k5nfUH9w>VS<$mqgLUnz*j|5Ix0H#AJ}+(pK~X zZDFhurp3Ud{X7mexG5vl2A|@d%t;#HjIN1efCOG5O{gw2A8zbTGud|~{erpoT#0QX z$)`WmvP-lM>Ui1x{*QXTfTWi4Q0P<7itK5a9tR5Qz7%A|k~@ai*$~ z=?;S~0qYqU8*Oh9;2B0U<_j{8Y0>@dJT#M@4jOP@qm%fu(viw0V!VcB6adWIt>}SKat-yUV9PO@N@mjv%$De;-8DHy8?!?ArDUsoNbRka zeo#b5H!;x3L^RBcIB<<&4NSxf>u6kNI>KBQ1I0FOHb)O^1q1EBQjh{~xTPvXGu!pN zB%AEi%L1`zKUDqHLsK2#7DU$)vfEsyBlE6j4Z7EJqCaiQ>1ups7O{3G0JE_ z^ILP35rM^jfiORW>=Aw7_5MOWg&V1jaYSQ{>gqLN1@qpOk6;momq`M43dSscPv!1U zoyqW0lY@kQtiUqFAR?$S;Mjr07Sbz?bcrjbyo=rJu5DCwY)s;^>Vr$l_!($hCg)1D zF_D$t)qKrn3JK_r;8I>tGa`V|8sL@VE&iKju1-^viVE4$wyJf&?Ba!a(xHhS59{`v zCJSH&U-@vxMWdsaQh_U2JlGjc-`B>pt5i$MA4=-5@=vd@WKL-gMzI6?itu}3gmgNY z*#*56)lsl*_QQem^M@zTY8zH{u@&^x9kN!_9@h%k#RBB9)?8L2j2pji`R&v-T$DA} z4SFFn%~4P#a8c?a(tnBGxDesM{5VS+F(E0!bl-L4pWhYheC3+pD(Z)kJ~|2k38|JBjPi->+L+#lb`qM75FbAs}-t}dX&bzi8gTrdq2jCJb>n9++FV(**q|iJ{ zxRUak=Qhg9h>c2OWGrOWHxxKBnDUG20!9AY3(V4ob7R;UZKI}BgL8A_?G#`B6ra*= z3KO6q4%h7IGr0{X@7bO3X%q)kvaGA8Za*X9fqBcQl4if1nqyIKpIsLkYmaWhk(qXT zU5{6gEhk&}j{4xZywIvhmvTGN0iIEhq2e*te!b`IkYzwrVylSnx%34l3E@oCLt5zG zv`QK|P3ey~aj+k*RW7Wzj}rnS^Vv`2&|^Qmywk7;;dq;B+9Blvt-l8^~e#f%bta7?$1Q9pW?a;j4(`V;`-D-(L)wgbBF;Z zH;xsWI=x^TUyh(@XnsE%?bB!W(Pfi>kG;tXOaet(>DLF_PtJM-G zwtw9l0$w}XU+C-Kri&3VUH??q&fg7a&l@vQYs8KrlXySR*qwV*DvGFci2D7zG^{!T6xEMwa!>UNry81U>@? znArMC!|Oh4QY(6Po|q$?knGBlF)V%T9`1pUZy1-)nfs;O$k{aiB}!;%PLo+LxV~eV zkCr(Bx2ndaDm#AH!Mv<qQoxrp9VvC45P;gS zS2%M1)Mc=UX@hQ14s}CqH_dI_?7QzOxQnuKp>g7Z2s^~MNuW0zxJAmUu1F7VRv}r- zJFAtook*cIAAoF#XFLMqC#;I1GIhQ=R$9D(QOC}*<0et&nV!sL_hkdrI#W_n=&1A* z%@GI@S61g;B*xM%{_Jd;I zMIS^~kz9JlrPH8R5E?i6gZd0(NP>uqtwcK%ZTq(|4H_XF5w_uPqGU8e9c6Egt3$?c z#0SsJVyTuhP%il)QCAXcb6Ct#jvhUq)XA@|@kh|6Z|63W&!mx2sXg|7j@l%qsYe(N z=YU&2CL@nV>2hy4K>fDj;@Y(vn;?oe+Flt7LfbRo zQ)E@QHE`^BVl-Y({}XX2pcv)fx4uMOkOu$<+kae`a%B>q~x&2l{x!mnz^8hF6cL-P0m^d~svNL3n`+K@7Q#PcjGI zt|ooQjKmWP-AcWC=s($$gxi97#$g>9^mwCv_vW$Wf3`?;KeB)Tpa#I*oSR}5ph^8! zIP1l!4C4Q~|2RpXk11B!66f_G_P#c!OvI^(q+2NU=ZX~`gVFdvj8VAjeAeEv%$>{@?K0u z%+tsBY4`rM*?!CWb5Z;Hygg)I|0*!{ivIA@2$C|ONzsZHon^U*yUB~3Cs*ct6Z!SF z`L3P4n0`Bo7pKo4=m|xOU}Hz5hAqpKiUXwls>i=qU6=a|@T$4|L-$%MP_5LImW$^6e+X4Ot7 zx4!%}38;wmuPD*_B*la62a`EiiYbU4Lb^Zae!Mj>QYBfpLy_CdrMfZ2fo$AhTAccW zEO|ta$(Tsl08PkXqujWHTu05Q36jo3DK%x^nGyk_LDR;c5C=o0j}e$zw=4ZgOAkc`q2zVht;zA!9zfjGRCUpwuG1t z0xBxYn}pW9l-hkRdPecJon)32ZfetG;r-zQZqEP~u;uUvycMy2Pf?Q0YnWeY#W4v~ zT;SN6_3^Jj5oq8yY;;Ox9$M{Cb9>XkEsMGRJYH-E*oQZAw%>J3R_1Yd1P z)yWNkILygUHrPlzNk}E$Q@8|QRzj__0r{sT49yqefAdK^2j;L{D$9O_++DezpT(?* zEmr#<#T#B(op$>mM=JWDCkG~rMDpd)|Gk{>n0l}H*ZdQ5vOrAvtS(aFASz#`Iw zcWqnO|N98Gir;B;ESoZhFjn@Q0f4SgYhg5OBO0r>2C<3(Ws9G$B1Yk@xFyG{k#W~M z;SpIg4N2lu@zGTfXilaiNN{&v?*8ompzrqnnvXd;n=W4dQv3UU z_b{w$CS@OQ;_gP?0XGB9Me%(H45knwhfu^Wy*Ds2s;_7It=4eS9#Jts3%F#ob|@J$ zfIv3#TLdnXf{qo^@R)401Ei9(%ZJ>HARemy4TIV>-Jy1>T-V(njba8?^QxhHOjK=H2)5q*WD+09WHt+RtblPQMd3%OtuitKA0f!svZ>o7X1A zJ|qHCQlgvfsjjeu>L(gFxH)5Oz&@?0>M-%rEb^;U>e$Vg7|}toG5{@jtUU)Ye8sZ& z);mNZBu97A7ea?ej6rAXoB#N`%jBc>F)px+v|Hw$zr+E(x8Iz^ByL(YJlm>E#0JX= z*}xdeun^fG6 zrrotE!Wa2M^C|+GrNhgNgcQ}({uw2_DDiM5{XN%M2+ci|%GNi7^!G55j@sd2JEI?o zVR=E4-GvD;YUle7UhI4Txx>_ibu&NyL(mfDua4V)>Ls~ zG7p`4Ny;lrQBX-xm8l@|lvZ4HJkvz0_Ex|M%Dw$&k^Z-GY)A4uE`HZh!2O3T-Uy>a z#IZbv|20|PpY%Wj2v_B!i0Jzd@oXlF9gmEfDzSzNhJuO`?-B!D;bG{c_LOB@cET8g z)P(V($p0HM-#VzH(0hxe3GX@BoC*0xhQqf$V?}GnLQE9FXs!bJD2$51$L}_SX}$%K zM*OEjoBk05Al6i=ag5bl`}d$;b>xvzsU@})(401Y{Uhwpe+k3=M_9^#3DchbXF}^J z{!?53j5KC6?|;McALW1R$VUbPU3AUuU=0zUi1C{=xl%JS1b~zDf59S1{5w0y|IBW1 z9@M{(=utttbL;($9*%#|^RHzP6!NcXxD?^aeBagnrPh=@jQ<5FK{Rl)yts=HgxC~s z9Q-tnh+1?SdkPp%yUaX~gWnV|!v7#J2yj8u^RIrtr;7rn{~sj=UC{g^N=~ujRuC=d zUx@E>`=?v&VhXhvqVRuDmLWIn_agYlsoon=xDx^#9c5WKv?%BQ5A;u(vV8B6dJ2$4 z_iwW5|AA3`$u|V2|7T49tS-Pe2+S3~@%CN#pTPKkl)+EuajnS*tzQ~<*7{Q~$@@ra zSQp__yhBvg9r5hL%lWS5&efI&R%KTY1s_cs5ZkvodG4vKF%;gJ(PUQ-`&_Y~G4?IX zvo$|hq@OXa+O4($CS3u+s(5NGuZDlYqdQuy8`RkxCUIx%)?E9RVlJHAF1%bO{7Sld zo4UQ5otyP8Y%-_xPu(Ba?07YCn?TSYK}s8JJj>h$ynBS#8kaX+mu=S%1vH!Xelgx$ z8XXYjGp$iTf5#ZVK*g!UWO~&SE9mv{A*2NPB*wthE^GU^&+`Go;U&oPNG9DIamUQ0 zBG_38n3Eh!It*|{HleKQX;eBf;o8ZH9EZ0LYqXO1*(xv|(N}rA6hANXKxE{IrHnh= zfUQ(ypDi=re!}n70Wa8oF7zg{ z!YiReN>N^zLfFtb($4mq@$}&*$&#n9MK{B-Jko)*$gtSU+-Dbsegb)zZ7Tn@71So7 zycn!9PoX;C`@q(VDuN|6(97(0-Te`apF9FS&Da7YcuG*yhvSBeV&RRv5kZvCa zoAW-E$t6*&9(K9Nf=F0KWztiW)EwJ@^vfUUyuiEh~Ah(`Rks^aZjv zyDlg)m&fETk$|0WLwWWt6KyZ$-_EIRa5|wm+>nO;FhYq|a5#Dquz%b>8a#Ba#>A5h zd4UdCrNy4P$Qn$^!^&Vzl8db86<=pVZ1Y}7n&Rc-k6UF2rG59jhPy|3yeZLG+rEmy znNwUNhL}VD5ENblIanP#)I9Pldz|ERo=NJVH*eh4EaEJ-(;-;z;Q4JdzW= zX4N@FrBKI+IEL!G=rNJPEBb>rJui6tqVxvTmAqBJpSU}pdpsmP_g@50to2>r1PcyUsm#@sGmUPVbefs+mb!N54;>8yz3c_Zk zhFJ{ZOr|C@3h!6LdeiSsurs{dCuMI;%DTeKR3bSyH!&1dnmPg+-|y%&sCOQPXJfF; zs9LQs%NLhtZ=(7nuusqM)81}h*zRmZo#{2HqD7NIn#kNCximmps!|^ZixZ!8FX!yM zJt4vs0)W5ebM00WH7_cQ!qg^df$9f7c;?2mJwM@A#)(W(_LpZ%kAPvxZ9e!trjiny zqL^8JV4U}>3zA#YoIC_8z$VSp%C2Sq(OtiXMLL@#*=fE>kM5^=ej^0+ViTdW-U0!V9U=G0t%swNE|dWIufS2VIrC`t@;R7D0YdY zzjl4ceuDsD7&UVgZmMyCI0j%@yBKu~j1%d9>de5A=<~}Tib3MEfRxLC#mM2k!-{=iYw|9nB@ z_x-A>`D@bPUBGeEi_3eSA8dafyUw8Cm-3shFLDc@bHa>gK4Ht#Ozjg4EJ>q21Pu{1 z8Cz~N^IkGS({CmZuAyl~oX~u@W?ZlhZU^(qcWjgthI{H;~ldNSvinqzRDsVO2De|Y>sBE8UwS(n! z2T#{bkjrXgI3~ztVXZIfkImAe*MZX;W%Jj<`(aKBRZJv{+QW+}7n3!AtEH$*AKNZl_F{=H_O^Sr&VA3K)rDrs|R9t!hoX(n}?Zn93i*$i~j4?S)kSVP)8;OA%jx=j-@&wI$ z+a>~TQ*_^oLelW6C?0VI{B1HnUGm7BJ^c6eiQ=?vvN4l51SOOl*vtXHtw!39bLu<& zndhUtA8{zVcVYE=VW0~PeK^3j364K9r0Aops#AW_|4888@zz;mLf=*gV8kicEw^c) z^fpruj1xWlY*v25j6kblmc+)0&?e0HsL=vlu3M~xbHazU61*#`zDR}rLE%fbwQ8=y zj3C-Tp)7}O(`feiOiR#i{?09EOcxjxrVDn>eLyrX_ zp1!xm^tB3qSyVjP&*2GSt(9-}M(!EV%>VmqI`(|Lq;v7}UFR_VF#DjtMReeUd^B%n z%e9|iJ%ZAcR}|LtRnPHZjK?8TCLO|WY^-2_EWC2Kq+NnIU)(m?b2haxvVR3&+-~Et1DV&B1XNX<)U)yF zIM8P9F?8Ie`H~@Xj#JDHi?~sOLA$mx;-`q?Dm{HLOyPYCpi<$fQDLq|?fudF;;jcT zWBX_3B1P|Jx{wwfP~5IMuf*6Lm!1a72vce>Sfj9DMvGBSF!xeIY-4zy67${?AlNR%jHH_Aq&`DDRHihH zcc053-%m_X9u}rT-O)Y%;LME<69+=Lkvk*l0Cfe2I9T%7XlJmPx_RMqnU$5}a+o7; zOC^g0n*>_3sJit}Apu7kZn)wqLLtkJ@M`+Min0O@Bojc~D}wXjf|(4;s?Ihyj##}B zV=rw0B`}bKGe;$J@3mHJg{^-B);?Y+8)9iH+_vaQhqqfaG=>}bYKcOhoAQlD$f*_I zsIXvFZ!Cib&+4H3mQ2Ymem=ksi1O)$t*iHIRD{b@)9D?J=$U4!|Fu)<7SL%hqjG$+ z!ixBAGC1g%k3lpPCAA@YiWwRqN3(R+R2~ed)j-c)920eff>!ve(CN}#qEAGp7ZEIw zl3xa|T-XYuyq07(0p84R2t#SdE%OkjPbp*gudfJtsR+Cn?!Y%JlmC!1go*g)18649 z$?W(KFQAltPSs(QH8#3%hKvmPs2$%J?Zs10mAjQv%9d=^;f-qc#xz3WAqo#l$2@fr3^d%P67g!){>;C)z>P0gSKX?{C(xD+ ztMlcbQc||{b`YyxB`2^)O>O`*5n0(DWg%(z2D}Af7HO)eF($!fC{k)fKV9(X5*Qv| zHEI7e0|w1iPD`y_-UhA5l}qY;=o;C>PQz5gU{_hZf32%v-#$cFj7zTUNh&>Ug0S>a z)C57HPJ{9=+^5>DFTb@V*i_3`zr~o+vC2PEU6O8E(w@u7WVFDOSy2Jd|9nPB?o8wt zjsuSu8F@X#9&BM-t}KNv(z{(Jnmlnl`{Y%* zS{5@*Py4^`5%g)@E)3|MwX>*X7$2k(GgsS{kn7j|HdoOX25h~Yh%ax%WH1c>g*2qQC_7D8`PlsF2QP#GMDOLbYE}Hf!=X#xn zbp~Y4lQi5`y7%XL@%&Tq7mwka&PROIC|P!;t6f-A5ejmD*3FSUfY0a61k?HR4v?K? zn8TOwz7KRE9J!QP$t*3ID+2iRhH)*eMb7V`M_obnI1Sp}{(>7xU}LHdG+Ab&$4rh_ z22lf^6>qV;iL}NrfCjvC+jm!(eblpA${JDj)Z5r<%B%d-7WtpH^CGrRuoWsmKk=qr zAYWvQPX9ly{yHkICU_Txad&qO5PYz~-6arQf)m_5=-_U_-8HzoYjAgWcPGF%@9&=P zo^$SByVqV_UA1ekJyTWP^*nV33bKtY3u?H}rm%33RM&s-VRMR4#dPYp$d(-h7D)HG z)2yn{a2S(~HB{BNQxMM)1RnaXE&qs6W9Vc>b1S&QzsQ%YR!Tw#@|gvF?!Ny8wH5I- z(QJ*FMltCDS%4vl?=SC1bIqT(mm93U@1z7FPg5nrLIftl0wJN&B5Z@hR-MggBhkO; zE;s27rVs1fho6Uqv$neV-%ouwWOCJK_HF!~5|Vf2qaUK20k+1ss03Pd+fqXlQ5m=_ z4wXcJn4^o7@Rg?-zmR3%j92sne8Cs$Jg9tXi4tS@{U5^;78J`08-77k}hhGY-62M5q(`-0~Wf>=BwRC zE$Kj<<&#zS=XiLGN56HisYuF*tfI}i_}5=VKVR`JiBk40_o1xnX-lF(Hi#AsmCxG| zB_Hz*h%U;RvXK|xgmZ|fbxAtCDA0tkY!@$(Fy!bID+iJ$^%X&w(Tzu+{*mt2Z{#Ho zAI(jujILw>?x>NzmukK^U7Y*Zt`~G0YgeP`gFgYwzL%#*-ET|6{|>!QM)kD;Lb5O{KLD9!K|LwyTFG;YmidtLBxWZTXfvxs2u_&+du2caC7k zw&Q^IlY}r91KRq5OT{&aTM}o4GTF=atcyuXbWBtEhtGA;oAs7(bl2}}I>~}g z;3A~?^joBb|HgRw*2kOu$Mpuk(S)Z?Pe5QyxpvRa%>wyN<`MtlmanDI)RISA+UNKd zq3}H$5jkQBT6Qwzl-0LkPdFW6ojuR~WlLT7UTbS)2W#}G3a3RR2u7J-FOFG_u}}Qg zyi8>xFhq6^iy|K&gr{#=jp9UZnOv4nxRW}zzUqSTQ5-{C^WJrZq@36GOkt*fwzvF1 z1Rat~RD0yt^0(Ipu!MM zq8$fp023(L5uL?bT$GOD>Ek5f>cd4KdrAG6CDwdnVQ3HZa!qix+4%Uhy5!dO`2@Y$ zhwcC|-e?wgVeJ(^6-yTKgo$lM32TtRnD-po#dU+H|5H9(+ZJ*s#5TLBX>4CED5!DwGwF0e&vp|I&mntDEf4cID@O9rIho>)czT|{Twn|SX8OP)Ly3BIiUpP1(MPkb%cnE;C#;*$tJ}7KY?Ts+YM3cdsnWhTpDi)s*uyUP~sBa8K zj`(}steT$yOl&$dCKiHPp(Q~f&!~8Sb?38$i2U4rh^V8VRF|^Iat<@Gz?is}Vuh2c z__qXOk&7OQ6YVc)q67Bn%aT}GBM`#ZSlpzbbASa}4Atg|RoFnj#; z0Zt1&bY~y2^F!p(;ACQSG777Vi2Z3|W>iDHAIijzld&NUi>Nsap_VTqOs#(?$(TX1 z@lc@vP4`@lSt5$r$N>($Wo69}Aea-TV^SfGDvG8ek21VPO-6neOK@htg|uJ5w2Tlm zG@57;qOGy?yYB{x4KNb+q|rrS%xg>-qL-Vi_IrnyfJnJm*+?!!Y%W^=9WoB^mq>GDC)Ejoh+{P^68OpzN)bfaTXe*=8OJ6hjP)eT`S z!`Gj;2#9~-;p?`;olKJ}e)MBi8s>+aMYX|a74D{0$WRGRaK11_@>2wR_PK@MLN)NP zE&)sN6IFo6dG61I^9#j@1Z9Y;f*R03Ii_Go`t|u46x1sw0WbEqkRXV(eGe1R_&`<9 zm*F~nNeI}YD-@TG4}l;+Qy@cH?P9#)Z?r3{GI`u~Lpqr+SruROd7e;is&-_@i0J{PS8(gWl>*44V-3Q^DFAsAVOzDDu#1uhWMv|Xw^AI=ie z>exOfZQw~am)}M)u>J6c*c3*dnJTGeg>X(t#l9huwSsdlzF0|D}Zs=CAn* zNe#YV?Jf^h&bQyxWhT`9e>DHv(EU#8;U|?RJ%d6FJjU}*5Z9AGohT(G04)hpSrFl+ zk(i%OzwKIvqyN3Dn`2<0g#-+7UBmj*+Y{9*0iI!UjkybXX7MRkewU66kg$p0G33U6 z%rZb0XOLqf?rS@myTFiwdlOcrlgF_P<=|)o% z^*0;B94|tIt6bs7_)7ai@2zstNtCtwt-2uZtB+^cwTTt>UmEHQvexuW>xl18Jq2iw z77a!5%YN?f#gX~atzSzWqPkaBWaMmGsjzLjr?&T8h6ckzAuMpb%RqT+=GTrLt4)LP z2F+KULLo^r%9Y{F5w6e?p+W(?uTwvPHA=UYwZEjz28vjTsf}A-rCMeN8Uo08w+M3N zOuW&t#Vr9XnyP`a5a)$l>#>xabMP!l=wWH{{(2R?xs79}L&|vs7^tot$wYklC?uhl zB`;qZtI@RfLS(TUl0c_%GCG6kH|HqM%QsBlehWdLQ3vm(Woi@(Vk%JCO_8wtQMx_- zImmpW29c1vR^OtTtl3-9#)a!U^Cv8*c`@mYBNqn|26zEj-iKHHqd53a|x&jOZruEBM@!%6Eobfb2rnFvS@vg8&pUG*++qPQnem$qDf#towdI%@H92sGn`2B1{4e>|; zo)sS!5m6#;Z}5Qxt`z%svkdyJ?NmBTs0ZyJRQ*h>@DW<1(yZUbA*!quk(meO9Un~n zNe6`pnhcRt!<$1GVeS^?oNE~0o9g9)f|zB1gs_Er9T+E|b!NNNMC*EWse_-ygrj1` zr4Ax`BT=}w*6D`wzN~*E9C_HxA{j+7%S}8Oe%5@Mun1QH#wvPaiZiqaz_Lce^3{P5 z>cM@|)XV{Tl`TQua)%z>GAIc?G>po3yOOnrgpLdxvI=;y(zVJjKpPpRW;~Gj9-*r? zsZU+|)@Tw4`Hiyj-X|UiQ{cP z83{aPZD#jDji{~}cYoUyx!L%5rqcM;C>@n@2U$Y~2_}xRFYR!x?dmmlk^CT9j(R6h zg!u=8QG=Bf+G@zq!M-52xU@CNXtf4!Wa2BE=#Yi%3$YYen%J#S@VR~1nDGv= zweZrD!h@e$hIFI6GpcefAGKNI9|7b)=;{feQtMDRYyV=tuYVq9?(AG>7>ukxm$;Nn z#WR@EV_OERXo!|>TAN=^b!x+Xo)SGRfdU4sk+Y@-8OFUCV>NbF=6A<|Kc2(Yrrew_ z77xbuKd;nTn>_?*8PXf{i`Xvjl01C0#&~?2$+u+8^ecO8=FezI@%$QGeGM%R8PJSC z2|8I+>uHSs8ws<|S?bp7s(TJ=@+Hk4<#Jy#BwS|C;4B|u zRcW;gR}9FYnUrh@)ye%f&z++3+U>IL>!?LUQ84h0(b8qYMwY8^L~+|TN2}CpOR(S< z?_Km(>~!2rD>pkF+@!nBET5$X&G4{5#r)7b+zCuJouT5Bq_4u59BcHVxdP~JO2N;l z2P>;;woL}?zttacy>;dV1w7Hk$gL0oiLPBi3oO5UXcpInRRjzur>7`isOo$vZ5?qfAK9*8I`;vulg7^YkqA{N>T*p)HOSwn76j6T~3-^fbGdcFU zOi^FK@uKy#dV6)L=##nk1S(9q)}UL=1vA>aedzvUritAY*Q&;;6gdK8Wn&{Mp^$Ol zpks-!fF)-CgE>95PeVqM(CS@k40&@y<$at}YP67CKQ$g*CNt@Q#N;E0m?3X4;+wjG zC@eQw)oUm;#WkC8qxmP4gz=!5yvD9M{|E%4d(lS!KUQw5V0^(!+0d19G9|1ih8yx zW$j94-SN+BN_dx>9yGn6mYje80)Ae8<_(%R3ZKVrUL@zT&rd+O;qYdpwLHJwzQIQTd3 ziWQ)Nj*+2FK^Kq%!gU@al4b>PT;t|#ePMVSQu*b42((&W&pDJQ;GFwc5VXNasj9tC z7#kE0o0>0>Z;OBvbkAL`1evkld3JgyO{Hdj_7G{F*sz(ZGJVE5HnPcgK54DUS@MyE zP9mgG_Y?kvd;*xq8S5b_^%A#(OUN!>yFRI7P12qJWD$K0x(WEen$?ich^UychOx~K z`mo>`E*Jkiv-B$vubY>VXE zB5t7ztj?GvmCV;+0x!}ivBXOZ&K?RKvV+Zv?WM)+1hx2fmzGM>CK&!M98<~PiT;xC zvORkUaH-phAO$>>`6-F;o5T*kBfqqhtO---8v^)AG5_h^v2^qIG-KrsqeH zua8Cw#31MH>B)-NtXkN&i)VsidbeWGGH~yvyR@7+2fk|xrQLeSKTJ6->*c5L>yZhO zDqU2Q*Vb+TYPZ`5dMdF&7!ISUH97fIlhVyaiyg;!K`km`WU8?)bQS$XXKdwJP4Ua) zO;7al4%|~j^#>W*RrPMm3`$bX@4f6rFT0I=(rz^^$f3k40~O&~)4L9IoG24eUoK{q zxaZr))7FP)OZCcE=pRI}rJgwj<@0}hq~Jb8?$+V(zv1<&ic=Gm^*i90R5#@kr+v)lD0%bU+!S z`hg~TW*OOMd_Qcj7Y(OZi0|{udx>Dx2(=m1?%k0q8%GMM-+|>GxW-v6als`60?zZ@ zpiO-4sZOQ=70$;hEw#vFm)+;ZzD8OF>At%^>t58thyT(Zj^s(|z1Ofo2W)GC$jBPNdReQ}xy=z;;wl$g^4ERmyoB{PJ#=m zGE=-o!F;G!k*w~=E8oE{e-JD8y}(6BtARbt)oGNel3`?Nfo2v9lUD`T1LlNFqA+My zs$U8(T*~A&fBI723e@7{;q*RID1(%>lG?u+LWTeNuGnBhrlDNoj-MTQhbr4&D_aCq zzlB<~`ElEnTbR*BrRNlJW5xL0JM+v(w#YHONH_;^uW7A-We{3%@{HC)=gFqM;r@tP zDEP;kDYhWc_tzhNG$9KZ3v72rnaVhqF8YLLam!)9G-N;1|_hv`s! z@68B@y(!fMu6oGJ`GYj+4dfxw!LT^*GK{Ur-_YK~OW$Fc7Cih5+W6dO$aez?l}k=6 zU5C-_T!gFyU7P0t2?|1tFAO1kRYe;`MN*m^WF%7)WnGPd$Huorbl)KwJ~?Q}PBe(d zrlII(Au_8fMM$1v?Lrg`1s+jhBmpjgy^)6AU_$ za%~DpoRU=ug_q(_1^pGo&cns~fBoQJ5U<&hG(Y(K$3K_4yOZTtBa%*Fo0Y=nYQ!l? zroqVgm7+B%>r)z?w}ZsV%*~A3noyLwcX5(XfAU?51%(7;0Qqr*132p7vf>fC$ac@v zp17flu^`($Ykt1+pkuDrN4AEmPIW@dBxmA*1N8(;)LrC_WD_K+|gTRTGT&C9m7m``e_`db2cyhIOx9(U90i1{(}_3JV6YMHEcJvZBb~`+iTpt5t`)S;1H8b>w9oXQdKxd1 zS)K6WR*zs7f~^B{(^(xBLAv#ON7lg$G8!aBj}i=SjM*~3MR7?bY~avQgRX?K22OwS zZ-Mn}@*y_Zi5{%(r)ICI9_U;}oq^#zklY4sv8w`oA0WukV0a+w87ia-i3LeIS_?u6 zid*8Df$b@;D;CGB*Yvb6-Q7~a9v9m1^X~d`qHdILB8pTU=s=uFq7Jku(-NVz8BNgm zOBh52&3-dH>e)g^l+Xy~-}#!KAC-6)mAOz;DF#rr)ePxSI&}(H|Cud<7ehM=y3LCT zl(~vumCdLb6{3prO?6^j({IWcpP?yx04|rSE?4hRd_ml-cF=eI@QV?|$`IC&RVt+V z(On`qLnghLL-68;tC>w$>7(vAeHVqe%RlVK1h5oY3N9jJQ(NIzsR(D$n~3?SK8N#} z(_7sWX)s+!U%${d`~r7b_;|bs5+Pu1pJr=&hmDjQjl0QrDLc0iOzX#H@%b|KPtIDI z%sevc>L_3w<&%92%Dyg;m9i?fik?cf{4XBa(ao37&mD znq!WOCcJq3MLxIB@3`2{2WC=cc$caNe zHL}Bvo#GxBS&Y+wzh+wosy>hr+F+%#-=!s;XTtYh#74R322Bt8Zj2}NTSO{n*Ke}# z%K~gC?VILB;smJdj}&e}fmLV$ZxdvShT2w%l=Kd62_AP%GQ4!&F)|&#p^a7FH(@wa zC6IAzw_#(DON?DAM_~$5MPod-C(u5N}R@Vthms(H7^IEk7j&GVtiuQ;+(o0xe5p zI@=4()l)vFNL@;uxz8}rKKC+W134*J*j3(>ojBb=_4|z38^=X|a z`eeInrLrTCBnD205JL9#UpF8l(G;Si!+eA}4Dv+$35G9Suxv1mKSP{n`|fz|D7_O_ z9@{le_+cgUUH&os)Ppj_4BH%0VEcN#0RbF$poiB?Z`x;#!Ro@FV zU5g2B)H+#ZZw)VNdf90**ki&Y6kos%S0FdlRAPrB%72eF#C#96A~JDCt3&|wBT@$~ z{LPG$?!?7~$%jj(bBGWUuzdPU2s=y6UMjmimW7X77&@YUlQ*|ml* z{`Ty0R5^klw5}X*@;g0_gweZK-WByw1&A$VxUMq9+_WM4TWG7Ti;6n#fuf!FAx+L|_+L#28qGb638oG^o^YCe!oCEm7zzdz9UWW0xA z6>iGaZWK?RI{9azeC4^W<{=;N5=y-~p{;MWMI-J9$a^PCqm{vU*_?Fx+)T%i>%@(6O@Ao3yr&C)` zWgyMQK?=W2NhOfF-oZ4tuRDTlL2sRH8`duW7M+eN#b*MdS(cc(etYqLN^LMt^dfWt zq~8X)LnoM-E4jpl+i_Z9U1y0EZPU$U?XbP_oBo>q98N#L7gupNo4s%M@;P>(_xhPN z>MXm)#|<||WN_A@l)pSp7{nYEzll(isqn~u0t$4OM4Y(5Pi?;VzW@En8qL{^Pdn18 zux3QM`Yh`B!D5z(*?Z#B#@5n44Txo_t2*=1^0SHi+v`MvYA7m0>OyW1x|4*anumDx zkIcAp-r<3@i8bRv`)C??-o$m15%Y+S&H7}GqjlZ}IXrqqZBN#5Z-!>E6C>6QvHX;` zJy2xW&y~1R&Goo)1R$+a`C(PymR3l)XU&Q$b9SpPYjxbBackN4Mm|fWv6`*Ilaxak zIUO?!jUmS8-yQuTGloY5wAhO;y*!4wd#HdxL1!ekplNlg*Gn5x<}nKhcB0>pB$!0S zy@2koR|sq(NG{Zru0ZW1LVl0g2LVvP}g&0c*b{w8TbDpjliJCKw{kUNWarkJ(+NqPNggsc7aG#c4e^GV~vd z8*o_!Caz){D3$hQ0SDJ__866*75Z)y({wslJOwbmC_)?qwh^{EEmYMg=kTod_6_=v zkG3Wf27HdgnQ8OcnSUQOG1Zo&EB1neKSU<+F@vO^m|0o=@hj1O8jaFI0oirqA z9O@K*4F2|ZYcz?^2rP2CRMO(KTyNE>PY&5tAZH{yJtEc%Y2uXOFW>}#=F(dOIo&}FHMwM3;p~yTIV#q# zqA`~u#Cb}a-%j5;!V|p-*~??(Z2nE_p|?{XZM^(RInnNz9o3@HDxp$1;|j101aIBR zXXUBPz6kJx?zkqh`}PM&d0y2&P0(Ma`+*IxB!9pnC)5TeM{-!7yW}e?>ZcsR^q4_^M+#}Jvr?JuaZ#=dg!1mM@2GBEZ4q(RaKRUX^;dhp7ntVk3vOHuN*Xbe?!k3~|XRk%*?f*7NK{&1m)wE;L?#+|p`H#Vmo{gOY z9JKTBaPm?BfxIl7-0Ym}>|k+r79bBVfSZ#7$i>Y90P?b@h$2Gbru1|}DWr(DLs6$N zRzd;3@^G?nvvINUa)YOFu(0uRu>U8_!Op_L&dtpUqyTaPSh#rsfd51IqZdp?P2T~9 z3$_4~8q6VR*8$EbfE+*;UN%kuSe%`Miv`?u!43p3%FfBc#RlN{zr{nql9>HatSMEU zP)H;|b^r^IgOdj=$;-Y9VPWTBOQ}VG#QV=?`V{OgD7TcbHYnDwyZ{ye zFDDy-13Zh9g@cO=_@B+-j0V6ClZxKd2pp}_9?PX{|M zCjdN;hld5g4gAkt>|6jAa1O-5#Y@4(&BX%b=J?<43QH000DB6+#=^<^9h|9PD7Pg3)8aZ-x^9_5&~Qf1LC`xgKtcbPqU3 z6ac`GfY<^5pM-BhTi%{}7_;k6b9|-e@v-0)76Ha)IgFY*)D?%xxF0@3pBJ(4f0}0Q z)E^S4C*}5uY9!-0HdOVls;caN;zdsp2j)mf6(ySF9y~X^wahViMhoZh5RUA*Kl`q? zmKr|-LueB66BS0~Ib{h!1(p4U&Z7y=d@S9*;DqnpYxvB>jlqgkRX3_u!y`fbR>27G zjy%(BkF9q?6ZI3Ru`A92%ZfGDMu7+y0$xRT$5vIzLT31=(N zC9T~frdax#mc}ZcoMU8aYPE@aSC-LK|0ME{6!=`&nAA$LooeGYIrfPyy&3(5G{fw! z)ZPqg>wG_5bC=0$58a66*2#Di+&CA_Pqvb z9^Xb!Uv0uUtqY$7(j66IwF$)QA0j15-OYW-0=lj8%=B4nn-DWk*=tO8DZp>mNv+!_ z*Pj*Qd7pDO3RvLU04Wz&*-+&ydnd5_+O;;DhQ3l=KL~J|?L=%>N=nA{I>8JYvzt4$ z_7D=POVWx4Sp`O+IgyKAq>M<&(-Cw3+7&f=d31yq^`VgfxwEfxkS~Vt-ZYL8SW~P= zAWgHD>ShhU5|-Ey2Jl62m?nqPx<{Z!K=HvkC-cuiZUzk;??i)= z2bzZpjS%=#QO^M@k}ZsS>X(}&+z-FcI4kfJ4qdgA+g}+;?&8w~4T5?I(kfDP;jm6e zmZV#ggD?6(^`8W;Jxrhd+jv``3yYUX5@^-mr6=Aoe|%V&=rd>Y%$`cD<<@4_Dp2xq z8%?fq>RxZ{K_5HqPk~9!KTHE-yqa&m*b3eV8%&}O=`xvnMVEZD%OHC0PhMP8YH}?= z?=C{`*!13IJu+*)@Mxi0ed0o$X=?$@)}RM!bTycPLgF%nuwei8t#yMwAKLAu@m8r@ z9Fv?{@>vVKlKE*~lVM1{dw*Ru$Ljh#a~JMt&-xNHnxxhD5pDF|kGwuZ^hcuC^DQ2- zf+sKFRShMsIxA}T<$ILa_MhiA7PUqOW_9y0YFf`?Bb{vgwziPf=e+4LZ#y&r*V5~% zf9W_^t?bj_HULVZVqu2Y}psV7zn`a(E z;rljqOqDASz|?av3vF%ie$TO1%$^zdyex$7110z_nLT1#?=r6G4lKaSr{m=awDEH) z*p&~$Se!P@TMBnibV`KsicVI&MFF`R4r6`*_W6nQ8lbal`r(MdL(f z5wV2k40q#)c6;s8TzEemaqA&qiknnMQ}k1I#4;LfZ-3J@-pME^=rjznjS*#_K%$mr zf*fsRs7C<-*O5}-UFCm-(8hm@%qx)-uAR_Ak?Xl-IQl2}kP0L{MWQ#y6Dkj7xpQpP z(Yg91bK>J#eky;F;Z>y9HdP7313rapHt}m{s8Jq2j6j63=5pZ@YSnJuXLB_2rZxyLayyY)ibye7S7MAZyNF+U zxb5@IGC74HinNmm|6t)}N%y-XumA6#-ZJ@1Eaq~@pSr^(^yqn(2w$ruon{qpp|LS( z_H?t~{hMI{rM6^yKoK{|Z3=fK-lW-xAna_0`T1z*+dp*n>9XH(RdqP_w1W5$JwSQP zJ|qkiUs}Vn(*`e3ITOYi-m9+BwQ;N#KJV%OAw7p;k5So~O<19RLLmH;a?W`g+C1M; zH&>C%{<>p9nN<}Wl2O^OUNfSPcGpLn$libm(F}RfRJ5jJ|8_w{ZsT>2~Qks)BGV^q+@FYmHprfQE?x_Uf&t1U?O>bu)PaJ%)zwew14xf^-{-rQR$xQV6)ZF<_p zcWL2Nw!psqeZ`~i?kPbb{aK0Mj^F<+61tMAjTBPe{F9qRJcqpNyd;DR7hE0q0TyyBdE(_+7G;%A>1bIaY!#5$6AXoc=O zH)Hv2iQG}n zO<4q>w4H0W?e66)1BOr*TFJi>P*zJVO26}KkD`|(+4_C>RT4zQb*|DSrZL@yNf|By{Xv+)8`AfKTqzyqHDA(~DJ>VslW5t)WUAO}ZR|5cj71!f9x zgvQ0j&CbP5!NJK5jy1VBz*T2Q3`p$%Vm+ahmT4#ecm>`R%1)TC(CnO?&3H3V6fht` zv+lzD_Qm3$iLhtGhQ*}Rbb87f5=|Uez;5VtO#MS!ZF2Vv~%yk!7;RW?jo?JHU$` zxaXhn7Qj*CjtX)NKUq7PGU$ATUcq~$k&2siB+t~GMNZKj&oG)W(&88}`x(xt!4+pZ zfAkO+LvCcvHbt}+H>s6P-2pnGgcr9#k3WL+iJ2|Cc{uqxNu<>xUUSi0&~iGyN@h!X zCoVntASj-kM&5>SpDeni&4QDx2Pf$GT!G` zdSk&vtya-{IE)D%Fsj=Bw#4YNR4GMY->c12F7M7#w+e;2Ym|+0Bmlx=O!+p+ix-7e zOn28qlDVG9fnkrdH%O--;SzqNq@}GAcJ}epRAr8hlg=F8hzrIn+C4~JdH-mTtMZ&> zn@cOKkedz(HK+We{HTlIb43enfb5%0>y@2npdhEtMTCF--^7K8uS0tDK2))_!qixl zoDBh9Bw{5qLG+G+WdR_yJpl|F44UHSeX=0te@Z;LK@O4@^4F@;bYOs`K^vZ&IO&d4 z*epbkKQE$ERt6(h?A)6+N;3L*u-ZprdL$M<8QOZA#x+jxkM_oS%zu%`PuvE1Y?>?n zuuNv$%0vH|1&KZ}1126?G1=oKF|_|XpW?DDNco+>1}b`$nFAb`x?RTCrhgnEQ$z2f z%9fPVtU8*uHmZl=*->wbO=A^ak3u6iSuq+b_{BlJWw>rye%oQY4Ihs6gv6%}(XMQa z_1cH}L%6$zAbBme9l^nz#nggGvQwkZZgheJiMncPaa1ji&f&rL57^tvjocDONVBP< z8G*C<9NEI(G3E^74|P95l*}*t=0mRH?cF?}W|d^hvfRTqJ^sQIbwrBhj5q6X(!jF6 zU6O;}UybSLD29B31)ECP?7N6#q+~*|V(f+0N8QF;r}CrY*T=!pRJISVFn3sn4d-|D z(OIm(Ld#%73}t>bKgPw?kL z#ITa<;`d*vdX{4CCI5mZlo+U-6(VnO9um<_)v;$Zekdy(qDW`9DijV3<4`Ba4J^4J zAyq-pn6sD+GnJA&Ic)Y_$-yG+wobPj`>Q6^Rm)}#DdsaV#D((hN;3Z0r8a)@mS2jh zM9g<@FGR2eA-TaGUYneKi@6Vi6XKATGKOCHl*6LZ`uZE$WPO;H5-(Ll_CL;|;k@&j zLz!v2P|7=iEnvv)3o85m#Pu5;ybz5{%;?=O#CX4rIUf4JO~p8zqiWCcF)bfgl)5C6 zodtg82V%OY`+>VXv_FbPfCfKtlcZhwnUu8n)?+%5I+2ngP9|Op8J)}OJ~LmLc21)C zv9#z*VS!zGT0G)4UgNOwIUw%#~xU*$N|iG6gnf=Bl4 z733eOEp}Mjl4>qY79FYWyFb&CN+bW@koEw4_Xq_%^zd`V!*}OrB%DuqwZ3;3vEByV z@G++)o^&z#A9>ZRN5E#T$2`FOD0O7~YNjY-i+;~y3o#`?u;hUK>w6zAQ?RkfbhJtc z@B`sqWPoye?UxO!o|YeY6XfrNe{eH&tFnkhYnFe;dKQ85OmVjLFQw@?viGilSbWjl zwDEUV&|LYJL{n9;``SEZhFGF2iohJmp$(yP<=}HUwMlXV2AhJdn6QReRda4U6`_TA zE?JJ-KUB&2#qo&UoP8@(#GaI6e~cS&i;S2<`?o+bzRkPpX}L!?%61fQEj!buj6a4z zmQq2vzkG@-d~3HE8=uo$)6|+oE7t3g*xdg?i+0eBYiN9!eHNjd3um_x$J-Iaw1*?@ z5^8iU+P<=*%d1hF<>(nFAmp{i=U#4Z*O5i1EOqn*@#d(6WED%|2HZU6f>8dIAA#en z^E*e|uWP#qZ7BIx`gJ*8J<-q0=gEiV>4qQ9`lTEV+>bj_n|AzfDgkokf|!7ZmTpe0 zZ$V4vIehx_t4grps!WlRV#Wf9bJ;#>_mpqoImA=Gh{QZj;Vg9)?YL?c_q-_YT4>}? z{N6yW>u8N>KYh1tTq$Jp4_s;5;nVTf(vn?+&7Kixrj3K7`(=M`3|q{&2ZmVcy(Z51 zSirx9jm*L8@qH47(@J9IhbCDLyY9+rH?;9~{S;PDPC*vhEe~#n!~0m!dalfcO!Da^ zN;4TTb)Uu7#w)xFuj?$ggDelR1RPmyh`PSF+E0-(h~}PpPph|q zCLJ&fF&rq(gv??6f7`N4@8JdyHL^CtdsOx_k?}Tm-7YkrEPRh_!34+K&4dN4(9zr* z4 zk#Ae&ugo%jO%rd?=;M`Q(x@sQpsw369Q@_;Z#7S>!TzV*Ql@)*ky$xr?aHTAX-3g- zKa})oc37*uWPN|!Sd+&)edas%L)nds;>cRm&^YBpAWZK;L*fPyH2jad`xIqX80?g^esDddORoU#e?lWDHr^D# z4U}Vw>#{7@QCkHz9&_MyHkI4@5jQgx?)mv9WWZvW!mY zpFz77R2$VVZ$@G&I9Zg!(&aV?7`qA>I3PdZNOah!w#2tP`>SH^IZ*L{5+<(YH-9q- zlf=N|KzSTM$&`J!0xNp%{lBr#Vr<6IKd-U%HnF9!wn>iqUS=*x4Fs(MwF;rg%s?Hh zhWQyQ+afoR)j>0($+$(F}y_Q5=^f0r7v=JpO4W4505G z!*&h2(8G1OIxuHN#)o@}qf&E%vfQ8Sl2h169O1HJ=S59)CsE-W;~K33W=)~V>5!%} z*)kp@-%?Fk^tN$_*l9QhMl+(UllJD_2_;+1m{qKm=9aYQ);u!5iZ_3G0X}mWtDoP_ejZiR z-2N~}?qvS+dQ!R~B)1RpiPM%eSh|cXl9LL?3KLjB1Hh${la-`^UM{bMy&pn+UL4YW z*V*VVLFwfBdU5+aK-+sW=94qluIG<85L0~Iqg(S)l2I7v6&K_;2(e2?N6@@Utax_L z6VLICyNnli{Lmh`tQY?|qWBuiO^4rD_M=W~2Y5q!38=McGdNfM@iK8#-K{H-g_qP= zQJI*&6ew>n%qO9F>v1dXA@q~TYs7XoWz}crn=Q#LOQL7|8*mPR{H&&GgddkM@rA)> zw|gbVs(y+u;ryP7Q|(nN8x#%g1sr01(6Xs?(`Z*hu8zWPI=Jpl_E3C54o0&lRK2lG zN*P+XLzr;9d8vG)Z8diO%|-N?z{|PP#J8C7Q%yL<&F9#7z};t~#U`to=!fLcDy<*m zn*#p3&{r2o=X?2{PhFDJb_jY%)hyHYu6jsY-UYK^wY@=yWuzuXDG)U5K}RHxrbhR_ z!?kMPU+;g`NS#rFH-s3%AW#OwhH(gF7dDKVV=5R&QLlz)==zsNmxzZ}@iQQukD+en zVIOYRHO~frH33cogpwq;Q?|<^TVM6@@SdobCM?k#);OB>ooSa1scyDA*xJvWeXeNh zaEZBOJ|6)d7CQt4@1S_`Ju`9Pzg1UH{A7C-AsSME@wC%A}27ICpn{){}(4$m*Dibu$=8fJw@cw|W{Nkwmkp%oo-QyDN zq2NBsX_G4H84TK-?r0TAWU=A=%S7h18`&3gp!sFU`${et1471x-nh!J3(5a$$*5N3 z{OeH*)U~A2U=RPVf6I(LaBqc`vX4!49aXB0ax5aX}L@^Bj9f^0k5+6tAJC z75Ay9VYDMn|;UDR|D7O3?uC8sk6m28z3DD5KZ=Rr^{QI?#@=Mdr(x`o!GgBL- zap>4CM7mlTZBoI-(hF*U+-_Q-n$LVx?@ZmBpr}6FbA>U<%4i0c0(W(vox3BgN>6ct z83Vg>)pMVaN=CDC{OoA?;*m>Mx~}E2JI(uE-eTP|$ENL`%WT8gv0q+He5ng9sFS}R zM?@o8Xn>%~=2X!?LG{dvT6%!VqX!hNY!h00nW7mfcTx_IJ>rX!0fi;o>!E_3;M?^5-dF> z1Gr{+s?9Z~u|#E1XrUJ8K5vD<2pJ~48YvLB_MVS{?88u7cSbO{?j^-I2tW_vT}RF} z&cr0s@ey79g||L2-Ro8E4L*c<=pX)2Q})-tk|~YF=PJ3sxamo|$!+@O65>wp&4|}~ zl@jy=O-MF3h^n5ygNd0hxam|5UQckkO}tuZw*hAK6+>?gIk=l_dm$$MMDTLv+A($0 zW0`8pS z>;M;uDdkuW^Mx)l^T)J0K1X<;Y{e?VR&h|MMO($vW6)NY1k_g(fkT?xy(*NB&@lBf zVWo@>icHO_S+*fb9{te^Tvmh86`x&i7C`nPc8o@{9o5r?NLza2HxFKsAy!6Q&HAPi z7AgLLb+2#ZCkA7QEgNDR?!#}>?FS3<&IhQvD`svFNXGA0d+~x*_nMy-24gm6-hV+_ zgPMPijdLsy@L&m|^h~|~Zi_`DyB?QbjXiG~54#OD@2!tNyMe#_@9bUvJzn!dFT8xW zzOv7YQ}8e3SSfHlqd5ZiCdQm;`jsW!73~XQ_>wgP7`|>D0#sH~lRuClzuJEY1n90F zq_P=)b5Qf$SaF@0n>CSMYHTy)h05j>W+(Gk0?li9lu^N&5@u^jJ*DSBYX@AIf=@J{ zscvHgtJSUT*jCB6`x+Z&gl$1ix5(K2PiO%JU{7J2g3?N<4Tg4v0&t|T0buB0*x5M% z$;VJ6pr&~SL{7%s6<(Bk7Jvo%1{V%;x*30}LKJ$pGZ=h}k$ivtgdy>yUK z;tLVEKSj&R9`hlie$anJ-~Abe9oQs#H}->4>K724I;Sqk8{t z6p>iuzz}dJ343ldi?R8I0(veY{gMn`f^7IHu-Zg_Iqqr`z0^#wQ|&qER+Cm(2g-v4 z1QFzn9fiF;CNV&H6s{<u7kpf&c;S_fKB!%MMUY;jAb5bCo16v zDD*FhG6&$pAHDhc{r|_+JB3#ktx=n?ZQHhOCl%Yao!W6KHY>KBif!ArZFkN&e|JCK zcl%;LdtI!x=bG~yW4yzRY5&}o-L1CV4mv^r4oB?@^~J&?oTdtY^)vEymKHezC7uPA z2LkJwAS^ZK>wLV~z%P=fgBM0i?hGC%S_4DmPU!#@sDNAD4N!3At6^*vO5na@L%2(hE5C@RUq@xey!9 zk^&1(QY*W88}NBHiP^x1u3aOXSbs?4wuj%1u`H!ZM`E{2mC(9Jn>+ya?9*J zVvm61j+UlOCz#8*a4b#7+-sVWs;k^ndbOW@fA)H>CED(pwsaty6n zvD_CT68Me1cT$L+C85TeP9_tc@a--@l#VgNn!|JNiU@7bux^{ufis5sjQ;*%wxEHN z)PmJE$mQ5EbsDh+HxUQ*uLDMO1*Sm4Ja8w#CT2edqF_KOuni}4>o!$sDS}8Y@gspO z6^QMxG1T~rp~gQ(j-ClfBHhUwSk}4-I1Kx2^(?N#v+X}7aJU6~(4^{bvMNdX*X?Tl zs*j*q6bVf~Oe^U+)D4Ev9hz60WpJcWko`hX6PY)zc9Axc1?ep0BLG;#;5Tlu_uUgI zIk&m&QV#F09=>j5!1vIdWctK8z6X2u;@){5dRY-xKFq3j=AGCCqtzj(XI$c+jZ9#f zlej#2>T2@+1MY;l>cQe=V4W6~p5h4Nb4kUaz|fsb5{pIC*suA!TcJe#SCIK_L+x*% zy5_ayG$(jUp9)G-dKZ8bqp6Ool&WJ`M#rO~`{V6z%~n^dSu)3=EqQcPO4wSJStf=; zP<)<2F{2PIWRZ~Pnf}K9t~mN|FYB4MWnD)gCY^@E=rxSouBbp#lS0GET(xWK%sNul zFaN3HD3-rCnNo=3hob{<_o;NXRfF_URrw9Ik~JIPWzcb63>W}?k7)q`H}GfUJWu1d zlFWE_`H0jc#d_D|oxk``-0*Q{6nZbzb;)z(fDL$r@_idhIKvEENlYRCNk8Mufmw|2&2d(H{&_Usz~`Pz;&9KWZL&H zXMm<*{^!unTM~dsl((e8IxF`u5 zE?smEDFJXz<2cI3@LW5%v7(@1f@r`FGwXQ{{#|^Map;NFT$v^IJA?=0{H6x%hQl@~ zYt^7IJ@yer4nW$GTEdTsZ*o#!Tcj+#ajU_p{-w*Tr^`@UF-j?MnO*x-KqV_K=oPli z2$7exmvnuYEeZZ7?w&GZ9{a0^tTl>tZ_C_HsT?renpUE}>lfYfzVwLNSx3=QD#P#_S{~%T?fX4V~sNdrDj;Jq1VaZnpAE*kx`wmQV)w`eLD)>_ZV* zNX0>;$YK38!SB9UT1BW{!17YjF(;o%{F3u3r-;+>ij%I9oxxEnMdJYuWQfY!3pxvJiq-(Ygt6Z}{F0+c!ZwGgHeqfc zww*SzGzNU{5*vB;`%v#PivLqVUm#;uJ7o>Msp9~b^b!Wq*5qicr~omv*{XqVrr}6h z(O%CGn99@`qbNrFT{TJh z^rgxm9>Z z`S_?m9B*;qcziSVzkLZ9xaswX^mpQb6AZmDwA0#-i zDp|ThSr2-O1P#D-37Qc544KUh!NQ+=aS^T4+v{x#Hz=JTPBLzojzx&3p(+PIb8aVM zBK|itndScxfeaBrCH}juxdm}dJ^e{OfHAZESXHKOL2v;HQsF3u7kN?veVq$s0lC!P zwaxBIJ?=J?--L%JqpMk~k8NSOLiL*0aOCl525+TlzwVDGZgTu3LXbxHTm0~{A*)8L zzEaI6^yhBS0XdLF;E@~X4`TdYIQKbd)Z84_PP7w07NaPo+A(M7V~NDWNt&ZB6fd$oSrEM zDDFNHQe1Rb6t z|7V%DY`|7G9V+m5;G!9QXZfT~H(+pV5QWaua+E365TOREQ}Q~BveweCs^@X!E(NiV zEIeNWcqW8N03ldi>pZhA;j72h@cS?Ro0wT$`dFTA9|1d+qt%r=(u0t`)7wj8*BLU5Gk8*}9SNxaR(A2R1YyH(0cwUb!9SIHny@so0 zPuK8!Btq=zgGCN>4M^X%hnmDt3TEinA1O?bZ;`?Id`W2hcFx?OPQ?{)xw2s>d^)pQ zwYL@`(geKhIhO6083eqo2B(sOSn3v;&;@|cASlcGgPbh(B@%^ zxnn;5LcbRhA);Ny#8F5Wcl->0`W0J?!@I97& z&%Kc%O`mHd>*#SCI5=b_+^RE-yib`fWz0MZPsc!8byUYtrM+F8@K*Ro`f;Cr=Sms+ zAQU8GYvP1K?80XO;9_NL--Ev@bdeYC*D!k_EYg(Z{(`C&x6Ydit;uoshVQ5M^BtRg zH{9{JCRVp?j)JiY?0oVIU&(j8qe{7=boV<^qCgQxA%MMU9G5VYhG<`clSe?26jZv? zlOi1?wdLr*0BvS87d~dpK*JaXh2wES5@}9an?-_4H?y>a^*YL9$0e&``OhIb71cpR zh&h`tj$^v$p1ZM=$05edOT8#ZXY1s3c=a=yZOjX18iVHT|5o;`&HshcU_h8S|6>g> zOfB8|vB3I~{DjhUkw9TndtN{kQlXB2rsG-WV0d7xKUUCY-dB)C5co!r7RWgL{X4rx z4~dv&{0|UuV8D+z_n^?x5EM^^b2Fh#XYR0Ad?-bdyi_)J{hfhxe!uvAV~byx@Y07I zSGm2~_HDQRaXns7N3^+cTD~HC0e9(Cr_m-TTK{C-u3}1s3mri^ay;~(`gn}R9Z+0I zWw7%ap_3lTTHcR2ds!kF6=vGF@ik>ZjG$*Xv3*{h@MTRPpK#hACM7sji_ z8qUTb@qqi$mb>M<`7WsTo&6s>wSA3F_`O8CvBv%Bs#B@q;QX%=(g*IUi&1@;d{y&~ z6f4v2PQcEj*R)6tHByTZbEs_=7A_;gTf12a!N(x*F|x6V%?#KYH`oF<4e@dTij3LN z^5mOq(jOcB&TFOWNV5n% zl$eJBn1-4`pQf#XPp4+@#^<&j*MrVB){ahA-zs>(Jsx7+wV;RD{Ku~TN~plGr@fv$ zr|(sD@%M6eDQb%VvA5d!ROU!aK;XAa-+l>~QGA#^liMX#!5*!5i|f>EaF0B8GeBU+ z+A6RhC^H?}U7l8?apMe0V6)C{k#oHe&l}tih{irc6y!lcldBosnGnSgQDcn}8v4mh zGYqV7%Y-OEN>gYL!#Xo2zzknxQCV7vfhaTaY1&V_my{ z4g}tk#Y)?#v{#pF*n8THHn+7RG!;k0u4T#H~p1i4s ze_ML34+AskpB*Z59P}X|aou`zsd-4UVPZZLW|Y!B_7(5TM02VPX0bVWDh3~u8K9Vp z?_eKj#H8ng@v8~`m%q_@F8Zn+!XlqSGmS?N?c;>Rzy(;6xh@hV6y9~F zb7X~}j6%lgd~>}(6;Dkk2fznUiBUc?m?Q7G`2Q7ALWPKV9`AK@-4Y%^#O2 zX&GWY?||n0dKy^=aq$suxWqO6k$EzWTcja7S}kISGrzHnkU%Ue7N}Eljf6nVWP@Qj z<^2zS6Tv-i z-6L1qRI#LP7>^8M$2(W}l6jDv#a*l;S)wg5){iPLWfY{V{R%I@;!$MD_elFk}`B}hz)j!>Jz`I%Fw_3}>k%1$Y* zB@o-G7JF4t@op!dSCbJ$F;zgM?R~ri>iQVfEG(smKIwpoZrgHYd`^3|2fw-exxVQJ`4*>-rD*QwFUR;1 zw_y3dQQ)y|Z}Opx6+1x8lK9Q2>Kn%8eQHVr`#sMRqM~_P`-yQ>i`AGzb`J~jG{Z|L zh)c*CJ|SBSVHiu%{G99-g(0r7-405o;f~4oiza6a^QUkI|92eb9{YE~1wQv5&cft7 z{S8uSz>rBwwQmLSRuz?Y9J3qWHAj2Hq#Ys*rkjO|LszFJmS+YoCr*Iji}P0Z*C8xR zX5=3;n7@N;x}9%ZYa2Ld0na4ronf@(dorkJn7UpP$#zt0o2cC9LMj$c?Myoa;PTLk z^p@60n#YWHlMmi;$O;=zgpJ3Z8~Ao8J(>^*07-L;Q=T@=fp?EUdw27aIn1!!nx-Y( zN^`Qd`mAw<@tUUxM!wtRaRp!ZS!#nQ=kvhicYYh4&0BoJ`p$S*i-BG8_12V$(Us=h z^bzE@H}#T%20?@GyYVnZ!r{~Vn+rja=$w*RL}L|*SDU-mSOcNOU0=wdeM}zzJ*N0q zwecjYw1cF>6&*ffmdW&o1lX=N?2rm*BPWQ>Y@gkjyAVR-_IYrKDY?%obgkkRUv*NCyxWtDiOMFd~WHxHuy;WDOy2QsY>E#>lh87EnSnPVj)034CPT7<8 zmQfhbZSFz#gAZ;Emayv1K1w1DiD+O}6bS&NY=!rKrr+)ByNfsOxsL+YyG0MZu|P7= zu(RN@NKA9z?FONd{7~FqcfVWuqwmxow*zX;WObTdfx%W9i<^Q-!jIe0h&(TV1%pC}8b&JbYXmpC=24V(X1!our{G@K{=A;6LQB}$zc zvEw`YYiX1w3ef>VsbFp)kZH)Lb^#nq`o2=R)T@k@0LeI*YYS0;6GKb%Qa%VOSeriD z?G!uKsJ4JIw=UojGP4dU@8lNnyC-^0W}_`&mvxue8Va?^F18DTQzIO#a5`KwSn?qN zgT@1Sjnb(2*I8)Vu4A7Wk~}`G&9Tx!0>;jl!<-1UX{o2K-_(MzjUURdF9j1NuAU(j z5^G0Sxs?z)GES?fFqR@*xcCsd`L?u_^SdmjA!ZbBYZM@%pRvkBmg@o_d+mMUD5NQG z)*$R+SjoibgVDYE=02x4iZP+xDp5Y`IQL92NJ8ZX?CbOqNZInTyx(`JoglWDiqi|E z1oUj1J>x;J>-+AwMxXe6*`r^O5n1*6i(TI!tJn0`w!Eu##OdI1&iBjyGJfI`uS=__ zjmnnn1JQp6_EFq)Q-I*C?3}uqRP&U&Q8O5fXDxk`Nq3lw-|;zv>1Jyam+s-&yOIo3 zE0-$^zvKV4Q)WI*MqoSvRfwXgbr-Ales;d+N7EznP?>_Vk97GcrHLBnQJJz4bdM&z0Dy0{E>AJ z91+W&&`hLos{|X@aJzVDc_hPRvMNmw zWg-=P%mr5kZ^i(A99Q6z-B4xM@Xbg(Tl(jfAZ<@XfQU?iNnSL+ZS|_>61A_?uTKDA zU&~g5Y2^~B0Ki^XIlv&q7m0cl@dD?V3X41QsIaLKKm+&%QwywT-iA*;6Rb2)pUXdg z2Uom)l5cm348JP5hGJe_lSi^Lh5tNsiFh>IH2WEm#6!<7Li9{pGbMw_5dDX)WTM@* zVdssDD_S`=QKUbwqJ#(`eo+4K)VdqJe!;)8^{k(|F;l;ZvlYzZjXh3WowZMN?ZQ`& z{`D_ny#ui9p0&ZS{g$4R$}ovtb^%MOp@8dkit;l#n~~hZZspg0ngDE5Lz;t%DkULR#ab zL-nUf=raAdDE7tB-WjwRj;cag+@QuKn)4YcAOLy7(lrz?F1ME+2A>~y5rd(tDhj`@ zJ}}gS9D#b@Pci0iSos?%cH1Y6+`w(D-XByG3M)X=t+rf8ou0i2o--c7lPGWu_>3N3 zOANYN-U6f(&-o+iD&|ZfV%P(eSs0)iSduHtUu>p!l=(`_)#-x*ai~R|aYECt) zH~~IV-vrs)abYrKpnQ3$3DpgZXliKJR380t@ zYp3^68HGo@7L_tp&8rH;r&<+kdqv6#XCw}2_Qv#70x`+)vm!icQS+so@H}8XEI43o ztFG&OwN3|8SZ1#Mn?uOWiEW0|ymOXp6o6Qcx0RECy8h7X)8xQACzcKP2)kiOTsz38 z`k*>z0NcjP)n8`h$+6csnCmd;jJEu4S!fh+(HN8W3WBfvM{ zz8V4Hdh^tekYuau#ns*Y-f}tHI9gOxRE=WNQ#G>;)YFTdT?d`7mVa;sX!ToT)POL+ zZ*SVv${PpL*E9*`&Er#g?EyWJ$j+)`wNAvQv;!~Pe71&ojrS~$R9?G~XB=7|_@yw* z4{}*O*D?}Y=rMLeN4owTRUk^U-)(mco@9!{buPos>jiArEl_`HfCN^2z#t6OPPOYm2z3wdnf-M0*KZzV^e9) z!gH_6h6%U~+zH*py0TchY`3wbXjFR0QOSpK7+bF^KDj!eU({YJyT!w=sBTTb!KpJOY=xI(80fLl7@<%fZ?FFe-L?-^M4e9gcNsDJewSa zS5ua1hrR!5Lc4-(xP0^P2DtM_POBQ|ET|g`SJA7Cet~#G2c1V$z0xiZUuxB$J$I%# z%u&Uc>kla!uqYKN^r?HaE*3ecrnB;1GOZMlSoK7OKQ&|B%M#Qw70IBH=+i6(Gauoe zHR`NN>$ubRPSqSjOhEUZ!&NBa^$$?jY9PXDa33oG=Aj#P?h-Bk0sc9EicgHPL&(lW zAGXi9cKB6Pgk?6$x85 zDbJTqYqUL1y`;Ov$F=xE7yh&sX2Q!Vu~4}3R_V1PnbbM+_7a7R6IALeCRaZRr}>W| zkmlw{LP`kcWm0OJW0IWODH;Pohy49|f;@l@knj2iMWr48pWzUMnfX7i0FBgNxnMtl z7iO0KO<9VbLC{if5P%6%^^icdfLZ?=sz}{N0!2;@4FW>~@Qr}2+T96>@s)Dj=GMP{ z_jYt$UPfQ$!~4}(bw9i(B$2dDjtHhePn4(N83^`M5S8Y}hH^Qt-Hsho)CQ_cYa36- zO^#TrvJmwRbdAC#r2pD~qTdLsnHjb*Qxap37NZVOqNm^wG;EuE6kw z+w-UE2F$1ep&W112K?+6q#yEk6zwhBZf7H0SNo< z|HnTf01h_9>2Tti@HcsRe>Mm^wlMs7Sq30Jx6Ib7ecGT4)HFgkffZpb>vMU1xGH6P z;l~s2#KLQ;J2t=sbbmt3lBrGm8;gkd$@Q#D_63_DSUu1f`nlCpCdMyL+=QgQii+NF z#_LC9smXaq-dR~y?u1IvrjPHKqk~*qsm4gp1pJQpXTAnqRWlEmr{Wc!3xi`b6CEz9`jvh*>mqt!Uq3-PdO=o7G z3UJ=`$T7b#;ik_w1oWz|HQ(69tkWl*l|4;Ka!_TRo#<|JR37+h+p01>C@xBjYwYny znGoou*Y!%2^#lEof{4hW9vm{bqIySOLoGIJ!NgmlyBg#Gq>D2J-yiD+-?zhx4!D>F z!#=rG2cBYzr`w(q3X&79O^D$#Q-y5FV|R;=#i=*YqC~}f8p`4{2A^N|h&2E*ReeW7 zDBu1Z4lKzYw^s&7>LL_8K)KIHl&n2m*GTL>c`CY6Om^iT>N?$%Z6pgJN zG_x;pHIzi58@$n1O07h2c^wOyM7lx%@BSnk+k|^n{i#B@T3_AF67BJ)Z;ow;mUJYF za=(V#rOZCb0Hy=e#$eC%z=n8W1BrQPkD9cxvl4G&b3z)omK=pRmdU!r+A`uBKAAPH}cyg(sMjOkxFH z^`gg;%i)TqSM1bhH68hN!@cIpVT^cEZ8tB57X$&*O|M#$OPco{tjA;|@GJo$<2aufO!8z)eC4LWM8 zFrxR>Ot^!HrhGOg`VK}pSEOo$x2dnZnap$h<$M}a2}_#S6c;aqbs`9~C?*HN-vEwk z7xzUnSSPgaVrK^rG~HZhK)f{C~t$xWzN21r(1OOM``>Jr0PZO zq$sbX&&e)?K;jjFAa^5a)k_kF{zVS~P5<EQ%&Th%#RF z2Xl1RUZXpf&MAA>_@<<|UlbSt$r+pmX#rI+4;}OO3DQHD$lCA~BjPuOOY^Uu)NKIZ zeQ)qt?Pp;8Q6=e7!2Wk^`nqh-r#IMjHlb_}Hh>tGN5w&B5ECSAsVfK;*;>!a9oY|* zJVJ3-^%mFjmuQ=bnpT8C!Ao$q#4SHl2t#Q|5MqE-=&6^D}oy0b*Rx?B3JB` zI+Ml^l#;^0qwvaT;JWf*Qbz6cc15V*_-K@-6Dh61^vd4n-Kq0XeXsh|#EVjZb=Qss{&Q!n8v#INpY!Z6u?gcF zo0uT*kr758>Y!z#;b4=6>ehhlOe#MQk)}P6Xi;Ow(N@gg(i|y;q^e63O#?wTM^*bh z@A$*vklYZ{WC3K*76zSLI(+Tg&cq$@QXG8*Q@HfX#px_FX?6OC$W)Exj;!<7eEYNN zbDNl4YUNw0!EF^Ua|5m7@7@6pno5@k^XTFst-QPGlx(dD5gPo6NU;EkzbxMB$cbge z1$Szql~}sTz~+$(&c|I%`Xdd_@p%Gm5!;!u}D0;`GmjRQiIPCpO7T1+bb?E-+ndhqc{rE9iOJ_zdo z;Hl3jEMtR&p=HvSGetzlw38nMS?Xrx&JG1r1R=Z=E!=oxi)1Qkj07fVjg&-SjRcI4 z;NeJ&q?K&GjIU$K3Y{X-pc41kWk>x-?Tl>k9lhRLlr4B}22l ziRE+n71}BvrA|uTrA}a6&P74849o!OhVvNuMl8q>m3_;dWbb;?-G#XARj!QWGgiee zE)r3hq}FyjyjOy;!j9`-W;ZyM)C^dftnFzi#{e9Rlz!@>>^En6EYVc65RmFOJ9`Cl z4sCB4wDx%aQfh8$je_afb=j{!WR`Q#^{%lKSLWoMoF&ZO`4q~;&>c2s5uFULSKpbn za_6S@k+7qnSIe1&9{GnDSOmOGzVE-g-AJ!w%0s)3G=(z9|MHbSrIv~jMe7zErR2%8EB^;y_AKhOEI;KQsestBv zTryU2U$C?(wloP}K=qw5YtYO-ng`eZUOt=i6SYCVO*xRochMz&+%IXZ4sz2W7R3Z% zBa97n?kH{pxUBuIzfhLhU9rmw$ZD#h&|c?0vv4IXIm{+sA?`Peb!9&#V+pS}U< z0?K_{lY?6-k9vp_*u8_}Z;=ilY;+k)EJJJrWkSHqG)i~$e(`zq4MRs|pl~K@f2vxS zwnoP{h~6zeeMR*PqCtJEo?=;MEWp-v?)?-hC%Sa}A^rY}Ld;^O%+rbv-t9r2F)z$Hq=T z!@M&fk+x838MHnc1zb*FYNmBMp3(I=EB~+75Sb}mquJ^6E=hEg3tNJTF@O^h8+JnV z>q)Qf9?PbCHP|`;tUGNo=k+X(0;QT}RAvU3ST=i`t#DrAz2m1WZH@M16U;lNSCB*l zIte$`upeQqkh!S+YYv5PJ`*MG&zTO1O9SI-BKOs3pS!ksPT6HwQNDw?E3?glgt#Lv zwIai|*?FPX)ksc)uYP-YAmBh~;`S{9C5nHHZXEkDt_E!$Spd%Xlb=O(0Tu~+;;_!3 zH3VVORH)KJvf{}kiNYYpG?mkvz66hTz;4rX#H?<1Tw~6M3GFhZ(kQ(3$j$d~MD*hi z1{@G;+Lx?WY?63qd?EHcPg%91l)~Hj>O@-$#LjY{5ZBD^6+muV@ zKj))(LA<>~?T?bNgyg=PQy+5q3y*%A3^GvN-<#r7#o5>tA{EKw-R}EG`M1fTJQg-@ zw}62k`CxXr&$wOw*v6=Cv-Ga1cBRYkT}D&4)dtHj9zYN0y{*&-)vaFiEmVQ?C)9%F zGc?9u{MDSPbIEfFNK-JBBqCM!<~BqUMyUrWh(dU9e`|2lQ}R`=Tq;pCuj9y!=NEsl zFjbl-xI<*-oW_3;SCxUJj=1_ea5${yCHpU^Nolh_6Du*Wru6E2}TC=p4YlYPf3a~`j4O5;P)pM_jv%aBkf z>=lJ%?;nHQ#H#dU-Y=E@_FUflA7ge3t8-x2=A-kv&}_-ZNd6jKWh&sl6MPt`B@POZ zlwd_p-uxNXer5LD1$$nVI^k@eb@~4su>^btI!+m$dpy67Ogw}{!c||%2=?%%kiZq* zj*3BlP7opekx$lK^Wmb7q1eQQsGpPVS9gQc+uz=wc%z$mZQIpcsqQ5Yiwasp;E`aDiAmKZ^SI);6C3e?lFTqWsMjbSy=UifL@WLPQ1r8p6+l37C^6gb4$3w;0#6 z4uy3~@Ihl=b=hT}o9YOz zQ_52KHt7k1_)8H|1QG?&shaHFT}x6_$G}dMKTV<0D7zp?b1B@44`Y3{Il6?$!Sel& zi|Kqo#tG@#D$n&t9N?cpGY=cHSXoxyHU-Sg5zd>+qr?^ggUQKxm@tH`ydZ<8#(WlG+ZvVx4%g5~y9Y85 z_@VS^m%8IIk0XR}<_1{r?Zn5yn1eB9eaG8m1Sj%AJv2_-BY^n2R^3m7b{n}p$$h!Z zA0j?t0;7~ca3L|HW8+^ne=W~i_D~h;cgPc4HW#N@Z-CN*HN_5?!l0h&rrni4G;&|O zUw7!C?+OpC*)+1~q+N=^{DUl|1qFPb&K3~|5}tV7n&#nxoA6x7DMLVMLFv0W@ntyIv6XhFE>yj~+z1IwJA+Uozj=&TH^d`Xw zTQfH*TQmDA_0*BViZCIuky}>V8xk(Wl(jww%ho`Gg97(W6|L&-1hZa^YpndUYm*k}9J(yu`fbHz0=GMi79dR;^g8xj7_B6-P`1^){GXcSkW^zyOV)fV_7wF33=c$s+~RKt$U* z-#7Agnp0Q4r77J^WtC+N(XwpMEz_pv&`q$cE=j;qUA74IRXh74rK=OGKfFI_{(7>= zem?st1*SLXE>;nnRQ2ckH^wfIVkeTw_#xe%DS%JMaWi8Xq}i0f%>HKI_^f`KI_bd~ z**E3%0;Lj$SQ@Xr~z}B?=cS2y~{Ljgzd&7=|tC z9>C>t0)^FRlG|AI2YO?FbXA{TTO8n_!CSl18=KS)}!H69m~)d6&r zeobLZ*>cmBbg{63Y@7H9`Wa2~?{)$PDw2-s>C+OgUB|qg8gPdWStHYlV+Ghzkr)ucsFPOuIJur z5J_?4TXK&UFMN;q7(D(5Ynh?Ez)35^4F=Py)Z){=w!^&{NPHTSU2J(^eI|rc(F}HV z*H*tJH^e%rJld=(;|QJq=QBsrtx#w4^x$A;s)w1FbZkXs%3F*>;c5z{cKgJ$p_^ zoW-Gb3X9pH)=IZ!@^05$k`Nf3yr83<)&Nslb3nW@+PdJ7r_ zkKB3OW6QAka`yk%aFF9Egg}SZ(ZUVYe8tB>eXhbDHlFj8Be3b`xs6EJKHeRCDu{5+ znMaM&HI?(e#@NopCGYQi2up+8u44f(>R(;LukL#R(T(crx>;<&(pzyj0FaO@=>KNG zwJ^x@F9+TkZ*b1vt|p94cIy8<72(CFuHafipd!5gHPs43BLKhYc5*;!&;WTBQP7`! zTf(*RVJ;#=ldsI?d`yn%n~wY!i`qIcleMxWGSPK<0`Km1B8*Wkm{8|1&7jB)tGI^- zic=SXyoQdB@b?I`%!ZI9B1(wq9!IAnR}Ql#ncpWT&Zd&W|6b#>K^*_JWJ~_Pa(t>L z%FkQdKAICf)jy>G8ib8Im5UY>AF#Zl?21@gO64ymQ;30tIP6>&mmrkz^=#HX^_LgT2R9xvW9PBp?8RMjF#)4a=@Ws2{cgC;f2bg2sHRa^F-|&_PblyJ-pL znk#rlxSNd$tPuzQs1T*s#%sX$c32_~4ybH4kOPJs>crq1I}n|cT2t<+fb+HDF9KKM z+yV7QR80njC}dEQa#S!5py&-(`R?;C=k+!~l45(qy<69r;X+-{o*gt`#41mdnl87H z;BozpfI)}9jo!{O#%YqEDLFb@ui_YQy-|x%ewB6TVo8>lGT*v;OC=)&9)67qA{3S> z2|Acrg!YWp_uU5IvZx<6^ozDyw9u6_ScR{$zanR=tLv*+J8YmDVBdN9@ba`Z9N7r# zP1H17!%vv_QcdM!g?qYN=E?mCEzXCP!?JaMehI+|{$fDOTm5s4RTDXhc<-QbiohQ?%g1TerIf(#z`!~WMph0q_|n#jMzC5k(51v< zCs$TsT!LPm%I;V#_{(qX7gMM^Kc;lK;U;0nolvxn{hUb$@RP`zc`wd>qHCmY;U|T# zQ>?QRZZFZ>U3c-0X*75JT7B~-v%ef$&%Shr%b+URbQzf6NB`=MdgQnXPv9azpP7{& zQS#FoAWWchDGZ&fJyia6B_b0-43<=B49!Qk>( zKffy;AD-L=FpaG@@v0#n0-GcIjaUToQQvhiBvALaFRh7Z5jt*)7u`^a;hjsQUi1Vh zcPmd{=k=#X5OZMV9s-+T)jpAsE9;tRORQ6Px>_668xQjxCMsNV8xDF;dr@J{7s5cR zS5aam_io_}wpi}wcmr*dDa1d{5J(sTm;m6|r2g;>z^CaAp1~25?1sEdcI?KWtJ}~ z5?yROfD-xlbHs!;-kqSn+;}xZg3Vq_8jW#hS~=5Vq!mhMM_P(Vn-pHx#o=^&>L++j zxP>Mc-(cwFvzdqQ)MotsQAZCC&HlfI<-5@Q%tdZ&V<|W~lU1P5xy}fFFdp>VGg z<5KBFN)i{_k$7?|igP6k?)d$88U;et-It1%!(xid2$#epRl4h!C*Hq}b;9n?*SGRD zfV0)v{i4N7MFn}4xs=DoR0>`p_+cl=Xm zN@B@#+nYe>H;gqQ6A#n`jvJV0rs>N8R}tqv+`S62JqNWyLL|i9aEm;#oyN?**8PeX zeNKO4`rxhW{%N7{2jqA!d8bUHoR*L{30LwHEIn+9sy+t3R4Xf&kQap5+h2s>9t(&R z&2M;&a>Tj+$y7hIwf`uE|FKy8$W)H0Sj0ce`J^iF&moM7>;K#JQKb3fsOCWGI@dVS z?STtBxB;efrBW_j`4=V+Pi7YvR8<*7ux32}jp)inBCd_m^pCWc_7`jB>yfl`UaIT0 z|Cc9d-}_GG>2P;@ssc<{0>cp(F4JrHZ^kV5K5*5kr(URi{+Aiv8xSEHdBP?DhGk<) z_4m_;-^thMo-byjqcYF6H&79nNG$;=w;QE0TiIAMcz`sydGb;a zkZJN-oI99}R#7r*1NDTrxr7$8>~0Vl-RI#rb|Im?I5Iq>JN|grEqBu1KCWa;kD z>!iVw)FmB6v}G3Sf$_=q*LW8o!+5|Sx-0SzV8eqbWQjx4Q6p5UPH4!4uT@Gra^+fj z*x`E1@8gA*cq^w(5mA{&Ff9xioa&hDFnoC|XkJX%1CpGL+Ie;)}8-sCdu7eIpZm+bE&}8cV^7ne_W&dSTG*z&XB$B&?e=-amz4VxNNT{VcLeBfANjqr@JLsti zkoJy0@7_M)^|rvLE>FID5CuKXzO{MfY%h(&hicTU+w2aM%iCZb^Ql(^H1q5%xqgO; z$gWAY3Qqee?vX_T?(i*uf0}q;V*C!Jrk89SQ@KRf6^b_D$g%p45@qW}!r*}!u;!yYE)i0<&=2J zt;tk0E#5JkXj*xkRIItp7N5_aQsW%O<=a||%gPjH*D%F0*fOw-nu73R&0Kc+Lu|>8<-sRBc|J{f8F29%F>k`10iBOet{5HCucQs?C>V>KXQ1 z1GE6R@MBM-=wGMfQ0|`(cXFVV0y?#Bxb9Mc#Vba* zYo7qah14oC_c<_7bJ8mMUu1-@Qlm36U6eh5OyJ#2N}ILG>7%mvK&3l$a(Df`hd@B8 zhCC=M;Ocnz$QoSaUo0Sl9#^J#%ud*lBYd#XjR>efx?mMq?Alhz(u~s9+h`MZT}Bh; znEZW?K;WX~;Y^ni#PLsFkh`T3oMjWwQK2%ijUS!wqY20omNQ0C-I|S6Z`sq42b{W$ z@hCGC-T8f!v|m@&Eqe=&j>$jFomL_qN#AxM+_u^D+m9$4 z+~_IKqoLc8%kHT4Z%J>lbt;0m254W0)caeSOI&PklnBOiljNyx-xjTo(+XAEe_+IW zY5`RNsUP=z5>{~iEz>3}bcB4M)t$fPWK{F+SiB;3SSg+aBlr!yX2h_vKzIwkcR= zZ2XYVf!qx|W<%1wzeLbuHG>?vnE>qj%{aRJDDUC+~LHw zZDV35_e^Ztwr$(CZJTe-|2bdI`*l}Wb?v>YyRWtSTE7*xE+&_>E(?wem&G!^mKVDy zd54ztB@0doL}sZoyaaF9a$jIdx{zkft@APC!KThNwZu#A&iRyde|-xgh0Q1Xqz0+j*{hgT@~ig}E@= z<0w)fv)dzcO6RWrsV)#Qd6%9=kv^D!+H!NbDJUAhy>Cs zKlHU(DsK-&&1qM^S2BNDaz|3`50*br_+ryVmgxkgZdGR!5H9I?N5-rGG=Y&s1$@%y z>?D$AaT1WVC+xe0cXr4r04J2bLD+FeSaMu{?!U(NtE$7DV5IXiJ=U_kL(6tp9pE|R zo?QwA!Qd%N=+aLJa4bJq+0lCHAdwW+(QR@+hnl4{R!O2u69urLRId7_zic^lP8B1g z5akyow|!HH?!<}sJp1%0JPy@SK+9Uq7+Rx)ses!dKLI_-!hXQ8?JwD&Sji>%8#1X6!Mk&ieigQ>%#XB&OKdM)&++>f6V> zQ{Meu&6$3m_G*}YQ;$s@X35SeAH!>c+NssBV$#87)tZLmeaV<;`fT%H4^VU8ijnQH z<>iNc#CrI<@_B_@=%nM&Ch8VVrp3U~tZI_d(4w2_BOTvk>o{-Y9^>9u$7Z!`!XvnztjT~jDiHvGK%Exs;dH6PFod_`@E zHvbCnv@r9yyqOlcoW)&v3qCE+zrD6_dS$LYh9QgdX}EVR>=OLSrT{0O+hHI+e8R=y-0&9NoH$^p@ zkM2C4(7ypqaesjk54}wQ;jsDB;pcMa8&!Y^b|h?d z_Y>;PS{qb-?czg^2PEXITae`<<9PY==4RuvgSeBMUC*|GUBHURT!y%dI?L!O zr*ANIEdqk=Csg9ek8qQCn%8Dv%fDwUk@*9fpmm?~R}mhDl8Zwt&!!4+NHSE48slF4 zlc6nsuT2}Vd<8-P*+a$;sTR3t^rOb%80=s(j5=yl)3PZAhzx=q7jz5=5CD6-xzUY< z{{c7qH3|9&3;5f(BxSu>81QvpaA4Xi?3syM;>+UxY3&bPA{BHSqzf z7Dsj8dvOZ#Qqa_wBodP_suCB>GVAEAS9Sc+{vT+OtxS7B_(Am2WzBuN{}@1m{S9{r zS8De_y_{_?_lRm_zkzZu$oGjY%P8}xXq}QbB#4#Uczsk?%fuvtQP#-(aTJ|e2O{eV zqa1LDuc7A8t%p(>eKG}PR2K^Vr9(%OJDI!L8-T|IvliAk3XA_?QAgRfOq$#zki)S9 zKNlTx24u zSSD+b6;#nwfo&k(-hHVm~{QtbSn~%t+mO%Ji!WZNpyH#v_Ek)cy3`q zI|8@VFwc$`Y<1~=9uS>e7BO$so$(t{5fy|MK9&QvfDbe%HR~h@z4^=<*p>-dzWPev zcvds~#pFme&1=P5db#6~pQ&CkD$mG^AgL#xfAn!b zUzxGp7&{OcUJwQhm&byaAAxBp7Ec+));Rcyg~nwTo&!Q#C!v8tP*Zr!L z1rImOB7|)9T#z~ZK>>+-D4ojUu8w6?kij$y7+a41Fx2%BvERq=_^IeJ(d*zN!rU>2 zeqm%T%yeKFurx*s;F;7>Z;y2S(?YV_vcVi*5H{TI^(6sZZFFdK`q4RV^@%<(-|Kz% z>Pu@_sYKaeZo*;gRb)Ues|oaCke8 zD=wMxm^ObODWCFsQkrbEBY>4ON*Y#?sqC%~BoX!U@oP@O;qnN=Yp$N}x#&@;y8cD4 zsU!m>Y;`$Zg8%CcasCOeU&-P8pPZbR`d=;j?TGy!j8@X1G&oICh9)=$&*niDk$gL6D=F?dz}$-S0vZBqYYWdG&bG3f2X98jF%rkF+Gs^?h$lB&5Z)gD@f~A9l!26 z+b%j?Z+M`~)U6)Z!Eu0jFur#ffb6KNEWNfdUg{0tM-_K)u7Zj;>!>?9*jygY_6qUp zr&f>vq~zeQ{UFE{tXsiR;Vy3qQ+6{DjJNH9-`E#OBg{gf?IdtBr*-49Cm|Yiu%Yd* zdqF8%RsA;5p$<+Z!b|S*zw@+np!PE4d^0kWYgpDs#}VsP`OJZ^p1}9&>fIZ6)qZ@T zQnX_^0_ldiblHQY;OPn;gU_n#QA70r%xxPCjA=- zY&gE|+tQr%c<6w$<97RFXI-Dq?>CLFhVQ9J+6`{r(CdSITC3GAf#;?553Eend1?>Q zpBWx7YOarfEKQ9wOTHqLj!yAeIed#20_H3ZAkd@fL;lXdR&#h~8)I8*i zeFSN&xg)3=8BuPzyO-=+@>B~w{L#Bbl?Hlb?OYw62?Y>9ayHRkVZATPWU9lL#hc#P zHY}R6XYfwWWz7Fh%`xM~qvb^DJ)s+-uu4?=WgjWR8&i2z>MgEORP`p-X#zyoi%EK# zOEJhHvMP`C+Botychk&zlxYu*VgyPOuD|2&d;AoNT$%1ix01H7DEi`kke|fnmr9TQ zVD9`pX#)Pu_{F(5sC8XH9XUdWgv=(v%-kjE1bc5hF3&h+KK&p&h=xM@XYO7UJO0V!2Tq5Su}WqC^S&78Cu4GTJ@%3<5%Oa>Dg5i(Da zezJyDwUWN^EJ>ia(~Xw^G#X8GOW7cRZ4KLm;~qGY6$I$;*fO^!b!OQV>P3lSm2h5y zEBxs{c&{6+Dt$E%4QGHN?qxN@VwIM}iO!~;dW4zUx8x!dc-szE@h=o_T z^9?8|m2ud4@?%VP-DR58NRP?*+~Y*M5wfmg-f5K@UO!YNAO$DfA=aVi2C={19AYgN zqaUBr=a0I~nu`{RToyd0de z=0A>Qc4VcUEi@n5h22_)98CSZhxD`jOe#rg-oIe?DvE4S8`* z_Kz?5mCPHHN8^z|KBqvy*^6i+<06%nJ!IRTX&=Mi*hY%5X9sh)&3~1k+Cuy975TdA zj_gUCQgJ3cd$Q|&5e=kh|>AUEG4DOwj4sh8DYCz#D0;AYr4X`CI z;AeGvs~GfI5HJy1Nm=EhDSJyFxYTPq_F$=o00#K{qVJ{fCDJ(UsI@7T27 z``iWWgln(1Wq=o`hCoxX9_YgdYp%`D*Sj=V{*-~Epo0(CzbJn@cpIHbR+U!=yVlT8 z-FjVcJ3D%mypQOyn`-U>JBnLtICsyFO%LxbE!iHvkX#}Ld%Cq44NQcn%abcT3IlM7hvB5_l0F@FvqpRC)H&-^l(Gw)_n>`2s|JGmaYHF!P(47qG>;>E<@*z*fS%#8DyjM$H%rLC=vj?0nD3FX?* zBL)NS+L}gVFCa-5lEytk51a8HA-K8xD7GgCZY;Q631_HU>KWN3E^SW6e$gq6 zM4E5pz0oUFG=UJEoy1F=F|9p!#&Q6eqD+A7!Ly>LL4PRjN!Bt+eyKX-&s8LhDH~P| z9-E83m&C_Q7DZHgy|65}ae6+n%p7wMH_oCo0W>Xs5PqiBwQOqyS^-wZ#&it}9hehK z1=JpaWW(8FuiE{MbRBYrWvl;`s*Q2D>HqMSAb&0&rO@cKa(E;T>%6Z0=%}jM^C;pN zZ{Iw9VAI#GZu9{4D-|>rtYM+Re^UL^MI_ZWxdN*6Y5eomI3!cYvk(4VxktU2}&l;a^r#CpU{S)|5VPR z68JrkOJ{F zj-NdiurPCRX_7bvtJ!Hw$s!NU7Y~gWm5KG)qIn(iL)(NlGvM;t?6}OgqduW}IM!9X z1OMo_3`b|oc5#6t?)E(BQ{RurmXxr8`6Wt>L$+~0RgwyYj{|ut29=l471$Ox+uZT5t)s`>UcU#TjMq&_CLhkS=*#{~c81%{ zBat=Iz$fYg+5Ex(?Zg$X7)aYL2Y>>wHG=Ds%-s zR8!X*XJV8hBe(#D+sEeRepn*E`k2Zpg zwa)C&c-$*Ad%;**mwNc3^r(dPIT=$fFqcMS6DNlU0@QI79QQ!&q`rL*ftDMdKUUY$w@_ z;oAef&-=Y6B8|Vg8A&?k;6%VX{bf3qUy!}jSG-`)+4SN>VilH`2(BD6LcqS$3MH+k z0K7$ULbZ~QtWl3ZO?4}U+uLA#QgOcgM5U72q!k~I!!}lgHpkJ3bqlwPUhaMSpoM7( zDUGIOtGUv9?b$jO?~q+D*ByzTs*FI~5=an_GBJiI3w6V_BOZyw@V|J=TglzW>Kzsp zjfpqfXpJ!t3E|hH`Hkmi7Kuq%7T`ia3zy+~+{)rz`RL+$Tt6&fcTqebBCpf!uXJ-M zDuhu`G0EnNiH@~!{EByxRm4BH?e}hRnG?gm8j7!kXfO3VC2hj7RB7O(ZrvxN-|^TxmQg_<0I0(oceXxCh4qJdrH~0n*%w_4H(<1TwFab@^~gwP|En3_EfVC zCe31A7?@m!sNEIEm$BIXFxshkaqTqY9?}>2Dv|9w)CAP4(-C6ttJ4Os4-R>^#q$)%@^VLJ z#3}QpQ7X+2<(ybV$d<$mdzP0<$q4-04F=<%@r4g~(GDeSaJU!G@x={Pt!T37Ks=MV z#32tzIk`9BO!4T5jl!8%uGM5?h?EX0vUX#!6BTmsoqze@=NatiizdiHKWuOIO;@-&IkwQG>FeG!PoHW`- z;>xSx{#>}G^*2k?LR4~nA?(@R@eoeR$1_3~I;Q*P2TZfJZgEEiz@fBzYth0I5$~ka zsyt<_EuV*?fAb3UYq*D3Y9G#vbtm}P37SHDotN@>Yzo6ULrr-pZb>SUj){^34i$=4 zHF9)!hj8o!-~?$1Ved&?hs&pBaj|S!6pP%AQpQ`;2be*I?_eQWE|IJ*KRUeddWZiu zPTP(zR_;|6-?o*00*8~COxE3KhZxn*ZcQFkchn}aTLe!v&Y-%Si-cUD#>aNDQd4f= zH_sB?a?XW=Fob;ry2p6Y6)Yc1nYd>J&TKUQ40&v+y6E-}IjoF`GA3q(2kt{Ct-M6e zvM9#qfFO=i_cB<|XRJ};r$>#*{&WDuagEz{x>-9U==?De2CmK(3iquK&nBZH&Q%)o zN5sG@GSdlYuFnq0P+3cT(n0ewJa2pW99YohT7#3kq%m?^_&!?5Ry_E#an@ScA+xP+tRo4dSzuF=SyHNC%4qE4R~)DuF^;6W_H z59aB^!?ELi1CG&qXW0K{1qSH^sk!TVv`bEzS*L0)x=vJa7OYB+gfaJUd$qk_LJF%H zUxfRNR~gcnNPqUdd~=+>*qcu2zkz^(aSyj65-;q7=_3h?lcGwQ#ZX6J5g4BqTfUnu zy94kHwM{v$mBHwH;Dk)ZhSXB#Y*k1mlM6fJEl@mZj9ghYEs#f1+}KG$+-m(2Vc@c` zO+Oi>^vv+5Pqhgq)64qG?!810sl#3wCl?fwK5f9sm~y%&)HK&i8wr?zpGj!%wQ;-; zZS(KrS3uO_>G~Vf4o6a}U;$zHLRV6&`0AVLBzfEKyl+-b3jg;!sNeG_^ivE}6N>%v zjSbOwJ#6IF%qZ?lL3eh8C$SdAvc-DPxdH;dUtUViXNS7Zt4!Aa#xj4{V>6_<&1VwH zuTJRSXN61UWbP!_H`pO5=>09VbAL$PNIn*L+dYP~O9m6iKObp5&wCmG6)nqf)|DIy~WgsEL?-26JC#{o^=*g0=O-)be~PI@ z1N;HV`jhql2&M^jnJ|0~l#ZvWV@G`xl@mNHA;UC?Ep~c;eFq%5cFJm5^`kGLOg>H8 z2PgJ67o<#s!Zy96Qc1-QD(AVb1jCP%=ti&LZvh81d1BR{CO@FRE)urW0 z07yPEsw+4&g>3T5!l{VAjezlWgU8iApVjZR?=Aa}B)FLMNX+HJm>4s4c@#oOMhgGfGm7JxGWh5ikaKE36w3HFri(_## z1y`AABA1*AIe8Do2DtJwt>YnfIR*SUUC(>8HH~~VGb3D8N~B0c2?{z$}?BbN{-SAOrD7C#oO5N|tZqk*+O2W1XAEch1OZp`mLM_R zSW$&u1N3_M_5xNx)zl&V3{6qUhEkboaYId3NDn*({AynxgT1j>K4=_#+Vw7clva5v ze%1~aBcqwv#|55R0_4(+W)+hd0GRZ7^M?yPwYZC>>d*!sCS!d{x172}!ef1qg3r^l z20Fy$b;i^XVQe_GM>*qq9l!N`;+HVwAH*DuWrZ-xiV0v2bn7`#*ZtY2m^p6PZ0tjf zI>SJ=2;M%`ZunHPw9-5nA(ATm>@Y*c!hymfn&3Tb=fDK#7-|Xp-ChCv+V77^^UKO^ zvju*hx>!SWYRsQ%IP__wsar{ZtKAyaFL3-NH1ZwFBlDH@+H-pug89O(5ruBfV~gx^ zI#KVD;d(Rc4fm=e33W)EAnJ*-Ij+cuLle^5@TyCr$K)(w<&_Kdpu|_JALHnJjj2&@ zIZ}_d9;l?kE4eF(M#!DuZsuF^59Mz+t3s`t=hV3yrKCow()y0OM$vM)XNhz%@u)w1 z?)kN9Bg-ze{r`j~=TYRLHRT|ec79ak^CA}?*@xjSxzf$w((<4*+4wQ$` zB4_K;jAm%}gO_&x%9K*JBzJN9u^%z}qs@`^eGG&HH6|4u zL{6DAvX!vd`>EF?45YcyIej;q!))$9^2SEdag#bV91a+qS6^Q_TlNz-$1dKN&@4-V znPRXa^G56SS3>Sj`?sAxJa@y;TNXr-sE2P$XzuB-c`{$*OAMUF>2N1rIseILk?fw_6rIs`oluk0m}lxvY1<<6Hq!_3_(@k_Yk! zLcq}Z9v(aQVP75=K6oO&?gk0bFYlAxQmbpiTK^tc{%dyFceBLy!tzp9Tc68Dvxb-T8lCBPg}m zNFT5G8r}R~{s?${Y^c@PM4^?|kUwL7cr4DPsZ4wYb?k=_Ze#}o(EmHLA~WgY6gkc5cL?Jv zQbETm{)bT{hB7jROZf=OR4{GET_zP}dJz4nj3})e3NqE1G4|#h-^2NiE=~oDh79XH zp16zK31)TmC;g78r7VW~uT{zF<9UHt;JWvxTiq9NH1g2p7*_W^2;(RUT|pT|LMxFZ z>`8OIBT&z}B=e21G;7PoPRmOPfm1bW@G_2Q$)gzHcB?V?Q20t@CC$Af(Y0O}`cE&2 zf2jXqnWrk$XdE5uZkL7q!633GY)xk#2lXI6=C6r{%}t}S*aySwPa`EWj`71z;H#>! z6x7CtuZ^X89@-U9Jw?^|Nrm9DbfFnr@wVbc+1AfqO!FMT ztMRYwDZZv5^7*y0LGI2yb**Rx$bpMjIC;BaRs)zIi|Akv)((OZsKN3uhSe(?lb{HD zuc8&fr7D54nNB@7pf*D(05!;S#^n70Y7F?HwF%=6-o^^>0De3^K6=FFu=D9k+I{A&(?H0JD+?y;D2 z?3zFA2thD;Eu;V;fsNc`997c3(<$!_YrRoTD!&73Q89?dc0`rj#(Qrn5_16el?iLK z)bKQVQf?D{5fve@ea_c#UU|fite;GKx>!8 z4U$E~NsN>1a^h!2SZxHcWm5LPNNTV02r0uFu^I{a5{*X&VPvt7!o-s0oxT}B(v0%j(!s7tg zMZ;MX9J~&mfU!Tx#C#orV#vROG)wejDe}un!VCmYNG9lOFv!f2;H~vP!3zV2DUK8j)TX`xD#2FmpBq*Uvo%lh zny-X!(l~#d*aA|EqX59i!jMGc6pdeS|-eKqSlD;g+iX>v0glH~4i#ZLCahRS$0lA zt2aN!_Wqh4_GkZ~fg!#9rq%80uOCHg*Y>Ybt7Q4Jfs9%9N)nVEXMv-ibnk8CN~+^m zOGJnJo*&4LJJU?QCN+H;zH3VE;Eb2EZU6l+jX&V`5G+4gIhzE$!MVVJN%A16h_3p+ zU3t;eLrFmB=67>WlW@NhqsTHM_@dV80|d^6<=I{upE?z@z9`0Vz|TX}pGC+;AcyzO z7j3O8j2ulSUUeq1Fs2odoPP-BVpoSOpQwFCT}TXF$3bm%kb9)lQ!D5f`X#G_s=$y9 z8o~Tw4#w0=3hYw*dNI;~z9PnwU-nYsC0(n5$lFmy!7-O-HWc9o3Z~>>{MHA2{LSs8iDp9hLE8K!?b+wRDgX_Or=awul*5IGQo2lb< zW#iS-lNis`e0sugSqn;3vPPsLj<-_Z?^ox~C?b$i*u8Jxp|>@)mX|G~UcNM-y5FW0 z|BE5iP|?~On2repbf@O0IS7_&RCPao2s5kF?fC63{^pIq2v{;$hX!PwfL*pkCPgGk zbOFq{<#We7M<>U-+1Y!5BppEj>By%1Z=9({#-PevW7P|k zw6X}6yRic9V~oSLJ-H?p{(5O7({xu57AX`XTtb7prQg}9h8*AFQZAI|N2B-w+a8fzqQNhm5e*3TItqiZ)fQqD2<1%R0CxnMkB%`20qdTA@6^5q!T1*s_^`9JRe%4q4+B51Df1cPwsa5+`c1XXr zi2EFqN}M>tHsUiA#*6%n%R-={%pCnKU{hf~SkYAtO#U$)t0x&BE6X5zg6E`?@j8HJ z6BYfJ-kWDsgE(CN2Rq1Fqk9hX#Bn7tjQ?(my z32N%wJ|7qp2SL8D*eZsdq*}VHv1919^wS^8gk+mJ3=bmjbn%JN2LMNM_${wdnVII2 z>#2hWp#Og1+{HZ?`3utxhWOOHndR$G%}AOb7-{cGgKpweyKA|7R>Jb6JGQ!HS?prn zwbX8WGFE&d0z2JLF>-a&IXcG1|?| zPOyf1uJ$=3#XO}){vPiBeUx@T2da2nG4mU?G zHCdNBXL(5$h62>pS0kJZLDoP!BnIu$%5rfc=N;Ze^?5Cm0(0<4)*c4w7&}YZ8J)<& zFg@3;uJ4o`i|kfl7_gb3OGa$vTJ`^?mx>GU9gUyj39A@^fwzc2KeI-FvbWseu;3>i%7 zN25=2?=EaP$KMydOTF^vdz=%e9R0_aE*jXn*Z+1oKj-gb>AR`M|F7Ws+w1@B?&^F~ z8wdQxh#`Fd!GgLKoV%bIzzS9*m`IP4(N{_-Z+|0L7NX>?6XoeT}DM%tw3&pfihl#W)y6<-;mMMkJSm z4#vhqhl(^}91$QXewH(1ol{?e@l*6#y4OArTy4wihn$0HbW>aS?M!4rVqr!O=ri*h zhv{uxfXMWsmQNLt+$B@FBNEaq@5nlNxq7~xZg|!_Um84}MKsv0&rM_^0+)|D|2h7R zm7Qd52i(cI@!3wOH+|VOw{1L9K=rXhs6XG{7F_{fc6@Fjkv(;ndVHj~?>245@!8#F z(|GFHgwl9+zv39OgJgK^l{8nuH_!it`{6i32E+2KxXo~_jz2VRtnpx%xAouQ(+ZZ` zPs)8$2$XpBOTchIw5efQfFCbI-<4`K{^AUjXf_u#4Q)IpIiGd5sbseI$u~+za7Ybj|VF^)rXp*}oY#&I|H1 zAeazgJCfkgI>uXsFt1WAz06I$l@F;D{NiX@o+3!N8UW0Fr`PytK&jRDlyt_fVc&L( z__xp`r3E1$tj;}Su^bB><-P@>*Le)5G>>7=VtBc75~7D0VIn0rbDoJwAiUMOdI{=>tg^D!c2m2a zRf|il%oamI)VLWBo+Ci-swYzAYItTKs>X339T9@1{KuEhO72ycpgg@SFOF>a#hZJX zp4+5#Ho0V^Rg&OBX+F+DEQbF|z4D52VtB4XyJW5(IMW!{+C!(tmlY${MP))OTxQRg zuy(yCEuA*M1ubkSNOavAMgDye+=0fZd%B?mD1lHk8R7|J+oAWRi)SI{pQg+6!CDIZ5dZ-PHh{6-6o;}! zi_N`((5NBrS}9IU#;kmArcr6mAnjs;U(8v?{Ygf2kLDAt&wuuubk?Hj={Vyf%QYWeDbU4|RwY9#3Dr6-iAk5|A7CDEoe9+7)yP5O7EKDZ7 zTSUxRL!+fRD=Qnz`_x0M!1?tZdr)>YkWp9&6|4tDkx>Q#Bj385Yb{bCI*pP|8NY}C z%%veFace8*rMd6F4L-yDTgI{iIGB^jBESWK(Tisnl_X&gm|+97gng87{82dXQ<9?P z&Z1)$K8|j#--Ii;FTs#g3a@v3pDhA^lEH5n=RSGNBFh>P-(RN-li*Bndf)+uYou^c@HGp+GTQPFfw9 z`-^q@Jk8Ikzl0cpbW6=xXBZP(82ADi9C9iz@C&iKK4}e7-?#5b&`z(;z-X#qWizoyn4|`&+wX9QgGBXX02Q9{M=ug4lro4{P4vAT zAsI*KUQ0}2Z}9LFVhW{0AH^JAxV9y*8+n6-wg$6C)M`T?A7fE?zc>Cbps&l~quN(e zib)9vH1qQy3>#DSkKh|OE`irXZJby!^q>tdc9MFYk8&6dn^B^*n(MkzrsC#j0^eC@WLVD z(IqBd%Wg>eQiJTzT?4`dwfrAr?R5sP?Uu#Ny#Rxf0<=H^MVTY?Hez*P5^5AUJ1`4j zf&Ejs79DOJm&g%w{L@hBuq%)&~;Pr5Nt zqei5XJkR4GXge2?-pI16NI>pLVN%{y)&?Ii41*4$R;<<$a@)VFVx35Wd3(THLXiMl zu5$jfYIUi&(qeRsRQ9q|oxKP7V!05{r5JH6X;qD}SJq~L#Yg^#1?q;A1b7}1+U6jF z4%1A1+Uvi-#wCff{FwuO7dwNZa9;bulOGC3(C0k8A zolUDO!<6t(6WSqveSAvU0JGc&s>ej|H_p^3XXeU`UHWWtVXZH zeXa1t^)(dbtHdjRxWB;F7H3v|(ppzfUFIS96EkVQ%x9Gpg%m;NXBzVC*FWDB(D$G- zH@-w2+Bn-o&rBFIg1r?j^q2#dgE2jzQ40Bc`b44tq^rfrqrX_Fcm)^gU zi(}<~pkkFmLwbk5=Cxx+{(jIH0a&_0ni;lLHAjwi%ojl68dGG^g!ph0^ zE-NZMBRh|sgYM{podbWVDk^=OhvDb4U%%~%Q-xnWW30~~9N~#w{_P2siXFNo_euo_ z6pVxbOHnp*&9EuXtCF}Z{5r6*>_9k5O;zCQ&J@4*TW$4jQ8IjaI`%({kRqf`5033d?-lsKf(Hg zveE)SxoTxw`m9zV((xt)pnh|zCm5$u%l1usg}f#$ zCNO@W+*>Fv)=`8&L0e=?Ef8*VzQj<)!=${nB==MEf@}Bk0VM4r@b4$-p9w4d7jV@P z^xC!!r7#B0u?jfz+`Ji?JtHrUxJu$__`6S36Wo00g;f?EX!|InfH_zY46zmGeiu{p z229Nl@ zggp~*_m&{HkeLMKEX&mG^hQYLcoB30^$F6UjW?Bb3N=|WxMqN|jG=FG5T;YdHfo(_ zx!yWC=KR;V5)@Hq1shqgRKAr_H?z} z;4}81T0e=I90$#D#?h@LQ=qbub*L{{PRs0;R_@cB6AA5bf1?HNn}dr zt6U_vcVr1*+&hP6$4{qBL_Lus_Kkw8YdZ3H42NplQWB2k*R*yAc`pV*B+ z0oPv0(4!ltI#Vlxx-SSDn$#dGY=~26&Vi~y5#=Z?FI<8Re9pdzLA@%EOHM3l4s&)H zI`_BR-Kc7wsD~J+k)Ho9Uh?o}jjvj9AN$C3!JKQ1iZr>DG+b)<$LpB`NTGc!)YK9V zF_lb!r1OqNpNw{5%(;JbyH4A}5G@}~Q*dJ-c81@4iL*$mV((Zeq#AXt1B}Kxk~fr+ z_(!f-n3Frpla{znxhRdkyV z)SgVYq@|XS3k{%K(qtkyA*fl>MI!hv7`sW*OcMAKFq0Edmv-vF0!4}=6yfl(pv&K>^pJ2`<4gTsqV~C_-0`&8T zm?J;)1w6ecjM)oqo+J6jL78sOTzLI4)ZORnK!Da!L0!j5tAW{@(mz`O=5YMs1MJZq zcdGjtkm;f*eF?lVPO^|#bRekGwLMMeZp=l`b!|bj@`YM}Hx%`-8N&x&(w;%Refv5% zZ*G(O{M6`r=&|823Q5s(Z`-dx<@trX*LQyO${WHAH?B=z%=lrrc`h;ASC?t zl=SC%WY^Q8PmYe~=U3E>R9BtA?ccjESzltfSlkawVp`s0WTMphX2Q2*d3u=_c6b z=k`6&NHah$C*c)Z<#1a`(EOEg13Jul3#OiKh>ADCuL|?(N(_z|a>-`?ky^KT`pwm; zt23}+fOyux9}h2bhC^TljJ~a9Nrmi9=RJ$1QTy!)ySmNzo9~I}?^S!~cDE-Ul5R_X z7q_i!y~!+gQo(+gYZ}Cp84AY=NN1u=bSoOYTIL$-Rs!7Elejj2;-res6Hru>&&1kp zE{7-~v*Vo>k1P_ zp0LMjuh)2geX>%~C z-Z;1V;~6_?R5#sxM_lZeTXQ$*6V7~Ub;Q16CSK_MtM`h{D@Mv#`E&occkA#w-_JPo zI$ujiNRXOPpK`qf*K$%ovVAWCQ*cO4?ZGn#<&kC2ZoJX_ew z9)w9*LVgKrh26>~lkR~rJD8jwUe;qQ$V-Fv{&SFCD|Vt@HZS??J7#nGpAql!xLroA z+`e(~@nA*#;@D(v?87herd53f4xC=i-4Tcnh(dBl@P1Xyte9;E~P4 zoEulR2iq2bb$+|U``bX}?7={hfr4_}`|fDe!v{VzcgEqlp&3;*N2fC-XpfXaDRg zntFX)+Pk(Xn`R991AE%L*ubfNE zX}Cj&i)z39K5`J4%IaqpKzD>TF)?)4M-lE(iOS=-k|d-tH(Bg+xtPj9@B+1LiC;)s z(M0J^VDrm$+$c}z{-3)E!p;Wau@cW@xBeQG=du0iVU4yy_lf!L#*8oKoE<`OamSKA z+53hKhDw#4$ys9MfI?7PUL;OzkiH^|f@sKX8Og8&I0gu?17SA0sW;J1_*WA76#fib z2zS&>!NmE7jSBvJy9KfhdQ1Ebq63?Biw;x8KgXUz4W^L?q5M12OcIGrSItYg$4uCh zO}fKNLXxs1gyNfNclrPh=0dzU9kDg@<_&Py5BAJucG|_E8c$JPo$gNB4ZjDACfO`e z@bOq}Yb!Y5+9;2())fjRT6TL&XN{ehc6J`B1SrUd#h!14|G0;CwjX#x1mED9{Xe9} zNbkw!Z7!rUd(gBeDTif+X8=C}x7A@rfG%=dIdAKe{@iaDisv*e9y!d4ls6vwiNkFr z8R$OGB;N>k*?Ph-`wC=zJo&(3GjJ@n2*g74@o-ompz^vp2KI=$K&N)u46*u`nV*pa z9hI*mAIRvBZpF+d-l-V)@Nzutvup&VN%x0Xz)-`{x$|I=;mRFc9%&AE54~K99|d|P zsY%5@JPOxH@5F5Axe30!Sx7k?)bz!rZGD4szqq-hdmlX6zVs>E=8B!Q?egi2C%%zU z0f}{Bw7NC88Nw4BLI8(4J*=u&5sQ`$+>f?$%3u<#;7le~Ru-}802sHx?q~g@?5SO_ zR7*U@*+rw1pF!1<&!L1hNV`@--i`Ma(f`8qbB0Lk+v7>xuW{l>a+_FTTSzg@O>F@h z5R4>N8$96C3H8tg=dm#M%cY7_zu9rLOytmjCuns4A6?%V9%-|78{4)fwr$%sCeFlG zCz;r`ZQHgvaWc`wwocx6?{A-Xf7dy`y07lL>#nt`p6-6CR;@eb)+xHf1>u(F0OI8b zE(#1hFhxA&&nW8OWf-p|_5Bw4{0>qD^=jX!Yc9$xk|w-^rJ2g91L{R{DLnjFwk8sD zRmhV-%+Pw>K;R)wLMEM2n)vsk!@%+(Flm|!sSr1aI-1K@m|;0KAkKrl(yls(X{@XcnZsCqSzcE-%)L z%$^H7Gm=7V7Q97C#vVCnGbiPfLq~+f1ucX3kvSE)((E#%ttqWot`0aJjDs%q2gmaP znu9cZaKM!i&{v6Auv2SOl;oqMYmp(R!G`YXSj|561+mI1E`t;8}w6L?2Sgrha7Gbh7lNgn{O0q z>@`He_mrWtK8yHf4BgKUr#Fl09?B_g&Yk6She&?Z=(5fQjvMomI-?ru{4`RAFi&XPln6 zi~I)MJ6Ue?OigXH)?Zu>o;9pRQr0`T0KyAn0w(H7rJY*P81_(221XS6P#)e2z72ZD zHkud%b4hhz?Yz@0_@$Qda+W2ov@DRrJ^%Fwz$bLa&+CrW#my2jWaEip1tH?-$M`fP z;O!^~C5niY9*_%K$?5Z4L-%>zzI26Pr=G^xD(KJdFy*TOo#$jpw{76clOsZl-o;t* zro4(VKDcYUx;;I;!tyhNuloD@ucT+4dk|^52XLRU`i@uSJB_mpXeGZSxcU3_rHpwp zz(kF|oPJ@ca{Wr7p(ER;z81#qd%8@hn_>SAJ@~66n**D%SZ2UO0{SVUhtI(p(G-ch-Oiu@$nf z6r`vU3or0D{bU!qz_ORwe(i+>s|I%=pt^&KUnkm4ePenuo>`dyb2I6p8OvmjI%j5; zx!b_ck|jMWI+dvp)atVe;Cqy_px$<6>*JC;<%eVA!oZnn7g!_zOo&nJqO8&3VU9|^ zJQfsI7Y2)ZYTMs9Jij!3YuEl}>B0r5pwKSpH9&^oy(C@fPP@*C_f{q&zV$c;5R)S_ z(o=N{{Q#%y*Zl#Dg9JTJ(Utv;YiX^Ze_Srga`t@J4PUFORe|E^5NOt4e{*Qm@QT~X z>a?Evq(|@-`J>Oe1_|Fs-jDVj~|2ka6h?@`T z)*cBq{6-W#FlI>-q#oN8%EK-TfXC$Q0cwh3#4d;fcEgv_o0DUta`Bpq{vLT@y6?%N zX&x>0Mf_7&$o!3X!%DLM!GCXDI7ZvijLcSk?`**z*+uv4i8uYr3^ggbb4Ruf?)70sJm|fOz24}J3gCfvjl12H!N&b6hV_D% z@9@__z#dnjkVBXXsrC5r063p-RN}@*qvtPKU?ZuaPn z#|Fe2i4$=lD@Tf9(%%fLUBnA5%ifp&=u`EAlI`4u~P- zrP&fT)zUXewQ1|uD5$mTzdhgG&O8$OrcVg)!YuA%GK98s&|JsCV*6SC8 z$()WK(sHOnY(b4lLAo+1^{Aa6yi1Rw*6aiXZc8Dum%7|mjOV3d`$HxTM;P8VWG4LP z3vj9VfbFkm9)vNqO;Ke4LrT#I`j>qXYzkdEun{OT8%v51Brtu-c?D<*Fk6a02`J^4 z?1YQ0rLPh+6b$e)LjolUNXJb-w`q$PZKkrpM}iL&B`+`2pP*3}obnHX*7u1ik z#O84oHLpI#2vhfZWABk#K$(&~qJ~DL=UF`$`&!0!ExSkzdQQ$FvHueNs3GA3SCn20 z(^S^@{rQ$Q&l15qIElZTXcnLexK~Sg+`VS@u+&y?tF;~4 zE8n{e(>7l7B_ZmgNqcD!U9j}eaP;liA?TBqpRdR4L%bJOSu zcN@-hXyLv+Yjhr?CFVzFq7&7>92~bGO_`)4n3b&~GT$FCjVqpBpVf~_&6h%cE#KJ{ zn5fMcrUPisk_@QrOCu?&3=RM8HM&?#SRg-%C*Dm+3w6*RFq!?_jYq-0DQWwSMdiYL z-^|S*vdv;?Mg^oZhK0!|c;pvp_zz}Bn!uIz#QRO}LrPrOa5(zo(`H`{eID%7<>uY_Ycy zeHNO0g#bK{bdJoC>kq>G0zDDxp6LY;M9?(dyixh?hAcTxb(TMHy6;01FiRBtl!g^MUR3WcARZ?7n?{#g*X6oeMgwB&DJ z5i2dAH7Q*cUvJWOfe`>$|NBU1m#$3A*OAWduM-Ll{z><~KtK7x*pY1HPvHzng%DWI z@xS$Q`)7S3iWbF77lxlGKU&mBT)Q?ZqFf8;!yfwBtLN18Wcdm> z9Kyu_;vqZ}_&-npz5-Mux{ULyPP4LJ4BnhPfZa4C-EvCRaO^5HwY+wHO*TzUU zA*PYG+Y8#j#K};@E-ltUkLTBsnvzQcu)QOLPcP31)GC#v9(Bfq5>`{`Q*cyrxiVJs zcpkEIO4GA|cfYP7v#j#->4pa~*xioP`EX3;AZA058^EF{M{|jBj#y(F7xJgr!j5SCK!As^f`kI`bKuIYDm96s~~OoCuMQz1l#WnyzgK$CW%0|FD_NbUAimkfc%t0 zh=&DlQ=2yp`&glB@tz%p)4Pdw4b0D{PGrd`=N}|X(3XXw-;rn&=12NWXIzJ&j?ykVodJ1G*Nacd*)OKofx2K_!UQ0@&t?E6>nHEk?I<_kK(92Z1Q0zaC&|d#T;7T z|D>4DyvQ$7_#1(p`@O>%Mhp65!uh$(0yVF?vflB*CQTKz&m5m$}d1lO`J9{mRCKN``$ zTz0N}=hSVLBGO%h_tE_7Qp#cH7TuX9;MJiuR{y_Vt@<*sb7(az_{CYa!_LYIKDZsL zsrDB#IytowcvY3cn@lShp(4Fm$e^=EL(6I0vSP_|t|hepu=fQ`SuSqPshkQd#Z`n5 zqkf^kh|8`pouuhVRR!uF&?MQ!09G?)#gz!M6aNBt{x`VbV!yrUin8dN#Q#oITFkws z^53oIrk_|SloccW1D3y4c>!Nhy6`_~Eia3H$h4xiFAlW-Lcx?@#%Yf#LZi4f4^Va4 za9|UoQ7HfSXw6O|&`x=PE}>QNmHm5Ygm`#bS&zPuH$D_v!Sokx&W3=WpY43XRQzjf z%Bi6KhS}Kg^J};S*~F~BAZ0R6mgCC-UvrQyt3_4fK#@C674=k5 zQH!*Y?)dxjc~m>Cdol(R9^*xb|D2+&cP@=3|GTRO5?)_n|D^f<6ZWdqT3g2EW)f@x zu(Z{A{b+Whw~?b=28bDMXbU|W2blFQULP*ownXcVy)V-Tz)|Q_yPj6@rMFecS7o^t zJFgZYbY|R^?lkj9ZSs!qdpI|rI#F!1%^V{-V9~b>hw?>d;QMo&YhN@YfX!EXOj$2k z11zuM8{hYwO70&xe+e<$cJ!&YA*=WJHOpk18u;5F2OKUh0@AhCxWp_cI*&u!$x-!; zi{_RP#Z})R%?!JVZJ-hA2U?;Rt6Df+ie0${$1dhddD4?!mvkApdG#UBBmX39-0atkWK+rdF);l^f*U60CCqB;g$fMB-z@!TzdqT|j!`p)D>AfQNZ#UWU z{ktxM3B1wqF8DZ#)P?iRN6UWv$#O(_S>c#)oJo$DMLG22j7Q0czo%XKEmB5#XEHtR zfsiLx5i=pkXMNLOQU1hTGun4to4zK|zs5^~nu9yBqS~yq21%*+Z zqC{mPTXA0hri*V2g%uUOJ*UD8-GNCwwQoMxWq-6GJ=;!+dW}U%1>zGUychHJCnoKWnB4zgOAf_~2n+-E4Z=nkmaKUc^f@_}dRG+7O*> zC&35m@Inc#Zom+p%aoFK+I6yJyt!%$CjWBBWwm%dK5Ks}kujWy>iFSn3;b-CKo{{8 z#C;s?XyxqBuP-Tfziy@K;56`DJDV@{Tc4-FbcbE+e@f-fGSvA zjAZm#jkXqJ7c=z{$3=5N)R1U6OvGx`H9C%0ahJ+8qQqBRDaknbK?^x!U*z11~C>S%My+xo?TKZ=H zN`KiduaP67A+Swfa$z6QN1DcaDM7K!NKcWrjN_fbN{9VO(7}LBh>e)w!119j`VhvI z9*bPpFzbJF=vG0LyTen)1JazK;4@V;1z2yt0~J#z7263imWFt0V$$tHfyyyRaqhMzdwCE7RdK$YXgj*u`tYIZ#03B{As2qp%v1&o zDeW5X)e%%oAQ`)~WgpKSgn9NpIuI2!pEc*k5>DF~LmRLNt2C&IhNB^LuAF|EOrwv= zPUqPxup`|nOhNR2=&jZg_Pjvw4c7CH# ze+~67L!#l4|2QeLQIE@^rM_vQJ&@Vmy49UnxfoISpfyKump|gh>3A#G z_u6gbge5TWD#?mv9rVtTR7@dkLpjVC9dU1S_z9k@>HSQ&5(TdHue%2Jl)NG zMEK;j2M{)0DZlJckQ44g%0Vy?h>u-R_~hp`%I95rJB5G2wU&~@aPl}H znY%kS%nxPvKQ7PFSSnYq5eHb_Uv`5`w#9@=ThJt3Czxz7F%?%rZE=mll)8mw%|>a$ zK!FP^JP!n1)}XB8OCB}N##Oe!s&||mi8Z0*sWXTlpJ-Ha?*)+#82>VN5qzVr^n`7? z`5viTyQU^kQ?6E}A2t6K;VBoJevLH1Ujh1CN6UrOrVd-@$1pg`cfdj`7Fv^%_HX|z zn?W=3Wfq4&p=8PG{i(&bA?V>VD|vBLgR}~oy@sykmywM36u&azCpX^)q3>%fo)%QUv;}Ld3}}jE z{0>T+iLs4uKMI(@!io4PZq=nl&D>9G#yhLpRfglfBXJdWSgOo$&E)z7=b+9xS(`&N z3Yb=&Za%{JG%_F~WmK*_6gc1E59i(}>LFQbijkCsK4^s|7=8e7aJsa9t1NcVl&n7i zKQdo$32W2%iWyc)#cw*b)E3^n1>Fip#D-osa00z5bw3!ytdYY2)2FZ^;l;QRst8~a zi7iQH*nlb#a$@k^O7e%ce(I@e_}<+~DacXc;apkcF(@q|@vX?`x!i<_CUs5~f^phB zc}MOIs?@qU{Q>~9`=v=>6SO84E`z-o=Fjh7rZ7pO$j=B{b+k!UQrH-}bQ%3T7r)44 z$ogDqGN{*YF-}wcF#Ycf!gNk2z9A766K^ zBcB2YW-lV)0^9&qTJwnV5B=jV$(!=;BA%;0YDY{2;Rk?&BJwVR6Ar-3d(3uEMu>8Z zM8|pF1;T48aRB2P%b?i- z{I9e73d4~K#zFSOBQf~4g34v(Kl|w6+AY8FK(s(3NI2mV8ecwU1iW7#I^-)9uwveU zyo2vM`y&BmESYm~zjQnVG|XAvu0}2a-d+MTz5C0cOt)Z&;~hVrTUod_*dFk4GuKRV zfsgWjPz^N8Z5YD<64zCHMtzjiUcJGlREk+>u{4I=Ge`W4zpD$csAr>E2hlgQQE47* z&I2-&jn#&w_LUurByNr?AS9lhfOHCT>Z{?dh=JDi+$vT03XhiHGttX2p z^D;J=gXH`(K;RUr>TE`jmB-4yJ-opNkt=K#8a`#svA)@l zRGyD6rXE8hA}Om2wZRo=mDB%5B9? z2Qq#$@fSzq;`V5m@ym3_`C65GG@iWm%mHoy)Ohs(Ib=1QLSDN!>G|-;lk3@Ynh|Vm+_ET{2&LZ_f^2MSfK$i$r8!FP{I-HQKC2C zP_+h$YP!8$KJi0&{6M)`%Z`^=xzcf=b;$Xi=xGp?1>gLUNi8`;#+evc;u~e@ridj# zM2G@q!!hH>zmRgMRSkES0e(pNuFV?Nm!p@rpMYD&St`q<2`=Q zKUDgoJhp;Ag1b+GJcj93zGKpN&9LtGo7q>tE1BT@cs}drEGSUv1Jirh;*XWA7MNVu z+vKVaTh*EU*3rAa*yM7H#UT;OCeFDHs2W$-ZYkm~zWml{jY0t)bMf=$XkN!${zR6Q z?QlCyc)-irly`VjD;MJsbFAbunuSFckw?2rT1uX**JE3%shE=OCLiO9vIQRz$%RS2 zN6|;TK>ADtBU`I%{)D)=n~b(h=@dhzhVX=eB`3WsExaXqLE(069~0 zk4A{Gn0gWKSFi9aj?o}bgVXBk5Uy_neN2{R<=MZtf_4wm*RwB{E*PO!;%j|ob^vU} zkG;=a;>-fSS8;pi|C&6)nXn4}D~uk&uWQJdr`7&>0-|?d${Gu3r9r~v5!BF5wZLZz z$enP&6=>uBHC_adrOY{aV1%d`0Nw&6rABA3>n&WHA`c5k2(-8deJFn@f--_B+UkGl zU8@|Xs9JwoIDQREPldo{X?8)uf{;CQ5UaVOGf7&fL^6uLtg6)J{RCty$*G4qeDrX% zUo(C!8dji_B36K+y}af@L{~}EgzI#8)ftj|>XaS{34atC$@t-2nAV&DXvD3BY~BB@ zfiiOG9$@|ZX-V;vQ@_J#|GXx~$j)QC`uGJkl8K#zpRARboG|CdA6!Q`(I?EySN`xF zxZ+jc?a#GcTI8HcTysml`&A*o^v6Z+q!&eFg{-}3u0hiz!B>@4>vMw0(!kqs$_5Jm zuGmKz1I)`HTs8u|&IX+xK>dZjaP*T-_IV# zk(ClxI|0Lvx}@EAgk!b`~`<;rj1$jw1&T}vt9K{ny%_H1M8hb&eXe!~rg z9qg}jHE(m;+ZfGTB)Ps7-39bfA`5@%hDSI$T6m~Blb#r&ux#h|j-DP}OS-P+0^DR+ z`vY@@bvt2%0aVa9{@SqCjmf?qkDiZ?kL%G}k4mr%MToviFoK%sdbO;=bax()rx(XU z&~0xozHTvr%w-?f5ZfHf)S76L$eGaU40f*M;TEVYaBqzMF5n89IBy5$qh^4TiG$Gd z)O`?|05=4+AXx*P(?DC3BEh7co`XB%*p~)URud&1099nObdZoD#9@F{d!=D?&;W%H z8y4{o#?ruvcw4w`wM82Z=t$Hf=#Qa@ED+>8t<3~q>mM0Pra|??9$lU84PGx(o12*1 z{1T|14n40UEL2MlcG>3+p>S*BMNJ^zSLRVWo=LZ^rpfWk9zS*UH_p3#<77F&jEWv% zxKiZ70QmV)uwz6ChVL-wSl)!z>zdocp6nP+7;#Q5nfkKhzIcfH_0(ksbQPCHnpe$H zRJ%ejkV;$z#*iIjdEg9NJ9qSc2J%><;lW_SX6?1kSTAPagl^|3rY%5y?(Ffw^PeMn z02pZI4H_KaNHDLpSvPfV2k$wgl_%qQ#4X@q0JD(^0Try(o2|%;nlD^nXpb>QGy^ds zzIlga3?u#JZzz_#f}Mb?>ppl()6Uu+{}9M{ysL4?E$O znQo&e25H@uBGayD}3SZ-|QnKC?CM&41A;K5kxT{i{SsuKR7aXsKR;+#e~jPYN5 zeC%n=^qfBc2OnlQi^e0DJg@y4Tt`j%W7;aj!SV8VR3zE-W5IbpcyIEn_C9L38@a5 z0#9F86`^^TC5e9BNc&g=TSj7Le5)yHpQYB$0jl$i9hSYtbijqHGSbH&Mw_*yt~Ovv z?%BI&Ho^Cu02;H5X1Bp6+;~KUHQu|pqT%`i7JucL-1qwdG)zp(AAgJP6BU6y8-TZ} z3QP$z$1M?F-JhNATP+Xb=X!z%&U>ZOQnck=0%-8c3X9=){el?_nV<#-afuKr8VhBl zvziAi+@LUZvlwCuCY$C2c6}EUTZjv+m1wDxj^OI%P|$?->0d@Z>NK1Ch4ebI{lG5b z^iT+z6ahDDlko!Y*I&mceSJq9r2x#q#`a%35{${rb3glZ4TVe)Kr7q(CTS;k!`Bbf zUGKpStn%p446gK4e&*nJ{7`?jyY9bF!|FFoTVln{n*n*YY)_u70m<+fsVvnFF}X{- zw9l!zjDO2WR&r+19ERs!;6-?vHpz)O-JIYdW^29BXAuc=$J->?OyO14%LB+oZl<>8 z`*Cww8kalvqv46P9N8M$s0CPx`!%%M4j8k-L{&hX){e_wpu(dZTtNo%NQWVSz;+^kD9xWP@*9v0+M=D_9hGh{{y>{Sxb(g^)@cDAeFk)B{r$!F{7lecRA&Es%Pr`XG?dYN*mc%GOd?JRv!Sd$halVfU%~X z&!6Zz9_)M9OQC zP7#7r<8iY;cK8irPh>I&HsG6#;u6VBqUjOJM(p5`u8Y`>?u>{=M{2UTVJ>qe0o_1(vRitdJkow>>laNa5w~KH;#nV~x@r%9nFpiCB zZdW^f>PiP=a0J_97n<=}Dh`Z0oh>t+*M@bkS_uYqDi++l+GrDT^My6*UQ*$JvJ|B0 zz@I1_8UnHcHKRN60ErV>IQyuiz@Nr{^hg}9c*?AReX{eI7tYQFARFaa05u44Z&CJWr97dIb;KBI zHV$mU8x{pbxLI#zo>Qx{^MYDFTuG(BYZ0GO+z4faBMf2Z*gRCGu_P(Wveg@6s0wE! zF7C7o6Z?>SQh}I7#!sp~kC$dwj^GVter%8iVZK;C zTtturKmt~Yh$D96Zt=`r$6q?9KO=8GN2m)PF>%V!Gc{%R8p${q#+GV%U0e6;5Q1#E zYnnQhlR{j%^md=*@k=gW_FBn^%7sO%g)5jxl&8$JX@Bk#YGC8!XE-UfjYeA7($<2W zXD{dwRFr~q#wub$*N?Tlu=Y-TFIjT^jUJ&6;39yw_wm_aH!r!jH~q#}qvI*5EwwyM z#dp$(jzJ!W7=OPzedocl)Lz6}bA?@e%024?9;ijR#9xBRifiNnzK2jF?4=y}7p0ov>z08Pg1mzM|-)xE{%SERf1dT%K9EnhQ$s#>&yi0g` zUt&VH%PVhgU2e9%=Uw+e5)leTg$Szvf@f%_+BkJVM#4Hs7{+;#K4r=PmGAS|fVC%+ z*>9*J{tn;;U{9R>TDQ#!CcV?Rzt2b5+bI!2TgNuTn9!?E+Ag}HElzO14E;0Y$9XCV z9X7qr4{1L2z&_Q$Fk3Bmr?_1bqu80J{UPB?av&?aZvZy3r}@6J2kHDp~a+RsMnDCaDqU?ho64cVBBQuN*-*)a3ttn;nAYrwu~% zIf^{P@s;e7vsd-62N@AR#wnw`LlQTXv}CAU%!=l)4qY~)ag2q0`x;VnT^mV z*J)5n#ABSv?*=^vXfScIbmSR^)Gxp(Iu!(hU;Q@L<1#0@=tp1n#)YaSsCLI&A1F(N zQkQj#AF#oDLu|AGsn8W6 z*<2C;=cKCE`V;FcOJ0^X4RHV3nb)sQcj14Z*nQkK=z0CY)xFL49z8I;xv_hKO<|CcixFXl)HJxXa6(d$DXDV6T2I|DtdMemJ<1}| z<+r=I+BnKz^N5-yV6`_sC$Np7dZ7MFq$qEP_Cphb)$FI1rQR=;0gU+B5ZXvjF#%8- zdyjs@jFeB{D=HJTe;t=7Y5AY3d|!7B;k#^aR5AS8anh!fB<^h&V#SIX*?74G2%j+dCQ+f4HiW z^5bX>&}y1xQ>k%XH+8)#S-iHd+0||MK!}RB!xVj|V$VX_S=;c$x+ zpYn<8?d@&vcu#`A?l$I=pHE1{N#%Zoy0oV8@b_d=dg?>}*lkF{O~Q&2mg?IE+JyFo zz0kq7H<)ogx2~M9m?8P-`8UR0a!9N$7-c&YFHyMiY`6@7OIi=BpFp^KoHGcH%Dj^) zZe;0G8&z|{%n&@L>Xs3jtn8%UPCc@Y!ZeNvcO=ZU+JKN(l?p05j0|F$Fb#dK%Uw7}Wb9$a$*6jo! zbFLna@7_U8-aM5MG2v6I?)142Q*X3`X*}Hz9Grv3CTKoZZr4{##xnhY&$GUFeb4Ff zeILWLEB~&nN4goFNOO)@JvxHS@ouXsVIbkM*ouIQ-fR+X`-`-wtevVPSkBY+V*@P6 z;ZF+iE+{U*7vp<}Fi##I?mirMSdT2PUaL=QZ`UC1ZXzl{B104sV%YGcOXE+^ybJX1 z2xs_@MtSc%+2`kW&j10;+9~H32Y$qD^h7FfQ{JqK!4>i~Rfgr6P8LF)bp(khi~7nq z11pA|h@(p#-@45~8S`{&8kHyg?=a5H*P*PKz}!Cpd9XVV)626hl*xzCPjvzDt&+I zBsCce&g)Epf;^0mz zaD2MiCHIPE9am*6NCpG>mmp{tVT&gK+Lw!vz#dz0Ykd$@R~uZpS`SHJkL>MK;lo4 z5*H^Zieqhi13cZYZA~TfQFyq)&1IOn3j=sm)sE?{1u}C*U51@SJe@O zb**FQz2s_gzQbMzZv@OT^R+Q9G5{ z`8p;Idn?@#B^A)J+48;%__bt!HI3zBs9>^5=pkM0!X=*QaKy=6v{%wP_0M#Wv3vsa6z{DSEI+mvIcuLzSQrqN^ z(M4nFOzh%I1sQ_8SY}XzgrDz8LAjuv7{Kwm0Rf;g?5T%$>CT% zGZIiHQDZ~IuL%j69wDe%$|4D2NNqebR-t(fvUS{|F;0b_#G>yI7he`=sZy}e)8xS$ z>Q2Xkh`Ye`;jz-g4t&q)fWma%y*#J>0w)@J4oAK&6voJ;MiiK=re!azAH<@N<{0(L zc7|Ax(8{PxLEvpico>uMMp;2H;S)#HMjFJs@nx|Czor<)!c(CC%nC9J{~@GY5J@Xm zc)&oV(bATsYn>{IHA6dn)x{!@+Ii}bWM$u2p$iiqu>$1hWvlo10p^k%Lg{P~e+|v< zMT;ys?06|qGWfO@;0sh1M9a=xNU>Z<_22!1*;{l7HE#+zQ((@-MEyP!z{5O-G|=j} zcg?t=Gw`lUtNnB`W8nLE$R=%KjF*!?baUqRlc&|X_0qz85W|ne-LPtP{MPoNLUxf6 zuXax=18={eH!X8k3g9f)K8It*YvdRgYei|_3X%_gA)2a~JUvO}W20^s_wv-00jgZA zU%=dbv%lTw;Kjn0_mjcMbi82j*=jm6f6P9*;Foc>wR6{u!qu5DyB_5p&td9CI-e2Q zGwg5Ed+=0a^KcP`@U!fsYdB$eVCX=a24mSiz(mMlJB*ZWGNui$||^>-4y1KZwtJF-KXW;zH8|F$HDDeeY8wf2fGBX zCTYwrutqv{W$Aew!=A^jE;YkBy9S+f5p~>{V+#zZcqj1>*u=}{Y>a>wlHloPUB_Z^ zB1!>;K)u@xNB~A%`yH}9Q^Q0@Ar;9804B^xCFPp@gJYmsh(>8CF*z7e{9wcW2nb4% zj*M~BVts9LxAez<=9?H_QKVXBSDd+$D`t99$^xT^on->I>$F9mE`yOj7)kVf(B3}7 z0zaq1zU)PVeVvEaK7uVa*RMiBZO?ySQ2BTA??Z2jb^wn3bZp}{Nk}drBJzKsmM4J1 z1qT430U16gmc^+foLu;z0aQS~4KTyP`sbcDZJ9F~=gs5s*s&ptI6%}LCL77LX3{28 z$fTP%Rr|`BilN6xxi51Li7+xWwy)+s96rqf(UePS!vVZ zZRJoP&<$6SQ%P5lXJU}t+tNP@?KV#Y&k&OBACMJ0e*fz~7kg9dZov3nHHa!?JoNdC zKLCuY!pW$zrD2$ri8L|ksTm%vRDoU55)5~1DBycO1f z)zh850~uIu^ew~%`917TKGQ;P(Gp|u($(?qZ)q&SYh3sZxf9G@u~&DT)<&G+S{!~p zU0rD4Qr}Yl4ykvLR`*;^4k@HoHdQ@4wG9LgF%-i6Vn$VMa1%xN z90J<&+lN-F_!lCMpxyt;Y?;$CA{Vy^*+vDIqCSA7K2Q=O^V-R08(zpiDrfYcd}~MN z4l1PgOt#~WT-Y7O}W+=9|y#K7W&In z7{OKSE({d;Y*AXT6?YTTkzs;TS(@F1rkg z7%~3EQoYB1KP8*`3>&S9*izA{c|IFwrs=|8DG^Yys57_u$?fEFOn&v5WIRC|_%JR~G z$aH08BjP7d@BatBuV&#(W5S9V|1S{0?N_^?Cnov-MJN8;qTfrZ1BcajZ~YgCwpN1Pks1HOWyB9#`$gAoF~s6X>%Smi z95(oU%?SLjFrTlmzghhX`-|28M;PGmI0oG}l$l1>)sU3v#3a3g$(MTGk&qQc={>%# zI%+$d(Ta$(&U}krjldMVq98VSlTIL}YM6+O_l0uuFnv)CbY z5V(tkI%mkX10~hv)^1WRuN%60Lm_H&wD9K!hFCS{$xi+$%n`awuxzHO~s;W_10cww?@ZE~y^HSDr=< z#RBl`kv3+V7Xw9zMK%}xxQ!o38%vvRCUr(SyC~LV#=WL6)@=wAn`5ow{O211z#2!nrWmXGZ&My)WPscl*`0*=sF0 zrR8^!2EncE)tTKhxWHNjqU(3h2aY{S^WkTD9JJd!vioeF?0Rbu5*>f znC;(XL^Q5!1X&}7(2*eirRWCkjN{%cw$N4#Jjw_ zR0vlM+ppkQs4~vP>2k}+iy$sxccnpzKyLa9^SIZmG;;O>j+*COIX_XYurMsrl$O~V zaG5HnYG503x?3akWMYON6-Gr(V%=1N7mo>}?CA5%+qsp%esU`?fRCo8Hi3@+l=b)> zUBd4H0c&w!r+&KI&ocQkCfP%qKc2b9pa*0!c*Nt}n1mc1%#9whLB9kG#0GqE1_g48 zrEZQ9=40`AXJ@0v{!DN!X8AtBMTA5S&^_Ly1sRZU++k>D+=6r~JGqF2n^o_>x^%n) zHMHkJIXI%44@RzOL|eCDpK@g_nyO9^YVheGM8)V(OXWw*87Qr4_et-dv{y$2@j)58 zeFjm_z0Rf0kX-iIP#`?JuS-M`g*vDPIP$@Y(O8Cml4&m;VwsBH!~;;PzM@| zzPvay=)Em#F>$}GSo;xT=SH@#GQTw_DR@yJukKwWi8axejI0~`TNu}DjdNi*_#u;% z6H){hqQaXDf#Ay@vl0v6rWk1?eL>brs(;6bsDzdvlvm2OS1gEFww6~8uQ~%5R$MZX zj7kzjZgiqon=B8OTKcAwkWxVukQ(4%RDbYk)~kRbticMKQ^qMO<0nmfb2pkqI+OS) zB2Jeni*Cg=WEq>x%SFEIQ;UUG*iMaNJm6Ss$(CX1f*hESJG_LRMHCf+Nh2QrHG~1G++g*Y4hbf2`Ah*pN#Zd2|J8YcNq!h;id1Nb%(HZ~rB% zF$1f3`{8YK@!%a%e|qD5@4hZJ`>6XN@MEW=25DPt=Y{tWI%io_@OrnFw4Yb+1yTGo zL2o}%n!pC|arJPr84rm8*uRjc4b&NKadfOBv&9)vQVc)HKs&P}kN5p@ZWt*SczgQT zTWXdPQtDGXE0jJ-=vx2f-c~22nNKhPTzKhzC#PDeRt_(<0ut{-D{jxhkHDWJoXW6D@KAZh z=JHC0OPJEJI7h43CsqB1T!BPU&T`7(C)&AyIXfN&l+gKr>;JXB>p%sJnqr6uD*h#k znR5jGI*zynqLl)(`PbLf<=1*HC-eVW&&6Af#^t!tGsrsvD)u1kHS{CJB|Yt|M1^dt zMRfE^#N^VXcm~*9)7MLt6Oe`xe}nku3N^Ydz@I`?7$}z zS9)T&v+xZ(Ou6!CK@G+#X`S<;2y0B%YT=kf8K%Sp0HFm?Qh~9(3J|yoT=;H3Uk^hY zQ?f0eVgK7&6mtC)0C;Qm@-+;+0K7W61qS_AzR!tc)TbVL%9fHUb=(MlU(foo7WIPz z$-${D-7&)e`@CimM2#|vx5tKBAh5&yKV*GnR31&xWpIb!1a}SYZowtEySr#oY9bA-h7Wq05mm zUL^;wkAt_v@`C<+GSs#hH^JmSAj5YQLw5lE_rZKDqC$F|TPsr2YC+Wb6MAn_6!Y^WE-Sy_!b?39ryM5zp zFGo9^iLA@_uIpQ;D=Y0}Bh1jZg9@hfu&Dz*-2>2k*)^@#nVzrr{Qhgz*h9T88GoAo zTrYvVi4sBmfo=ioY!$wK1%U9%;sQu||0xw9_#?K5y zhZ#925ih-Gk#As=2K_#X#a#C{?VFYR;#}kBmmcOF_Z?t!7drG7&v|Zi4%t+ZF{sM7 zl#QN~KP<5!l9PC%iO}~bdWM{zGzMrV8=trt8X!Q_BLq(?&d%;A!C7?VS3?mcZP-H0 z_cBAN(Cz~byV4q8Yq@?O1d5vs{tEMjYrClCtE)yVhRsu>e&5;?u?)M=n3)Gp1>rcR zQC@r&evv$0_Nmhztw__KOcT}#vRZWhY(dX|Hr)G=!s3%;XysF40mX4m`q`60X&q&+ zzBp+5F)RmOic4%tKYz8bh1YiI$iNcCMT7iAgCU7+FAxja`hwzR)Z?gBH8smj-o`bq z0q$tO)HSF{3I)8gnt>#T_F2Yd`vvy;%7kFQOY86#Odn|p8+1h;3xkwD&XUaqx9b;6 z*bikIxltBaLxaZ3X^;ixl73rALuN#_+Y_K;d0AS@Q>?4-y;1Q({cH;M;gSA(gKs_0 zlyDAI+uFM-o_dNwKiz|lM}v^+febKC1q;%kIadfy5A5M_B z9CBMey+BBghkD#sb9nn1(aL686r0G=P!5^uZOoY@9eaHxrT;YN6|Ds1slghOUzr{sEvi4CYG4#>=w2vA{4J>kY1PWv ztHUg#=b2~gR?mN|de&!IK_hKD5`93CP}_G7QJX~!5ei~E*wbdLdZ}482hnTd@-dj% zZ7wcqHv!8!bdT)F63((YL#`|-1rkN;cfF~!hI}JT;2+J1j9Lz={eUFS=_DEu^w0{c zh0&B3u61I<95a0hlJK+341NgBSNmLxA?5jdDH(=JoxY%h6jqIK3d4@Egele|8^%gW z8d!5HEuC&hcMe31g-b;v*W+V1?7Xe!W^%fKz_r_<$dlQW;!H1vc%+{+<%@#Z3 zylb3zM}K?5+%CRLu1=t}tOw8{Hh-%zQmW)I748=vNd0i2lj)GM zr}K#zDPDE8GUBhdH{s2okex!%pYN{w*_gs4Bt!m@=q4(A^wLg}^?pygAon|wk7fmR zXpgK6S`)3SC-NZM3B_r4xo|QAlBK7R%?tM-O|coG#qI($cd~+(jPSPOcR9L2Qg=*i&k| z<{2-atek@IXff}EYziW)teiSFr)o>9Bip`c7&lql#hG>)J7J%vrl-yn*@W>aW#u<- z69q>1GJH|Bc~A2diR5C*YP#u}({d#|q6o&K3JPl6R|9Q)TUu34Rgmf92k=>18I|O+ zr8>WWNwk$)`D#T;o$eow$PF1p&bBI#TuUY5Vc_rQ#X%(n2-I-ou*Im6J;EAK zaltB)$9}E#dYWHWI2)%wUQY#vVbU*Bq0B~9t&6gWf}ElrLpzXVd*b1`G%h%osf8Y@ zD1xuA9VFv*1};}FVMQnx`}Q3g160S6xpYN`*>Lf+oxM+4bki_{K3V<)!{Vb1zi*Z!U9^gPL_} zMim{ANd%x|k|fYzo%`Xh+qK--`!P{@GA9SWGoRng=~2yv8Il^<`qrL;o?D-xI!Ykp ztsyfAI%L6{6Ci_#<7X-As5?^G58-x)XLziHValIpex}^iN2ajW_Y!AHNsw+%5 zOXZ1^HSYm?92T^o>UXj#zU=Urec$WC9nJ(Jv>rQqwM=g+_zE5@)E zK7Zs(asL)}CWR2$onLY!psX6)Qexr-+X3q?Y_oPsZWCHqUD z$GeMq&!zt_Q`J@N%%m$uy7S|N&!45rYX2PDUT;dNd`g^>NgtWqVb8uZfCjb>HJX0O z8c>4?m^wNVFfO>Og;LrC5f}YU^8gZ?L?0RO|3(^fQB#`e<1Z^A+$ju5+uN?dTZL{) zc`_|~fF$HnTf4dirxYrB=)h;VaC0y_;dODp(LQ51=^2W_+_mJp6}W5Fe8+k=vP<7c z%u+^RoY}&pE9!slZ=p}4iOJEUXxYlHeuE|(Wc9+M_kb^mDf&+T)K+ zCp1~-Wyd=erP0Z3RoNUUsz>P+nG0!No6KvV6);m_Jy9> zH>dC1(3q)OCf28@dAVMzp&V6Okcbj0pAyjs1Z6MvM_v-P6g}-6_zM zO)ITG)&9y)a!*eJyEGKkv^D#kL%5y`#*PbrHI*6vk`t?txkQu+oYc_DPc?TzI_@iC1aCEM|(W@iU<+!1bUfRUKw#pwPKgX%BYm61Q+ibyrc7^`g>~1w8Wy`yKl=PV&Zz#urBU zXaqra-2y|?nDYwjgr3Bw_QtKm%rocq?XX*B!Ee0tMIc&E3W%FTRGO#>HK+b1j074< z0f|)e-Z&gSJvH=-Fl7}9_J^D3T$uhJ+cAVV<660jEZSKILh2r_EA6}2%1vnBtJZdx z1=eF3vlC1jeMg>#Akg!ok$8H5cePnBC05*}jO-^Q10IN`}3^QWy5uZLW&^oP7 z4*4)DxvwroQ%j+OUIF2pLb@>rCAJnW%l|gMQ3dKGe7*PSd~Wf26(qR>F?8y)%O%An zAFL^x?5}JbN|d7Oa526pXk-XhelqwG1c4FafBD2IcB@}45BUfC;3Zt~a+*;T32X_q zas}KB*+V!)k_j(>E6F~ws5P<=4ux>$4`Zy*R2zYzLBj1@YERR(GLB5Xskn#{3dcvT zlPUtO$RF~z8Q-N@-mpzF+AD*!#MNQVPCK3jN5vGw|9gc#Soxn6DNd&UQlvOp{-sDk zumBhT_VGG^hl~SbO=f0-qyn+Cb2I-xAO21I8;)UWHlPo6(PSg@_nN01*S zm-7Q_c`qmOMsUE)I8t@r-Ued|O3}(xT=P#eNBjNUCzjA$Rolo>##`DSdXD{ZK$h*3{IVgicKV{MEoo~Sz8}OrSp`IwcBcq&Efs+A| zm=U-%0tT>1e{eM0l-+={&aKzgb;ExVvL6t402?$~9v4737Wz0plb`aN#~Zovn`OW_2^ZD6F~2|v24<>8%y`Z=sqHy83+NFZ zk1#v$PIz&hHQ@}y7hGUK2QzQpZ~V{v`*UusDw}iepmNDRXm9xiE>rXiZq+J_K5_3c z4lJO{h2;Em;1*R`N|07HO*c(?;5bwahA)}`wmL->`d+ncl zogZF7*^%Skv@H}{tl`-ONFaecZN&{L^ituDIPLK6ehE5Td=5W7!#qeE945+78?EX*>By0=(P$>mdre zu=ZGe^vDEXAisCicAI~NBtGAo5I%BNTi%=yUd17^J^w_b@O};AVy1k@CXx6&U>zTi z4Wo(6WkP&a8V?A(WnD3%Ft+5-ALoD0&VPiU#&h}D5fQG9&jY)L2^jK;y8>Qt|EJvV z5Ab;V#FNJ1L(l~EsW?I#Fa&|a8HpVCBc=7U&p!hkH2-PU#+8A?bD6+8Ywtnfv5=8{ z@5llUBvlGPB#rp^eR;RQ)NZ?i`1AR?EKA9?=J?-R2T1=M$&53bSx%FiPbm;I4@7(3n@3Dx#M z^T2k_P}`m_phHjtkH_w3>F5qvycd*8^$A_cHKr4935xS@td(GdZgs|P`hB9MHsNPu!^oKwX!(5KO9|)J~{| ztC4c)5Gs^QY>opcTpOHcAARJf&4h5aky^{1A2JJPt6ey850nN)J-)&^#0$@jS`KTrL-llt9v+tev29r_% zCSdQts&&sNlwXcRUJiUve7`A59H+vuZy+Nf1p;ai*vj0wfZ?oV{|q-5c0%BR9jpD< z^Ot-jz;eVN@BDNog;oIkC@Ru{!2wuoq8d$|8$e%BbUBVn04XZvDDwrTTS1jOHx!xl zOnxUjm3@92fC7~Ou>}k80kaPzk(#4S{fP=x=>LF5$^(KGDBVm7MQ*Gw9zqp!VNwBr zMKTBn-1To-5}%__3iq$l*@f*B8)pL$%%Q`F*}s4SI=?>2qwO;n7gFD|itmTK>og2b_+!nH|x z22;2b$-)68SpP;9srdsSnYez%Kch&`Y2RdFSI4+1faz@zr~xp+s=tuyeXehz0u>{H z#w{5@^Q5qJ6u?v_aib5W0mx{P6p5hdeS_f?835!1>!Non@~Z-X7O@>;v=YDbx%*{7 z|02(n3nLH(B0uFz;dzgJ4g=`h?PenFC?f)MFaYozjv$|?ZZjzmSsX`rClrlmFmAF0 zUr_|cm;zd1pl_mEBMc0Pyy`|DTn!Kj@?-qpn@&jpOh@C9BvS38ha)f%${a$aaAEoc zz?&V2ObO7q`p1OuqCE(}G$){bt?Zdq`n#NTxHcg2RQ9he_Yp=DxeHTE(uM-Z{jtz{ z*pys~+{D^nmt67&=Gk%Bzj?N(hS}6b`(J!!^8Am8EF-iM2@}H49RC%!@7;#3DZU#N zx+b=hjn0#j+XVcgbO(YqOYu<^sX4gcF;Xs9{nzBH{C|ZaK*Z3mV(*m{G-f}(>F{wN zz5}ybRV z#W3smKCzqTPUs@)i_L+Q>)|JYkwBYpZ5E!C%&338WYEyQWlReDmTzMDbuuy4~YY7M`GH^Uz7Q~2l)O!l3(^V118Xzw&T z5>IDOypr?d;D#(r+oQ@5_iPk<&{Ngh^PZsh*R53_zUQYr=F3pl<(qlZU5$@UWH3D{xtsR%(t#JGM! z%k|av)5nWTZ>-BRSI4(O-4?1O*>1?=fsz z8%P?6lh0`%NTv>p4_1x>C zFIwY?dR?eq(hZX^_v+cM#lKY1o`!ku3*DBo9yg^8QpP zwihY-Yk_+MJfsDpr^S$Y<;+ATm{fbc7!u9zasp6`v@5{|6$X?a!sy|=_aC8HXz0QF$ZSu%C!@T*rPK;1l?ke zc=0g&mAB^3lJ=`iT8hx$uc04#f65!5@&3$WKp$Cb9jGN}bn9M1c6j(Bx+c)LL?hZN z5ewx?-H|?nPB{9lHjAh9NRRPJ67gc;1?*E% zl2#g+$Z4_GVGJ8LFOPAlp_21_-d!m^HdECV?mk28CD3CygdJ|Kmi`^n4AcD(q#gISq4s~hhA&6WKts(qy69dh~ahlB><`mEPhy5x6?!{lW z@?Yy9wOw11ze?ECmq&A?!)fz&I`}-qO;1pT%{wPVZ`UD$pgUVo(-5xVzQ8h(7jmy@ zVNzJw*jbSqLV+{M$M}?WpL2rXUE=%R9e;=w_Z76u0&Tsyb7&qexFWA@825TW7euet!782g%p^8@zdg{W<@8;i5Gy9*e7i(;&+Dctdeh(n6 zaf*f#92~cphA%&X+*)Z!m$h)@4ZEbRH*u_Vf*^|=hdTfM*!;ZVLqM>D=xmmotbMt9 zC1lCnw8)4gzcNc@szbLMQro;AvkUE4Rf%d!09{788IQK zo?-^AxVJITr1g2AG7XuyMjIZHK~6|&m_Y-=4ENbn^U4qcL_EERem-YCcdF&AK8HZk z*hQ8!?7A8JT26JW@&;M!bzo6*y9Q?Q^{bCx9gdc>@n&SlXYdjd$zMbhtM_hX(oF)3 z5HqT0E+5iq=u+h-##iMI+b6G_&mtjDPe%lfO$E)qT$Ah_IAwZneEOB87t*CW=vmmo zpV={#s3SGu3mWfNHNa}6I8~1}Ui6V*Z~eTPLU?f(I0Hgp9;rqUS?c`-@%r|g>8c)Q zgJ(VvQ-R0G)77PB45_3fUY|$g@5}^3kL_g;EW?cW$Cg7=N>oDCO(%W%&3MnM6D>a(BKDz4`59OK#zwyX?2 z>?uXaqYG!BF<;%hn^ObPJ>|EOZ^jX}T@K=dG-NMU5>hpwBZ!JEF^=%tOk1!)xglppKoR|7s?dVx+0=A>ylNdyFf zBA=0&+dxG>W@i~T_+$4m27;p9hO8|M`Iief}LP9VH8coW|IL98f!kSS;OL6|Ne&d`n}ac;sxvu2=;SyvyD~n=4IFf` zcri4;cM1vO6bq<1ktb^H)-{|p_F6VkCu@j@UK#STw*`G}cHU%kZ+T_vR^r?gk$T$6 zKVdO<$7jW{>%OjBd)!ACWBf{wNS(dtX&vFSti=m*vt~24_3~eMOq~83=yjJQm5kbw z6bGsuwO-m}kz2rvayS7?=V(wiDHFHZyF4ZR>+0mQ#Wk?vm8oye>*c;c+E|ahG~#|r z#xTZr9WP2wxz+D#f67>S=VNbMv4&b`dt!fTpQ%p?Tbgyu=3^XsLPL9^`Mcz2v?JHp zTox!6XF+4!ol&Q}w{KCuT*h23MIox<kmila7XEnM)cjjAhZ{sNSb|`xWQ$-b;qlcKMpGMY;!VgwgR<= z?C(7}kr~b<5iTZI{iWx;#3XsqcZ<-Qu~9g=mb|@H;r5D75%HQw%GV?kKq*Sh#LFsQ zP0Y@2wu{qEbRRdgFKE~;n}TmbY%F>$IZ;`*JFmZL*t@))KrtUEi)0s9w{+l19(#2y zD5~Vvy(kjj|3Y21DKE${3oI(JF9OM1|0?v>!Wcj4P?>X`G!x8*KDn>`HF6yl5tq2( z;mMV~<-0(3{{(Y>XPfS|apiWBy_mNhuih6yNElsd@4I75LEgmmAf)2)Hb&3Q zYpJY#?})EQuirrDMJ^<9?|R(zQQ|t7m^{ZU7g);0yQ4iY4 zXJvFe>*L$29P160h}P>t&lQkBbW*l^Ns-_2@cA}uysVdqgwWDb;QG#y$K$ z&qL8h7~*|1ZA>82YSi2bbHi>a8}fAA)N~G=J<5S&5M5@~N@AUZYaz0Fsp&=M$Bsct`b}J#*`kIprvygX6V>iA494hx*T*^{-0CYs#SX7ydqz2)fbi z#&pgl|8lHteZUzPw54zTv zboq5_2#b#cYcIFy_P&2jH=*y>=9LyU`k}JOxfupOyC@r^d82>oJ6S&5r3Wh{n{i2v zYlW;GGrZ&2Ln_R{wu1)=*I(dxd-?bX90>Tfjy2m>|A~59D|{Nm8X&d(J7eig<%U1c z`PW7C(y`oY^N3;8hcSYFYCQr1-`#2%NkjId1<~!IY2j_fbyecH7DuDuz0H8{$zpOsFZ3=;(`5aEX-yUr5n3Q?)C`hc$bB%Ee z%bJTz6u+YVXEK#~fzY$KJZ`REbh`umv%HjWd`S9;v!wrOK?YWUGM08a8@b%{cKQ6b z)A#-&BxL$)NYfi=YpeHb5s{utDqP%}>stpRD2=(XJ;bnCo$*nTsDBRSP0pCN1A>Iw z0lra8_XMum<>5A1oBQq;0htbOmK@Gtz6&eJB=CW21py`JbIiqYl}2IvZ#$jSGsGoA z+UZx>%?w0>wZ_pb1)C>y+@zMF8Q2qMw{!v)k?A>S^N&_&xKFRObaF7|1Q`RTATZ%h zGFq6AF!TFOvia`n{E8arTfLK|W|Gy+IJMyLrpAI8mgO+;o4sm8`w%rn??%m?E3=J#{J+SkWrZk37wHl>Db4-?x=y zZ{Di<8j_9j#{c_HccKT3>nvJ{mZBVS-xi-F=3?)!J~9zezTXz(8!sPvE}ZH^s)eMn z&;$nC{?k(cWDYwPykNbyOtVd{f;6f4;rh+r^w``i6d=j$zNPAf>@`3YHwKVxL& z4}3`mL|nk%A(^7B_<>ardd0V|LfI~R1b@AZa-M$QoToV7WimivpU}iJo*`72 z6D3}j2(?Ekm3l%YM#q_Dg3OV{cfESBHMtv1HQ{qPzg2HB+|O$W5-eI=={gW~Z^XNA z@uSK}_{B>@?;o~WBM`X=gFw)Fx)F=vc-f8irmHIBmBMy0&TNNa^pt`D{&1QZ)@FK8;^l;_*#i?yxP6w@K2( z`fkuA?Befqn3aHKwDN^2aRMApA6@;md_jg{oZxUvTH9`aJsdbaBt%4z#shPF6sOeh zDsEkEkvu2;OOOS5N$%DD2zy#Sz8Y(qD5PyoN$M{Hr}mwl;kxnZOg1PY>5&4?ZoF@l ziMNzi+pN>F3=*uVDpS#W2eiy&e~2`7gewk_O8ar>=#eiqS`=jScmK z|IoL=2$?K`+v+D#tnOML12qgz8>DP`{J<2zE6lgR;|>b)5{cm$S7QE#3NEW4t{;@O z_pHJ-YD?|v@(rx$r|ga*fi9DiMFHd3=z3yyGIyKfI5UTo?a)(3cy-lq>ZS6Qq;`P& z?S9aeBhA1N$H&Rb_!GuXwxw)Z?jDK;X|ja61^o|?1?k0*+mSqLG^D8TRm+hAuMZ(- z0zQw1r{tiin}o!>tNe^AXIR$J)D3-}z|Bi#4_~v?9?4)uo2;M=lc(k}j-<1sk17t7 zR4s@XrmqwIlr8%e4()=!C2+U*3_~n3$XAMfV>aO%0oh0+q+D5BeD-kuo`kg9fnwIV z{&}clIM(!@gkee+1@+GOuObc<`8Nn2f#2dKv<*QC`ocdBJJ@c$*By!=p`11M%pB|$ zb~WL}C1~1$;THF;C$1v1p^I8DUaL)9wNe9$R~+$o9*uk+MqZmke3v z9LheWmbrdl=jk_macF9vr*)3(5nMZTG{a@>~vu@e14R>XhMs5JSTJ3*jo!h?qbhG=DSmG?;Sb0$>J&1 zxNDZxk%)kZ%i+E+-SN91zXdG}l(tsQ9h$)(nmw;(s!eiJ_Ix)>8ZW^U^c7VINIAY+ zB}+ZbFTn~;G;ZHHymH!ItXZigr4#e-K-l5M)@kxQ6QAEoG&L%C!%ea5tEnB8H6whG zvNTy(tcmC?tF}e7Ps05}uKFC+ela9;X?v^|(al!OQtmm!yB86g#7-HO6Sk@2QkiDQ zp8t*|8%uOP;Is(}>(S8l`;6F7GuXbWj70XKj!^Ww{%40&I_;?$ELW~Svf7GRa-gzb zAzE26sq59076p@LwqQXInqK~JVb=3rcO0HuMQS3;-<->rbF^ellV*;<4o>ZOmiqh3 z-)dA^TtA&3-X_cjUkaKF)2mqSXht;AAT3$P6)z{6Rhn8G-Se!biK4B5$NCSeE?zBS z^O>GCcrVg`Mag}Z?v*+X{Z30`o&Zu9(kkJ44q8t;AA;f&$t=ms?8i*7Z~>-B*LrX` z2;Lln@M;-TzQpq!b&LrYJ@D4bU+od+dSu>kJvjjCJJ08?Yx;S<#@wwg>7|E>uE@mX zPtBJrvCOEpLoF%_SC*HekrYaj>8Igp+GRo)o1@mnf^6$}6MmB-Nj7?(P9Uau&SLi@ z7GG21F+WvqgFj11GQoT$&}VY`D@|BQu6%Y=j7Tcb zIA`07Xg8&jhu{OUe}W zGl-mjgK?8CH3AiXD2E$%)8V)y&@r-w57FkpZ3pXiGr$yWxdpm+N2V8!f;Uybw#nIV znFTuObqtleadR)bpIo8oDar3ME!zcmmc=8)SwRmm+p8V8yE;MVR|liLE|G1X9dDQR zUYzZ%AM!<9$+Tu@^MPRV+VfbpRx;BS<2rZ_f_1y@XSDhSU>#S}zj@P&im?zEJeihW z9`-ecT~L2+|01?oZeez=IXSZ4wtN#UEvO^B)$+vVrpD%l*b`rI&%~J4p4T&N$Wyz< zq~uS-)&p5_%}mXh_9+E>6mgkWFE||E67jYmnm_s=Wa3TAKU5XyW;2b8}>{U{72a zgnbnUtFx4>z>EB2jRF2>u)f`rpr%RZB~3k%j1k3HtJ>E-fnYB%suN-6I9!TZ4n>AH zb#P}Y*kkvMFPtT|6#`ppd|;bk!6?b~>0}OS)K!GsS_*W#+w9D%;gskN368t>$WPdD zgsj;#ttwl?)q@x^pg4mTbcbwzHa-%K97LdsUa0Iiwz}$7)8;l?z=k7MMRT6R+H^;9 z>vA}3)E88)iez078E>mFfz7@;t)ZJ;L|1B03zBogU1*7nH&UeD+75b^SXGKKO&G!( z*BY~KcLdQ1V+gfOdW`4cuUYKbhwJ}2y(q=JarsOqbgIZW4tsGWT;lKjEvWW<`XlmU zSl@`mP`+*6!Qo-_ql$|fWRPzg)s@@#_%PpH&7W#VRwS3!p3+JJ{5u>6tc3WUV|Px! z{&GW#VOU*fdMv>8CvVK{5b9?cKq=W(n3GgtAIpG#uOJ`u=2bw@MG6n6;pc7iOVK4r ztk`R{34pDLMu&HH%9>79M~^F|DoPyG=fq(b;3Bh&5nv#GOR*P!kq|SAJU1aQ00mr3#qV_=5D&~d|L8FN@rD*S$QYLhY^=Z ziZjMq2L}zZA5=;Bb*w3YU3oicY%mY<@sxmGZO@y-qBYEQ& z@YVCWw$U$=2eKXrNIUQD($W;M^=tjbt{tc>iN!bd#n(5U3YFdy!CR z)87PBZe8_90_NMU3#8KY1;PmyW=bm8;h#`nv|YZ2f&kr*HfiHc zz%~>`e&;1WBT4NNSukT}!9PB*h?ylUBk;#!`U0ZK0MmZ~D^m-spxOsr*=Ckv_cIvB zFOGknb}#s?z@{uxh^SaWc2%Wzk=1Am?CQe$6JdjGE4@2W$TrF&L^&FbdN*+W6F8T+1$bhNTWq|azgf- zOv3lt*g$O@QFHR^kb9)8pmg?EbH95VBRPfy((%6~NVcSqNXerrVEB-1T)-+y9VSS6 zC}}AOh}q<5CP-bdtmNbOWGXxY-Cv7uyIpspk#qbrY%NT8kHa)GCH)bM+DFc7xOa1} z7`j*EoxOctYh8H8woId~RYevxgUs*iB*X7TEh(G9Sf9Q|Tu5oGTRMI*u>pNAqENx^$MVps zW$gj~DucA{Xrg#tznIZqr+;1#jUEV@1v&atl=tb{=c-dSAL*j<84{d6T9mSM>t+LQa!~MH`IN$#a~pQm zvvlaoNZl>WI^_c^vAG5aM~<8cItg&6;=9^@-CK6o0@UcsK?9jxGF>YvWj_(|95_E| z1CJ>Os)OK83uB?I=lxn~@Tg=-PYVyB?B_#U7y5H$9XOvragchXr@JOlt`ks{6kNcP zs;2d*E}5Q{%~H~sz}9mSH6TrE!UiljuoY?&i}I5@T`B!}oMRK|5;)=~chu8zSqE%_ zaB#*{HUu@*ZAC;%0WH%_Ca^VdL<)l*a+>%VB>^HRJ?UY1U8U{sxfdl`rv9yg^RR6{ zEt5bPp2Sw5IaFidmWh}@pM#MVgcE=a0j)qkLdzf|1(q-&va0BmPzzJHZcJ><#ij!L zku%ozh61|)P9C7w7yJGCo`DkRfFzNr9|4Vp{WI*PLvdP^w+dx*M8_Pn9)77AnUVlB zL~kD?4K`<_c>DCzlEm3!Pf(I>VF(6i82jJw4V53|b{BpHa-vzjPro0io@u6;omz zV9ElM+IMUfq{1P8K8p++OL8_2;aQuD)%OOCzsU!CbF7leb7|3+Dub9)jCWXb;@HGqzMcU;n@t~At)RLcCKJ{I$3;5$(9cgr6A}56JRXK zn7WXFCB%Ceo_BM7r8kFbxO;~~c7ykY{E66eUOXBPw^w>*gJ-*WZUmX5? z^QuPRY(a29g^~pzFRKzmmtSd1WCFlVdT$H^p;?^^DHSum(%lqN#WX|CP$@@$K0q`# zDwk_ZksZsH8Jw{=&3F>w(qKGV>NZyZxCv?$kcx$&bG?KHl)<6r>#Rem8jC>-6A}W2 znPTomahf^VM<@WBuN-BA5UN+ljACKXI0pU+2uwe%K6BDZvjHtzpcHdS#(T(3#0Y`* z6=7&m60>}Ms0}(Ao}>dY;d}}WNf7^TYRJ69*)Qc!J?Wtm)sP?t3IoPlUQqhpHQ4)j z@nW6cy$AD%3XDg~M=QZ%eg@DM)BRC_9ZMRG0=F?BC4p9&4NR5nRX$ciXx7{40s&oR zv?xW)mh-1oIXKxM*?YnG-ozLa_!{?Ks3_)w$)pei4yrc&4M{^3K=RY7qgpQ!4s?o@ z?;V-!R|@9H_%0~K7mg+;H0$Sqx{a#9uCG}GIEk(r9UzZ4g&W}gw5n%CN;~jQ`5AYJ zQfS{i;uycu?`x$0ly%xdc|xkt*T(=d^!u2AjKA1F!gU>d38VaJ<;NQS$nex$GRykT zvSaT^>PbkD3O(09q6RR<1637z4~}HOOSps10BY>S*k8heD`+SwA|4r}?l9I#0DQGz z$^CjDRjmt%-z)1XxnIx~*bPj@-Zga5QeOhbt71{4`IQERp27hWg@kkmum@d<0bp}b zAU+)6HiLd(kY8rCFy&@I?qsFVW^u$Zp{3tb0a#I0MGG^F&uaOY{wO9`kd|UO(dT~Y zeRTu>s1_?xew)T~JIu4`5*g z>c2P@rh;~}5?b0|R8NYc5(UfqK0;hnMV7)} zg8Vp`gol8blEn8fnh3i9(4v(F4~zd-=*3Ei%sOxbd;yA<&__FwStXM@Mj-A`{8mn| zkR)LKqY1#BWK{9bPqTKp~MsuU}SKrG6j?X&vCo|>wnAy%Jb)!lzd`owoj^CvVg5D zrTw=vu$KmPA#gwthNlEb$e51+O!dQPT~0%@S^Cyut=1NemAZ&h!z8h=!WD%qdN2(4 zlU%D*8<|)MkoatE9l&&!(qJ;N8F$vw{us<{VKsj#IKXyAc3)s-M3!DC1F+^&dCov39q(B$jxB7#OC%-ou@~<4(!*9 zKAteX16!XSDIF4nU%WjBO7X;9yc->tzX<9R3C_QH-(T-B4>TDq?9gzyJ<@yKu zy*;13-4LcqE@6vCBU%L&(&#kWyX_jy$JhbF(o@aep^q`jf)_N6K zw8b~F_wsy1M!moVb!*tr!G>_PpT$6^S?BQ$^A9!IgI<2M7SpY$WR%2i{S^0Eqh|BO_c)a2=a1TmxiAjqUW5%3ngWDkQ;R)BBUv-%4ugjbC+r zwU0~&YvFo{JENiuk#f?e;jnOK943Pt-a?=F_-fB@GReN?okc!fY!FC{oDc3zN~+to zU1dJr{&;+j{vm)gej9xe>N|)ImU^X(#Owlthch}D;^?jO=@x{s7EL%gj>F%3AK7`u zfU^4C^LrrkX0S7Mza&m2^v05dZ z=fnGN1(Qw%xpJ1B1mkNM&6&=-_kFuOXVzyT^JC7dHwL%%qi8+3{rYG3Ge--He_O5& zctCu`S1&e(QL~`(+r6>Bs%5g~tf0L~Q#CH>iQVbHhY>V|wrIK@*Ed_n)hAL1GnK?l zij&DMBtIYO1x^gpLsD;JD|F}kUUm=D8VR?Zk(84S78n^N&BH1n`2(mI-Pl)vEt#9j zPt-pxxso>d+T~>QE<}}uXr#|AFr09}++T++d1kMADf{4Of~W2*=bT==v4>>Dcs_eS zy3SUF{YfKQ6YhLSh7f?H1qqIGaxQ$VTGY07jBvGSLSLzGd>S@ix+<}^M-gwb);(%z zb<4F)t}Ew{h+CS(=qeZ< zj|$Z~vfCSiM4p|ITF^YtFRB##)k2US>94UxIm7yeF!$coNv$d4J{wLnteR&Ued-omT>MA^rvBy>}!`Cme?D%msrtB z%r|2h?(UBVPJG*(+H_LNR3KvbmtUP+9S@!&eAu(Z#*u4yAx@$jOJ+nmKy6o1pH|U|^;M+6>%%-a?o&K?}*qhGbZ-QCc zayzXcXp)T{)&$KFF3I7~>S?*Z-OgPZ@_F&@ak!{Vt9p5XDb}aoEE=!b@eA)vwfBkjL}JMpngQzwREKLPXImxN@@4(Qgf)^qx4F)|yJ>fF{ozTP zuTY#0(_gO)xxDPkLHk&tkQr3%MfT?`JNrjp)xni|UtLiCQPO!93nrQBf!mVBYRzn$ z4gBLUx%Nfd8qXS|2q@crpR;4$LyY!>!+gAcgcHv-A5BwEc0tw4n*PG5ov}>RT7ov@ zHd+PwWC`ueYx&^kT@_WLFCTx&7d)x~%9HukERRsPIz6vrZC)krdiQ)Mi#3V0n|ZNA zyEb*DgK}kq{i*h zBDI>_KdtYhh45+Rpbi6sFjmnY#^eTTP$}KcYf|1nSry#u{=RVjdAxP8lK9LMI%hm7 zI=WJT$`IZ|-U|l(Z33sH(*?)iLN~!?L;uEhc5m!tQ(Xu;`L!Xu8PJX4Qpm6ytf{&2 zuU}r_6p3V8-!D4y&d@At4jUHdDNNYRJ zF&>;RuP75uPna!v8Nd8ppW<#je?J4Qv30+{H(PdU#kwzTZ;#5~|2IUZ{&nTu*^4`9 zFeFbu2%N{ZkN_8n^~h$+QSbMfqjSr|oSNhfRqfjI$0kb*ACoV?eS$l8c%RV}bw3)* z@1D!D3fqm?c57xsC!;xiyz9=|i>BF}qw|(rGq+lPa@SsKCE*reRkeTQY^YQnbV|u` z&K%OcyuE?{Aj{&CO2AOsbTuPY-FD zyiW&-o*a`4Nt~P{2HBk4M-R!8?Dq|_C%KXVl1`oN|K#muD#?O2cSr1aP`{<8mrg6R z5O$4$t6ABF`v0PXBr-3q|3wFnzQ^rLX1DE58;fx6NyIo!W4;~t+7Jc6FPo#8g(NdG zLVgB&NLFTqh`cv04yd#<*T~o`VBg4Wh|=InkEQhwg&LP-1NAr; zCM&#T_52Vmiy3O(Y)#;+1EFr*1vy=0-$a;Tb#Nh`yJ%Yl;Xo04K0q8g{84NK z#qwal05&d`|EsaN48^i9jcCCe2kK+B-8Pa1w34XcziiN7_x~7(3$MVB2iRQ)I}VW}`Q*#P{*Ic9cH5A%AmYvpBD0*`Ddd zXmZ1!_ae4?^ZIrbGHbT6&yWc`9vpe`wm7?d*d$J>Kj=*SKB!=~`*Gk_#M`iyY;Znq zN0K(%{Uvph*q8b>A}t3p(;jVWIY% zReXUWTNR|me4~c!h>X>SWp(Z$;!p*Zp{YUQ@oq&COMVqMWV>U0WQ9*p5{>bH%7|Mi zCG9q~qI_h1PP(=R9=U_o45aYTMZ20kF`S2fg|dl!W(msp&e@%s5!$?)21OpzXam0* zgKNk*p`!pgwo{`Gr=~D8OCqvpA4!Qjl9}GHfBBhGp^337OxhKpAQgwevcNB67}`9q z1nE`XgZisQzGZ0DUu;+7 zAaZFLFaY8Ri^~(L7b-p_rQ~<>wtV)H30w(-JE=CgG$ISzqU03}&e&`0asbkPk2$C$ zUW3MlEXF2FEf%DT#m-HXlCht*t_2KGBz=&%9X+VEv0$+8nBL6VR#MvVfI1o}|fD)}J+c)^rR!msv$wa}u-In0lwo(KQh zhpykzv-Cw|BKMPcGsE!sZ9@x6+~Zar+Fw zR(ru@E2`2zdN9qqhRhLuhRL^9`7# z0Z^^^Dk*J55_+uII9$U@8Rl-1UKq5?!n$BG=-yu-EA!I8e(kRBc2-~R0poPeEenX* z3XCvNTNYsj|4H~2WHm!zkN_fy@dQ-?D3@^wOdD%pANjvWjp5lyZ1^)`^zY$Noy?RS zAV}!fL=u03nCUR85*SXy6#_T~3_np=vvpNNKqLeo@n0~Em_or-@F8&`6wlCyeGX&5wt3eCR^{!@YxS(&BSpZ_XC3l8y* zm5LiblHU9&#YY>)Pg%}y*bE%_qQU{9iv(Vx#dZy}S3BF6Fg$LK<*7stT?+4OBrOM^ zIHr_Zih;x$Oe;mh6C5HW_(!>H_Y=r~5(&Rv!I0ERse^iDvpla1A5EGP)JFjXSR}^p zL8WNb$B?rjrD&?&G17_&4JzJK;3f*V-cvp4r2^{SG0n06%3_*-l!~id3Ga(j12!d( zq)tYlz|StYC^9IkVFnZQjGN;9FcoZxpi#;Px{&XO*=ncxSFz1amAn*mx{%VQ6*LbV z1{o(mY2Lqw4-{4bnT*XPIg3f)?6^-3BQ7RO-xO6E)>){Qneh! z3>GK+FSa)-x|%AvAr@jG2!Mw&c7s-gq8^H*JW)pJ$0Ez9B1mD~Bi$;I#oK|G^kw*p zAVD+}L7MHUE&PvelqxOAlIMm2Fpyga{7RDAc5^j=TpEmaeuu(=eCM^IzsuvEOy&@+%k(<1!9Lmet23FLr4T_FT&7M)wy zf7Pvtt;+Fv5axsw26ff1&|v5vvn7yyM4>pI$y$W(1nK}UplI75O!K|yTs9HOm+E0D zZ90y8J&%Tcg)GMYUI$BFd{|SbL~#x zSXe2DoiKKh>|7`zi8FTOKPtOvSgPcX-Z57D|H-~k{%;hniL3qNM--@jXQp)NkqszI zfJ%vefaJ`_lVSR2XO$r!qv~lJUrAPp45ef)P6c_LLphLFIwi$JPz7AQ?bXH#Kz1DA zqWF&#-U%&8@y6u`QPD=1!gl}jOGUQ-DA_T~f~JA$FG?UMaKNA}r43GEOjuTm1|>Me z%~`V~#qyIC{&A?cY3*Z8kzQ+GY{3*RuXb02ab3y~8;LsDwe>J5T|Fw%? zr6YtF9fO+x=f^U%m6m}3LhFol)&I{|@igYvL8*fM=Y$P#|MR$^xS(MU;@tEfaf#K! zI*Lo-ZP)*mwU!FO2;$mmS|SMIa#xn3#Rdmh$o{(!{P|B537Kzmq2MH6D3d|9hpr47 z3SBVdLtwiC6@9BiV3=Hs0GdX@zlyk#{~3CIXWl=3%w&U1b~EsH;h(?o=LPjg0DNKU zf2@3hK(-(AgZQ7mNC!uxwCx$06;&gPw*m>vO7Imy{tE7&AEfDyfsl}a`8T9ROTj>X za{Wq&(_VA^Is#>auWnCZ@{zO&G!kwA?6)L5NtXpS!9|Isga&r+KZ&QM;(srN1CC1H zS1*P2G%XM$ky7;j9k(fuu@q`MB9Ot~(c+attzROs>mr)7?+-fhe3ada8h_ z5U%4Ve-BV311Twlk8%G7+Xx^HtTY6ojF>vit@Zw}QMB-XTy>|16mbXwJU%`x{9kIg ziXyQ%&N_XZ(l!t^bV$gaZaa9AEt0=WT)*4!W3*;$wDI}e&yjpw_AhiE?5=wQ&$CrZ zv>QDO$qC-qu9weQ55YKR!!sEHFM<#HKw9@s6^``*)PO#+PN%`i)x~-e%R>eUk9!?z){Bjn$FFEnW;luUl_-0y_!GVq+dhooWS$X5TUeqMh+uB5l{&rjB!)wik@7uvmdX=1h2T%J3 zosR;CDK_iAc5ZEfbcCTna)Fq_@-rtGxnUK7?t(ZQnq?s3X9{9^BR z%9k&@G5V~rR^PJ?5)0yeVt;1 zU&wWe)f#HZrB=Lv6#a$xzH$ZUZR{>ajK&J7KYP4&D6Chllfcbha`uMFHm`us>fr+$ z*3mCsk+^#rrRbwq84oUzEVnd4Mc#A^_H$?+aJujTGqC-P^uHv10A^Ip+bCn8Tk$bIlN%GpD0=R*_XUn?V@ zf>+0k;OiSkT7vlxGa4a;evmwI*UBIqV50NeaElKK65*HE1#Oa8yK{j~@@S9VQ6A6r znhQzD)Ngh^*r*S2(?l5;2CV^4i$pR*#6*gcpDw<_-SA+wRTN9Lo7*BV+dZ z;E``=9U*{xXa>C0)us{s#v(zDKeb>E(tq9Q@z+m7JZtnm@VMzIOYR~b0~9j_mD@a8 zmzptGA_|zobKGu(+marb1d{g~i+D&-D+l*^mcocOTZH&;f1F70-S5>kOtPw+Rg*mD z3QSg2-+v!CCpv#9dl+>xZrnVNWI8EXP2V_=HUhLfEDNjuLU^56+q8YVchpL|pt`;< zdE!1PsD1g=&O4x9uZiNc^3-Yf$LU=6`<=hXhX>$e7-8_#8832?Vl@KDrmiSk`kZde zF5GH8w~ggI#UN=aMHSJolMt57A4GnjI29*6{qgXz%&zD~xs8;QuV|F4Yp9Ap%zYa; zsRssMFg13xi>5sVPxxuwZNxk+v!lr(U2`r3Dl0}+v{n|HZ~yuVyc7(&*tT)5FC5+4 z=YRZuQi-$iC0hHq4)Qddl$R+!mbcn{Wt&eK6}y3Gt%8Vld1~p%IO$hs3x29Yc3>?w zBiZBcWbu_iZmN8EOMJUaK7gotxbuYnV*os08u)H*g94DLfLmvyJr%Q~7OPU3ngk?r zYv+5%#s>sa_Vn~5jNQCn^B<#i`q9aP#uYV8Y`6Tw)K%+sKC_big_~+$&ArL6^>@2= z9fp-M{6Q>jS^^#hbr$)3B6a)3Vei-xf8fsm(%ig71mFaS7eQNU>%}fjnk>#g?suxBZ>{D%sTwaCoYM8{1C`Qn;}5=}q82 zAD^FWZoFYckT>3!yeY&n%I+Q0?yZczBF&>|ql4CZ4~oN}$)Nv40%kh2|6XMOHyeX_AEBUB#&q4jUj7b3rB0{~-y{D^_hl}wovwtx20S0`)qY;b- z)rMt2)r-B)Ar8Xt78#cx(M^bRQvdaSwCI6Ever$XE4!*d;;&>>hb*8xzyM@&p z@b_)e;&xP9*qd!sc;NQ|;GU@jdIp{AXAf#yyVe_|&qkrBkPehjPBvk)U(T>zSytC> zcm7KKpq$D_r8vAiR1KR=-w3~BF_A>t(=b}mj>4Ub9bjX? zi2lLq<9hogIn6xr?ue&~hE}%btMWHRRUYN#-f_)|%}Hjv{merGPDVT+b8=t|eL;|8h-O$aY+6@RCBxF7g-@s-$%(d)Y?ZXa+@=Z%s}_O5C{&Qt9Fw!8 zre&N|M3TfZatfE0vB0i$7}D`13mmI6GA7jd_J0rI_zf12|Se*k>bIs1xw3cXA2@_B0kc*wT3!)-(Vrh+k63TvlN zNppz0S#`vq}GcxOj9 z&ay?xD8t+d6#o49Ay+bi|2;4$!}GG|=@7d}7j0-px=Kjq&8d|m=W9UdMV&}cB8n=GYWVp8)A_@N%t_=ey)VOJ&pAdtsV!o)6}xuMM5MR(3qhqx>n?x2 z#43{`#Nb=Nc!+0t5}$UgrDkDJ5`)V`0M;x~FK|WPe__R!ZBu-b~xo2I3 z`DnJ=CT-)`v_A^S)34w8FPES4RaGzMwXA=JzvOk7b;@B*Y%I8>gsfE%(4^afFo|c@ zKmnI&xe~L3Evj=Q6XCphaUaxCGtxd=v<&DYg*y+q3+abC>P>a*+Xbhg{=wbErfXe$ z2GIE8Aq~ULY##thj!+}N2R?Hu9yXMKS8Ah$EK$B&NV=(D#LTE%gn`OT?})L2IoxhKF3Q=bFC6;v%f7Rb<|(>28d| zOU4fLDa`b6NTB2mjl;!MMg3T?{#}wO4#=5=Y4tprxP8iL?GjuQXgT5gp5M`jG7yi^ zj8sD0Fi%21^f%X#-b^kl*otydwph;&!nI}{$VXIT6&^Nyp!ceY7-X`wf+{d>N7gb$ z&8m=_=%X?fU$;H-iRA6F@<1Lf1t8;( z%3PD?OavOi=$h2Al;?JaiBJ5l8CkOV?{Ds&Mv`Bw{TysGKr^;ejHX4;{fMK$K;-D- z^~uNVNZ!1I;tX;#803Y@vj{=Ho@;>a8_kHtjAoHRZr7a~XLvxFw;3y4k2CU-gI=iY zx4V9yJaIJGz6d~Oz_58Q8B50tcnyzpDXLvZ=`X;Gz@(eI5!jyi_>R$6y14S{De-Y; zVE9XNZ|fMMidXVO*x-F#u(VT9^Y7K~8CPcGIKQ~I)0pdS`8A4NMvQCOqGQ@{8upze ztsk04D%~DCU(0R@q>DxvVX8&=tny4R1!pHcTFA`mt_D>%#-b0~rie3sQi2tqQP|BR zBkLQAb%qCs&=a`D8-ek_8EfSDX~AnCdb}`!q0zqmo4hfSuQRt7{}Z-910mS2HeI!M=4InBCqIB8;tvrI^>|zlbbW@qo|?U<2fwAf-2d>$q`}tA z7n5AusiqR<$CWP=t45xeE$xr(og@JJ@L))J=+^XUdv$$u-WdMyN*B-CFf2FKqkZcNwNG++&+JN8SG^W0f@J67^(NU-PVbMW8(18%DEhZ zxCgQ~00D0=>;2UXS_5 zOxv<}Dgw{JqNLU$>0gE6z2pgrn~!+Y-U?O7X@J`QY2>93FoD3oht@>F-^%J#e@ zi0}6#cKJwZFh`IJ6Ov~6n1dwmiMNI`gJLXG7oUeW+J#^z5^9Po?2b*aVy~h+kUUGG zFTjRZI$vLVTeJOu-3R%QP62yH;idZh)h?suUZ!F?b$f;__1($KGNvax!kdJue&@`A zN8aykQM{rDd-8Z$4*3T}sRtPsC$9^82Soly5ib^0x(9GTD$@+^@nWA*M#zDeVNZy2 z;YrK^dlA=m?nnUueU);38UULy{Sw8k&_)22#a{GcqSSahMr#nCw}{f1iqFeBVsvp=NbE< zG!Z|QZYPYlXhF$VZ!2PPbJ;Q@J}Ei^Eev)A!;np5y8ue}eGmdTWgn$BUS{GSf6xL+ zd&>Z%HeASljmVIh@3Jx1qOwzm8h9_rwsn5iZ4u%Tm{Kw^Jtc6Qmm>n*5?|^8>I>ylrJ1wW69x$QU}txXXwJA6A&skFOu_%%TQb*^(%dV`A*|C#jaFSR;0 zUZRCVH?PU+Ty|%|Bi$>+YXAWhaB2eo6_qEiMqdseu?O~YS;qoZWfhkN;2kb~PRQM; zPVCRJZqa4A7BV4Hw;V3uU5wCyK-*$CFQOT@hubxl_OfW1le1+!p_i{-hhL&uM@VpC z9>nX9)0G(l6!Q;|9EqZR_~C|y<W}QDbf05~`OBD9ks4!I2p-ILx zz(hu*R7=A0h2l1*>vppT!04s2zYqF+7YM|MMwB~~hj&AbD2MYnhbDedoTbP59T>eX zGbN=TtcUMQOSu2@?$3;?eK!&UZ*(QDws|4bgzi=%$VXMJVnm23gIB zY-ZslFwTuKsZ4OB&2D}$Q6GFMuL6_*p=uQX&!1JJcSl*w%{=M?fc(bA&0$^;QbG!8 zurkK!<`OCOfF*x|pk+V;iDiINpzz~VH#vKu3!E0S>y%*trkv~_f1Gog0ooE1kKb^d zY>BN^of+}?GN=WuwgF696CC)?$uu20JZ@f=&eA5Xz|)N?ZNsF#?%AYn8$|rQaqlTd zlJQ3s@q0)q3>hg9@Z|27r`q9hH)Zx7tqDn)i)Z&}4)GISSvrgJ+CQFDw1%YSCUwqE zYtT~P%ax0Z&WUR03d%&p&H#a8&{o-HbAqAKneESH)U&87QyU;~^tMl#W2RN&zFfX% z(6BCD2**N~Xk=LiM(tvNZ)m$Ikk)VTo!@fldS%h*{6!5|oE1K!{!WGiJ~yVkfy=FL zI{J{m+bc<9pT_HML+SKO4kOZ2y4!T3p9v4=hfSHX^Md5W8}=6-jF_l612?NrC(l7g zc&%-=<60Uu#CesHr7nzOs8NTjVF&9@DqQu)=KDDZyv$=?p7kg^VV()+*1V$6w+*)) zAeN&tzNNJRQ*ltkCnCwxM#t6e$Z|NWTzmyeY6VSWS)VN`iD8aUZ zh%~rDzr`oN+7qui^e){Jsic!-k}+vd>xxYz+uU?0bcQN~GL)t7T`{(9G-!mcM;`YGd%zHoXwf&WU}?wCS*g8-rM? z3e3Efn{BOpW(XNvQcYX#WE|DXb!VoP>ugSe1kwq>iDW}VjhM8Ew_M3N3!ZH(qo zc_{CKU73CJ(d}q#ew5K&;SL5Ui!Q6#E+tBd^uKYG5pyX1avIgt{K1PW=rDoqLfE2j3z^{LR zc)j!FD{-P5P%Nj`jHNju*I+E0F2=R(@ujAK*tJn>Q2lMUoav`wpAPwoYV|O|T;uI` zC>Ep^mcgGd!HknPbOCER7@hb$06kD} z^D!}N%_IjU>1tDOL9t3*ixxec5W2?LY;9eou62!SrgSgZImNe$sq^jYF0 zjtoAS2YRrm;vvP(y2~Z3OJxMI(qxXpcTIj;@l7Q#PyUH-TWK@`M5~{13;b16kv-6! zX%nzBAY~Bbz$;CNg}?g;b86Y618S8>O_#DUs%Q)&9(wk1>B6EvU=q(x1hSM6CgfhQ zH}EE&q;9R=mNszczm~{VXbn|BQNO*%wfQ`8$a`B4CPm^q7CPNAaGl ziUtxNcu!O)6DT!dClN!uiSM@@gW>%kN+KarHn$vkr zOSE@ZepS0_J9$-3s_AoL9~gh5y;gsxe$3_;cu?i}_&L+k^RmNYxdsNSRoT=ZR(#K( z;94W?m1QowLA(4lpFZ?E4dCXM!uqjaZx$cV{(bP(#=g;)d|+JwGB^Ch*F!1IwLb&% zW=~=Xc1K@{wgTm)MaiPAD+9At0^S!O-F3KnIrFPrf_YAK`zj^I?Zc*@pRa?5V3B06 zllmL%IAA-D31gc|M9kI)Ui-HpW&s!DNA|sx5v=DI{p%kmcb+?b&g$8GbQd?go;9!p z;r)>q-tk3W`m4(XinR#it2I)3+mu}K?ZbzDG~2u$j2s_G?|HxSvJ`#uhUgFMFsItB zS@fs`jL4}uJ&fPAPqwqZ{*89~01IOO^#8!$AHPH10<6qz{}*6q9Dm7nmGjc4Q)CiM z#%X8^3KxML2E9pM4hhm`8bCp@Lp-?nw z8_L8sv!HDjrxG{$5naV0@yrRqv&XVIl@9aB5?RjIi|&waf1FQB7T}f)h?W4u+T~I2 z{@Q*vC_)^7Ehlxb_9-WU85Q)$5(@F^Wp;3Uj|i5>`_=B|YY?T<*$Ua&cTj|QMA9EN zYDmzQIn)514Y6&CQD&rf$d?pWa2q992cMp81srK%sobg` zAEHzbZ0KG}Zs5|w%by=_R*(RR+3)*9jcn9nX(H;gKEOa^6zUT*FW%>Npy~OdfK#6}LY>p!|sT%hrO11uGJ86+& zD;XG|LobsgGeFQNA!iPJ^-IQwD^Z@njUXVO4(X~m$8Id?}hFz9sl8yMfY8e-!RHV?=9}I4#(}v=*d? zgMG+F!CoTB?DUCk3v3$6sTy}}ECh}|27gJUVW;sjZS^$;q0#$9cyV(~sv~k#R*sWqE8i~+ zUnn&oP7n7xoE^{FxX-T2!@0-`(__5N^L9ziVaKvzk`@B}bflN#h=d?FtFL>?#93<) zh8OY9OX%!llJ5Z^m}0+p1Y=ywrbS6Y2bP$eHyHQxY%Ce;<|)xVEg9#jYvz$Y%d-4W zll-;G>R{LbO7#o(QVEl2krzk3IBC08N$0$7R;YVs2A&Yq$0F`dl!}uB_Gi2$lb!Va zjEx3l(^seOdMboY$fra#(!1X%*NhjP*sf6^Ni&q-akJ-Kc%N9b^BQgCcYjbFGC)m`?WX{Sy80S zaXsiep(LL4*0@s{5`{F=D@(V}jhaX5`538hfbL$u3OxQeL;BU0hge%m>8;^YYuN+g z+=Cs;^EDUf_Oe6u`4m1w()Zn|e>vSHbG_nRbK$5I8+i)O%B!4TfCU;qoTE~XtJYa} zM2l-_GeJ>lcSTUSKwhB!sV|6#R8Wx4a|DuqNj`W4WAzxwxX4M zO5&f1l27cNbOphAOG=u^8)$^V`SZ;o-;0$!>amxB9%4+3Fj=cXS(xbAj%zG8e>$3s z8$lx)OsuKmDoXR6D&ax7Ea(li3}}Mu0Ak|Yoabr&lGN38Xg|NYD&t8Y zYh?qU=&v@zN74fII()B2%hZ{)no?E)H;4ynEBT3#h8<#Efv44-RBU;v=R6tUT~NY2KcJ%(if$}RUFI3T29C*%Y<)@l zW{ClR4zC{2l~RovCLs`fhf#O6kYhw8A9w+v6MmW4oTgIPn@co=sd)XiinPAFG`^+j zDOYV_sky<>gj?7!sMH5O{&I-{gM(L6+;}rT30JuovA}WxdBJ%aR2HF0+I#>6lh#SO z!@J+`9i_jK{jp^_SPOQjKp5&7k~rEKER`FE97nBrJ(FW*O+;>jpy2 zOz7@KjJh&jT$oEZeaMm1NQDUM{XMB9AM3#8UM{6XNgw%HxV;x{`O#{sI=-lz#zKNN zQEzfHpKMD+H(DNI&*^qJ9LpjYJ~CBZ5G%>qJOazg`4yB7LJ|ZZjSz85m0_?7X{D}FJ9lSMy|Q^)=8qVZ&y^Q- zj1H}$cUQS4@OMI`Z211gxN}sgb9H`>|D!JVp~LrONhoxKYeTZgV$bgv(cxbRs!3#p z#atx;G@foK_M=fSlCqAjhsTIP`SfGeu9@-a*CcCV#~bn`2>3U26Gd)q>Z@M>C8v~N zpR|g6MTlf_vDU100BAF(rzqYYUJ9oPh=7!^}X*QOPMFLsos5K$iqF%^ye~e zd)8i#&_6{TgX$iyFAz!-(+r_@&ghnlJ#h8j(;YvYar9v2jNM+#oexJ19(Duey5 zX!*IjQaz&!b6#uMK|)tsef`}M*c%#p)U9`Ha)5q$(>Mx0MBz}#9+T%#c-q01GGie^ z)Au5A|M^+%bNA7t_-CrSVSG#6l9Jy#!r9I_h@X@3t}w_qmoJpOT4$8)6b>5OPa4J9 zlU%rLNB7K4!<~Yt`d1$JN{Oz2y9&N-AH-D5ny!GrzFUxapV)qVjjH1bugX6#Rv69-uBs9CJbqFKrir zb$;7A_~NH{9&8kk$0Q({fIubGJb)xmISQ5<8B7Aq956~XuMjb-K<-Tr8GjkqPiGer zD+`$S@A+g9ArhL!?9dg{p)Y7#>6&wUd6hlxj}=+EZ)eZHK^B15#Z$n7U(VRf%bx{Tk}lsggJ%?`nua!vrbR=PWeJt z&h}{x7sv<v}U9U1hrg`gKUn7z>y)iNA9TWSz!=!$D?=O4tNZtzC0x$XI&Yeq zw!|Lgci3wi!8a-_O%vP$Q;gtY&GpJlg;Y>>PWqWv3jO|0*gCzH{(zCgBu+=EozQd4 zt~wv9Sgwa_ZJVWhJ=xQ4*tw-qmRB9S2{0WQCLT0$%MDXK-FAppj#8GZ6o|{NY0Qc6 z(+N3@R1eQ%g77%<@}Bz)0V?qxiSX(AthKSz_rv$T|J;-JvV*H<%bd^2&@G=11ZO%{ z?IZAV9(o?xr0W)S6m>g&bmDQi?fRH@cx&V2WRQ*v`X^Rd_=)zqo4T2wZE) zSM$Z1^;~xh_=F~)$=GIZ~pWf z9&Mt04{u394dTns{r*=UmcR+SSfH-X<5#+pI+;WL>0F#f^41@4U4J93xR?1Xst4SN zcvj9wmQOQTli-;O`v*SUTMU-F{q>#m&O$fN522|G4UuSY?|Jw0O{FfK%Q`EhcwRlx z){Quibr)@*1%!2V0VLK}+o7dBpv2F70zPM_15^nxkNWLb~-dGyQgzZ9KQ;_+spPV!n7Posy| z;?yxy9!Z#5Q3^XA3eI&|1?U~9x!^`?%% z&m)PlORL@833korVv2ddVgoA1$EuwBZrh-O5gDLZZ|1TM9#3(aINA8fG+`aw@7#Q~ zXL$~?>|#CE+-I#WwmxiPcht>e3G}11jMr?ObQ(F}*LdCvkIFbF-zeYuG7joq-#F`5 z&Rfn)@1}V?4nMJVKz#ZvazGv6mL?vZr46Af*jUG_bh)AK@l^hhwu+OL`0rM9 za1nN5A$LPZw$;z3TXN)7HKLOU1w|qAg^U1);w7EeLneLK=L4IyI@gX?`-ALmHxNv16>i_1Dev^N5 z2s1bL|CvKFade|sI8WC)dnTdeuqc%B{JOf3xyr}?gdi>uH5j6}2`eLNaOpgJ_$%r+ zWGqTDvJjpGZsbeAdooNC4Uv#j?{5;_zu2u=6(v$JbV9PE=bvS^Rb}3dz_700fnl*i zgsel*eX=R1*D8apm;*XK-V3~r-;X|bps0CN2)qz?;eJCUR1WeJ6x`@^y~q|mdOrcy zgmF#OW_J`XV_{`TGSrj0v`#x+a8+{X$Ld}mte0piN7-n{pJ(~dYP->DaR=9xFY;E& zXh5?EK^|&B2kdDAv41`K@1ZIoqOn_FDoZ{Em2&C1mMCE`3ZRABkf2vs^vmfjYy`%i zOuuHZdD^Ie6M2~LN^KpoVTVQ%ir{bPhGCh|e8KvnB8|6@k8k?)6Og|!B4L*UDDB^R zJ89@0xheg>d6Q6d0HiJWB?>^FefQ~z5US?_*k#C;{+{l#6uZ+4gdW$ZefV)MesuTX+(JVGUSyq zr3nR(bNspg;wW>~Bb3lUXoXR`Xfm|SromO7mc#&k-cHSKYxQ||O zG18Vq5?{mztj|JTqC2gD^m3bfP5RQ)JotBXkMARS)qwkS>KvWo$}XJH!f}SncMZJ2 ziFv|`mdUK>%UvouQ!IFTOsiRgRa0h1NJ%d{(Ld#yvy?Dj9gV5KtbFAr$N#x~2%f#; z((@~?-u}0QC(lrEWphus`lBA6y=0LO;uJzwhFrm{od1t_B0L{A!^si9@EqA7%5MC< zc*XlN7+ipK6qEuTznP&zPOi}1h&KVL78TU3nB@XZdB`#yCV_No^Xnd;CyC7_usOw& z0KbJIMd>W_>+dT+gGgb9%9vR%!3BJ*h^#hVxnG5O2uhnnP2T*#vh9V?Y2gms3m6v! z&6G8b1QIlP0b3@b)><>vfrpKmjEPmtAN8xhJ-+}(A@AqM!AW`9HH|(0knYOU%Vp$X zurKaliBP7LV#u2cPEvwa8hPXCJel1dnses5=i23{^Y%k)q}@ED?K+v!0hrig1iPs8 zu5cVzO_Y4wE49W_T9tT{mOmuDDaffZ8hGia?QgJutA+e6v==>43U-h!+azdqC{@@; ztkMFOtR?3QP)&WJOe*@DEDDwzj`GiVdfn>el@-h0Xg{iH7B@Dlc1D)4DKe~e=q&mr zTUtyfGmkx#Ukyadx)y8=)^~M?o~CzbnH7-VCexKsVlvbE^T8$=SU7uE@2M6Nc62@T zW+@U3D-sM{Sj|U^RPu7Ho8`V045Y@dK-Q?Qw&#EOmDg=qyGjXu5K7e9pU0``9QKMq zgd?D4fZfiid}|{WR;Ba$H0@$yDG;8vsdzr=Se*pU@NJErP7D8Q=y&$@uVP=_Q!$eS zA2hm-W7j^qjg)c!pNFx7yaO$g_`eaXGmSMXLM~Kbqth@OB8g*0g51A3WK-lssaSb- z>Zf1^lPmS2tK(zJKg{ zH@O=+CmHCcD++*^PdY4*ZTBSIX@$sNYw6B6vt&G9NJ5R{&>X1bq8 z9dpwr*JpJtYp_o7c|2JRfFy%l_3BMewg4c>fg8!cvQ&qVY98ARr6a^gB{uw6G~dX< zMx#7)qVD02#hb{7+$;!KFwJ(8JaXmGzpro_24YmMjt});6v_mdvrMG7nFz@B)#2HE zAVwfe*(*hFtnckJ`VjoK?<~*sF?u)?y#CU2vGGSUT={*lzYc_zu8FSA0+&ZmiAJd@ z17J8Z6c)rVqH}F{J+0icipoPrcN3I0{UKXg_1$RQ(RTf=%hkx@rDEIzi!=aAU5Z3< z3{Z!g`Klv+T36%VU|5UmVX?!&4UblG`qv}b6^TgYG11N3pHzIE`SjccS?;T?DBOy~ zZ~pWgBo-m|LzQl(N`j%v&DBH*2@&GqD1aZ^skR(`xjjbx;0gNbl(@qh2)1Zg)I)(v zM~@HiJ-#`e6u%tvE)I#sZ=BY{(@za|BuzVjbR$MDyqfeKe&iP5Y0|Ww6mPWy#k=p- zm&nVpVe)?=#`N{hP`lIChL(xRaz&nz%C#rn6R!sABAE|P>*+S{%CZRb zTIq@b`@}saFkBGQN9{U2?U)YU#x2r#1Q8P+^T7!qM@i+U**g^e{@SWtl8Qyr7c-^tQ)V7B6_f=$Gowl z6=M$%cltI}h@y&HAvx5T4@#eC<3Q!x$DB$Be(q&z%=CET%WyHm&ndC0Y4Yvcc{05b~Nh5`(S#Aw2WY7eD=Q(N_EFpY8h z&7u)TZ?c1vn+xx3Pf}4ORKAbo!57^-?=tZ;zz}&fW<*qWUHL#~b!cbNE4v~{&2%lj z`@YYu9~-PBiB{e++%FlI9~L@68CvNEo8;%j$K%*0bjNfhq~x%({!mq!E?;tqYI2(&%A*qpZpw&EzkUO9ahNB2Up~Mz5ZtN$SNACh(lJ?~3<3@T1jYF;e;x$M$&>7x1Nj3Cv$hD?h==e&?)e%i#~D z=V-D-Ipy_JTK1rS-mfJiL?hRM0!W%@v^cOo5^WO3ZR9l$fOiW?2XbdfjgTqp^m58J zte-jmZj5)VU-hayN^d_}1QE$QG8LzaY(1afmE{aqd=$JdyIN%)&7$TAgVK;vWqb{# z$>{vxK_FHrid}=YH{=hv0Vlqo)*4y&i~CB<>c9Q+7yfMsyM&(?Fv_l|bYHs;#?e+k#*2$%A87no zAqDrRADjJ#3Ldf5yU1IS-VCo*jtUd&OVZ+&nv-)2K3&uycKj|BN_X!}2=lRHBYw-p z&0(qj#=mo3Io6EicM9TM)@?tA^rCYWCT>m5SK9q43&}LS+_IC^T3*!}RP*X-5rV%2oEPrsJSRl<`M zR(K4i%;#H5zH81-Yz~aa(`%iu7VGQuyWp!U&7fTM4tD_??6ur)&So3Lez!Wk^cqFo zl&cHht$VKxiZ}HY+agSp-i4PnGgZm++Dg4;H9up>J7uQgS9;E~#i?9&{ZwhGR4vm0r4=~RO!Y`q7e>+RKgh3T~~ za;p8tl+TOk%wCSnyzIB2oAXgN+wFSIrfhWk**0^N_7`{pd?9s8f!awenabn@cmKrV z)m956@Mr5@bC< zgYctaA+UmnGZ0h<&qXF0&f` zBu=D9E+@vnQ6SQAwcekiQARGR-X=2lbJF(udzW7Cg>qgA_R=3twSS!abFV7=yk-12 zM}>21CEdk1>*JOxhY7JC&)mqa;%5Gw3Fbk^YRi~6=ame`%=3zCXM-uSQ@U2H*cge< zTwA%P)YMcPy1Mgi)pK#&V|De4&C_p~UsAg`fgL@+tAyeeCu+XW^Y65Mci%)U#O0kS z8NM`DmED%)wp?Cx#yRBqT|L<{Eu&1r;S<;dmZKc{+KoLUb$b)ibNAKb4-oxQ=%*zP30e z;m#cI>PfQVyV`fL3JErl%01-;!2mN_C5s_VL(&^GFOp>Vu9Z&T@f*NqH+d*)?!-?H zR%sbFK2Z|xRmn=E+Kj)z^Ycf*!^x08zK!2-d0sd!<+gmF82`~1c+d?)jTEC*% zAQABWfBxg`I`|Xjqa44rTOF-98Qv}N64x9bIYE5yS)xeW53BI=@vj*cOJ?AU^24?SlpL5!}{~xtp}3FT4adY7k%i zZgxQ=Ky-ZRs)=ZOvGJr~dsQ_2tNWH&A{3xP^CK@duIc1b1U}dLtNS9%xBOlTB)qJJ z+l6F_?p`QnJ^NM1)!&DyBV3WwnQT>Sff7#7M`+=sFbo zpNx;Nbs0I4yK9vF=NXTwet#U9!a_=v2uYsveTJezo zfHAGuW>5w*U)bVLD#4PQE1YKm z94te^-<~1ZgrynVBUA7hC@o72uE3X?CdJJqytI>u*lr*BWale%g+CKB%wK>&61fEH zWNiI_?F$h4+!JP_t+$*?#-i0fqt;zZ85xXxy0#WzR;V0b^D;e(9>vY9Q2-$o5$G!nZW9JZ9Z+>u-J_4+(4+1 zMB3L-5oJI3Jn7m*|KxN%sl1j!k~FcIu3#aF;Xy(iR#$sd@1}&umHu~0HFq*m-Z>N0 z;U0)*b}HKs#-1}x__1FM$a9%qbawn8c@MQv+;q>X^HSNnN+nCz<@1r!=gb;?sq-y` zylbGVy{4Z>p8wRT&$~?H@rj)FqFT@8v{~PNEa{6EPYB~W3hCUGSD6;ljXdgwJDT&~ z&5lXTa^V(Oo>#WL;pN?oe=*bVe&>=B>pRBx5^+8;FWWb$awKEqXDqaJM_6SUjQdLU zpn=cs@}GXp{}y8$`)zP5^71R{H>0O7zVyFB;uDn9eC_U!{LT!|AF=)_0Yy7~9mi!Z zjDN@NIJUe{fJ*k>)+WyS{)23dnnyU3Md|M5>brLt=03@)0S$9JwKd;< zzH_=x*7I<*DT?e?*ceL~Ll`FM)+f=MpJt^)gB7cfsZe-?Mp;0Ggpss$ER)=Uz8(l% z^vuTEh05V;z2mQq-d$r(PRfUgCtKs6OU{roR95q|7L`>vG&OYpz_4sOeIZU@DPYv< z0AHNKBI6wFM72(_m(DoZJ$gVXde$wSgvn-UyuKgjXwCnlF3``@F>In7-gU7xP-!K2 zvBsmb^==-|#yZVG>FP(W*OBbnk&T~E;>IP47H2E^rMyF(Z+TO{<6o zxJ$A@ac4m&F!OZg>42Ld!GWDWKUfK`UJXtUU94M;d^%D1!KS7_XL4s=gK5@R4jJ?C zyZ0`;wKyRL8Ewh0Yn@oWp=X6V z=QzxG-lb)nw9Tc){#jefg@pc8oqzxh;x~@XCQ37N*=(Y>kG2 z_{!w(jsA38ZNNu)eAf%s8`(KJHdPDcUvc->a%BvxZ3jKG!XJ>EJMmt8_$B4cQ%>k} zXJz}QPCP2q0e3rOo%8t0=(h+CigWJ;K0Yc&HN@!z$lJykr<7(#&^O-x+ghQ&N`0AMVwoz3+5*(jab)plS^cPCn)qAwzbww`-w!g8vdhDMM116Ly6ogC09sI#XJ4T}LyyG{@D`NC`E7iBorN@tN(@47( zUBWr>Z>P;9#mR|J-(vM)A3df5*+Me946pZMP3wbi%y7{{E43*;dq0R!+ z&mFj+cQ@8@H6Ie;3P$M_NBVHORYGfJp}f7XB`oQzWcc}1N zXA8}^FVQ$sk?pI^3chbEKDPLRuU^`PZT2^=<(V{hm?&Yh^Vgmy&$NHlk2iwyMQ+<& zwwJkhzTqn!_nq(O10pQ@dpHUeMEb|@Bwlxu;4IAp-lTEqhAcYGPlwG|pLGnB*X;fv z@Ak&`hEr=*%GoZRhiC7(%{W*4@LcBZ8c#B%)f(Fj2z&H4Qy?!rDBpS2TB`W>($dLN zPJ^f@kC3`NzJ4kGF;fYu?v3c1$k9UAtB+nr5P7FdPhLD8T#a7-^c!+7SU1O8R&xLP zP>Bc^qfEHDRGaxwgV_T|=5JRv^*+PzfyI+%4R_0x>Pa2#JQmp4y8jZkc@f zy!;g^qBu)gpI2sE!m|BbtKpB->#p>X&@Jf&Rm%R|LFv#zTxFEOCt zjVJ+UHC2|#$?f^E?}Jn*&!Kk^Z=rrOe`*cO{ON}5tOTbD7h}hp__VL<1wU?Zr_BCq6%{hq z3ohQy=g5$<^6<}X#Azeh{o_nBDQyqmOMcu)r1Zf;{nPueWDi~$x?bHIL;n8}MM}fz zI|vWvBld^uWDc3bv0Dgc7_*CTyQ2c1&-N4@WT@L&?##4!PueRSU6=D!GSLa zv+RNi-T06NJ_;__Mab^`j)3h6Afx-oAsXsKZijke@0&w{@FD@ELx(&7{C^@NQ7|b! z81yBC^f(V!9f^D>)}hFNud+k7~smjuKxe$gNN9m|8iIKA&CQXVE^U~ zVgMf4BWO(qIS3zm)B)z`za1NS_i0+3?hLTU=ni35MLI4Oa!sh9PvHighs+U zB!Kc$a>x!KA3+N2CQ1RF0>5vNLTvCEa)=iEZ2(OM=5$g()@1+Zmhdh)!0HbfL=XR9 z0zbScAp@>|AU_iCkQoNPP7VmwiUO-cRFKiXRshl@{>w8lNcc4+!~p^ULkal*poU~g&?rf1EE?p% zUpojE0<;|5MhVHn^t8aJ6*LeNDN;sK9(00=qw6B)z_U#0?zm(xNP zWEixJq@1)YN>+A%7B}XfmmqCJ+{U6MKhZ*Ltv;uBj+d~l6p@Zm>Xo0owFhD$eVvqoD2bZ;h zOWk-3AQnO-1_fWE1wb+}LhLXP__7|UG=NABi@_Y|35(JJAW^U`-GOKbID-)qAizi` z$dE9?-5}_NffWxT2J?5e!5j*B;Q3hDJ&D)}z%ASa^njKv(*c=l9E>o`1aT99yU41j zK}f%$Kk!gdc#s7c(wG+F<~pQw6#baLqfZ)kV*nKQ-Sj>)bZmcN!W9-O*qjlfrNjK4 zjFEuR1OreR#0N1f!2&!IFk(s&Wue@g&x?tEw-|vO`*Z48AXZ?+Ya9&lPZo&# z-x>kvVVRE5Ie83X+cP*hBOGuH;^aCK^)QQI|4N47X7W8uU^iyKY5)W!v$~}z_vtfd zTrXV`A(J}p3M!*5w+vQ#k9Wd66BVq(3Nhd#VGrgbem7VlA$;jQexzuOq&x;A10K-< zB7h0jWd@o23>8EN)9vZV%my*zqY_HUd0}HSh~xz7fAM;hgN{Tz1b5$TsDmz)Olm(O zP_q9G>HT64-)8}$G_XM|fOs4yFTBeJk&6CbU}OJs0{MS@9*coFctM0p9|IElaD%+y z&JHmFccWDS7Ad5qAU$$>B%FE-V&<0nC+e_&c>;Lwc;7J~&K(YjGvTom6A4yU5+yAw zFL#hMuySxCunBwtfC%$&LL6WYBN-Bll$4jo$jc%3apU~QTaFYsNC|TA5-TJCzvP5i z_ZNdNsDYqH$s8c3II=`{Z(X06k1Xig*-}obaMYxAuMot z4iFJEJdikWro+hQgoijF8Uir*b8m3pJe52U7nl*p$wVwIDT9)c2UUs}Vxp7#+cA(} zQ3U7FB2!*S8Z5eqW+K8!%Av8+@S+mXg^&xPrTLG-pzo8DgPFKMM&IRyMD_(?FqFk$ zC1s@1Nc5i0|8EwQJ5>G9dFB49Bl7=R0}Bsx11RgcfCIeYgXjPc5LslhD3l~tT3QZ` zf){rX%mhFT6>cECJU>K#5cp&$w7jH@9H<=!l>=_)-mfon+(6n_{188(j6C-LfD`9F z04|&d!oYR{5Z}Qt1tY19tR(O?0Nj2RfysFx8aROk1gRo`5uO)-xPeS2{JgNVAVep1 zgwCOM^8d{qz_I@>ARw4%gh0;!&I?>7M-apj$O|Z5cvujkK7eP{LUN zEcl!-#FEg%%9PLrvMEjsjHxk0q(t)j4HCS`2a+>V00hv6FvJJuF~YJUfKr(N=qLdX zYVdHtCIR5O_eCJy{o!^n3}pW&N{(0#)PK;i?5uklg=q8F>_(yEjc!3@A1#z8`^1*#DKhBbo;WLP;M6)sp;y{qUV-#2$J|hBV(Mv#LhpQ7d zWvO6)EWqxE2=GQ(czbUGfR-0uX0O)6Kf&|T;ULldu^3TE5w?|t==Meul#x_$tRz@T zDYie#B?fqZmV~6h%6j04Tv8C1ydy8Sn_P%{7E1f1`u6fk9%7znL2DNqg$2z5w- z#HTI}+=oXRRK~qG8R1jX5Eqy9A-zNLGKU^{Sa#5Gk2siFDG5;|NdS^vd&Rn4dXMe_ zMjO&VO=&n1eDoeRk^z_;z8@&jTlj|P?9BF*ubTVi-Pzv~k8WK{%NAA~WG7>5{9SIr^nZLX0Js#Uq z0N-gOh>$=Th$6w3pJgw=Nx+BC4|*rm!DoGr`eBsJq3ax=A^SH$Bmg@@8j^scQ6M5^ z6Hd!8!p$hK2V;`~ICG#O`2=Ya#sm&2DmVZQY+NJ*9fv#75Dx*^8!nEk7eH z4}OL3ph3q{D+3H&ga(d#R~}?v>Hl>s+DOzY`!|m4rSm?u72X^|W!$--% znivp+SOuWKULD(SSV-Vt1&EA577MGRAU2BswK;$UT%r%$kN^w3V?Y6@vscD=VQxi; zo)2Bm#p@CTWeKdphiWACP@RLgva+r->8DBvFCUB{8UM55beIR?X3+{0;85{ z5FY^swO=A*bwR+9C_}XSi%S(iREPnM;T1KAe{YV7C}YAX5I{wJj|v6`5-`HA^&xV2 zU~k$@b$|{A`#*H#j{E|JJj@|S==_zjQ2#`}EE=u{-4uKlw3;wl0}|WYf$V_-wvF>D zAdosVAkjTOG9(Nzr6$n#iYhRo9DGX^4Ekz9!bgL}n*UGT*h8C74a{Ra4q7Tq!Z&fo zgooUR*}4dz1L$kRChQ+=1nP*%<}Lo`5(AfXGEBfXEjC0&bw9LLpu$MOAw50`p0HM%_>l3I& zC}Dw<02L=~hzL&A0qHOdOr$>H;pcwYncK|O%g6JypDQc@EPyY+UnT$?oN%EoXnsaD z!J3%kz(tu(01^heki?#C$dG8XBw8Bu-&pwcafs=k^A^-!hg4u60lzr`v|7@Il;LXv z5F?o^06`WlDFSf9qXK=~ zNsx}@^+B_CRTumKrJWHD)rZL7b2<Jg!oWU{b14T5AAPIale9;IL zJ6Ip0qWG^X!J&G)RDzK?BBmzg8 zLhO57NEj08#HiqM1HgX380;>54Z&|DCO{o>Gm!bEu}3)5DINB3hv;GtUmg?_?4hq6 zpnFttkL(N3O$KVgZ_Pl61Cqe^;1x5_)%|55>^~_NBM%#y0x!}z1*G|94z~N}%ptbD z_4quzaGp6h+mMEiQnH61c9tAxZq>2&1HhqY{5Q}(hB645KD*zwB1}* zV9l;AWOmR8!|rx_n^>6I3i$rs6xi1WSg&;tp*B0{1l()`S|3ghDj01K8Vs5Ln+P&- zpf!;GmOW&)KMP*62c%^GGXn)*vH{%89Uy)9hAoJ-3I{L)`F}HDN?VZaSRDb!z3~L_ ztzOu8?^U%eXf8SSgqX91D0mMJQ)STqtDDH9KTjPZi-Dio0Y!t$$w(10(tD?&4q03{ ztPJY!kJ-;x6JNE}0#_IypAP2TJ)?L_Z%(d+Uhi(8Ud7}SXWN%{E(sAQElT*GS#>0F z`;kaImY~sfy4J1v^9{YmP&bbs3A(t?SYvKC=x%C5@!arG(9cz+-JhG?JzJeAB0sCW zhL5H4k)Dn)roxMPQZa~gZG9&-Xm^`tm?G!LhDPV~J*lN*5f55?Qhx=ekeaos-Zq|j z=wm+>6EQR#xzsee;mTb)h>cz0yy6_D6?J{3N@APy=_dT!Nbi~hZCU?{CjJ%C%NV;W zb$_;YjGfoYK5iZJ*{0X%YtIm3>I63!AS1pP+$eoI8o1VQ@A*0l4=#tDXIO@2=F;=p znYGiSQ!Kfv$`kB&GdXgZmW*%cYNkaX%O?o28hVD>!m13n8*apS7gX@M5N?nwzU_>i z`t=1o3sq}b-RTmF&M4a9c49YL^f%Ytfa-7zjjruCB@WV8*M8^j+)a7+RALjK`Bb_F z>8lTG3C8z^$-nM)Oj~B*+Va?%CEejj64oGfuGz>QT{Hb5ia)Bx*r-Ionlu`{G&OXT zLihL;sqhh=RX!r$uD92GTIyfWZ4-QqVh%ieZ79R%W5itxQ#~H^bc86J|+z15}Z<&KX!^Oo696p&Ou-z$6YkwVnK?6fv2sJtLEmN#x9K^k=(G~ zk420v^-g7}nqu#Hq}ZW0KGd?~AkoNB8#&9mDu&MYmB(5)M_*BT$f)c2>`Yr4Utn13 z%X7bFEct2m*3_wB-V`^SX6@xD#vfN3jPKBj^-gK8(o${TOx|7ov)e~LCs5t!rj$&v zoX^#{P6G)STVdKCYMs2!YJ#0r*A#w1eebTu8{--p^LI)Z^(y+D$fch26RPanE@Smd zE5yjHkswB%p*546p6(p45JNXqnpnTy=votM!feTl2z4|V^iE*paGZka#u3TtEh6-n zl`hl&;gHC>_p~eLXLkA%)u*a%-9PU-d?)yBjd^6>@@nAAK>z2iDjhp{p(&!OOI6Hk zBGr-9%hbQPTo8SwZGPxNeBWpQR+l^KR zSNT6;rbPFX=i-}WPfVNQxYjkesGs`tDQ&dnLLsW3?wJ;5pk{BkE^Td9KNNo?YMNwF z7gX<2Bl3#g`XMe4hjUloePtw=^Rp;uoj_r=rh>&*iH3f_cQr0JQb4KZ*S*hH;;j-M*F*Yxr zT=$zM(ZBubK1FtmC0+PEY>XM8B7_e+p9tc49b|r>=PZ4l<(ed`hbH2;cAq zT8!;+DZ8BwJ0{uAIf9KBRFv~o&pH$@cT=YGb@tDhdBJ(`o z)1QA=wXp`lZr{(lF6CInrBQc@{dR>n@TKjt|0 z!BzQoWY7FuAl%OF-X{O-X-2U~ zH+jx%{6?L;>$o6G1zyfE%g}Y=sR{F>_HK(9rMp3sH_;X!`&t=Y+Z4}+68 z8+z&etKZb!Xm`Y0WLc&JDrp#BJ=N@K-nk-bGD=y@oC*+=Y!J*i`dv~f6a?mg} zY;nKJHczw6v_pGOpbIV-RY;imQGZMiP}%R4(O9xmB&f}> zCmHMP4+O?fD2p7EXI;H(7x`ggW_ytSLaUw6+p9lvx)t=?3t7D#Yau;thk9iVO}mFx zOA&;F0eEGE7S_gi63aLJD37EjZzGv)s23t^po!!I$x zcD=oUYC>&E5{|F)=fZ0E&wPDMeO#5U>e&dd52ByNAaZSmbVALW+_&{oBO$D98d~SP zmLSnr7I5iKtJ~5erceH6Up|RGt+}VlCemVWmZo~8J6-R2{ z#H_d7)Mu4`zq|7?MN=E+z!>xfDN7xg`0YwPjMxlDth6w0VXuH&c&(4)^oyJE+eoG) z!nNj_NR#9{C9OzaBND{(uQcZ?{$L^%q>Fa;@pdms9kVCU))?OjN}R5Zy!kzUy0&gf zow}1jRE&&FG%=Dd-K(m%(%<9sx88E?lz{tExyjg~{IDhr4P=gcUaFTp|4cMaxb1qT zIOHxfunNAMenrwg=lLl111$l2 zL9Q_OBUeniLrtfsZE^dn;@(%D>L&Mh8{{82Kv+c=_c2+70k1&=Z4G|(4>5|>l*oBQ}px zQ97&fH|QHGO~^~_@V$J$X*|d~bA#S@T_dH^xhM<&)EypeOqI}xzpImt_tjPp6 zoO!OS%&?u7T3)Wi!S%wfRd44+y575m1gyJG^tN#$qFu({Y?i-0Nh2^y|59$G@yji* z$bb_y!E0~%TT(9ZAN#sgm!nzyEhNxIa2P2|jH5_eyXtbc*e$#(z~z~{mkFz#p~)nl ztj@ZS)igrwv(9q%}XYztOXdKV-VUHE=X}8P%DYOHNKMVom-1 z;dzP09`e%UlZj=|O;33|D;#^#m3>UfyF9pFG~k=v`&M(Y39YMxbERKJ2P5SZbSX>YezsZ~q$>sK2J}SV79h{L5g`A0ZX$du{H;g( zmZ)m_`(B3osYti8xP=rCPm{^FEd*UQqX9YYw?t`H)tcE?g?!G%h^p=y$2wIlu?M&H z#n1Lu-O+nuC}FKsQTEDZw)qy@N%f+~y|1b>ovX@E4I_!SUi*C>d;9i%n{HcU=i2P{ zpiRqGuZ`oGtfH5G^&0wjel%TiQE~Si{%L7B@6Bu(JnUh1zvL2bQPLW{J!MvHCbJr5&$Np?M!wV_Y-1vG z(IT5cG)B!!ebZZo#?^bt2H?`ZU!k+n7{@wC>N>3y%I z^-)hX7b4y$&nz9p&6%Aa>i9^W?=&}dku<=h(YIb?sY-U?#4d;QQ|CD2!B*QqiS^HuURCpOxs_Ul*Pm;(|Y(l&YEiRh1KIhG%+r zBl6}wtaqko;so?T18BsdVMyD-0F`t+F29vPIs<$1lCtN_cu- ze8-9K;fI3W!9VX`lym60q(X=vN#^1$!zXpl*@y)aY^3PNnOT|@SfkG0?K8H?wvl^A zj5BkzH~CnpohOg0zGyO;sbK%%Yh>?z@=KF{FtPMc&>~9wPi?+>lRqS+${)&h$h4^x zdD`k?HDGe`)}67kPaF52X%D{@n<#u$btk`sCL2N8V>)K25oKO%K+~*L?m<7JFX*+o zN=xKl=veReBGviP*Ak4`@IWvNwXGuda%W1RmsR46JaJXaXH*{UX6*&FOQ-* zyQ?Bz7~9b)nwyK0WC63|U^e zwg3&*eh5jJb{&bE%!IeuHsiktF}F>1Su(scvusb7l1i)2%d9UC4sg`e($XARntXnP zO#i#2t({%<)z4q6^jx*HN^>q*RwZIF4k)AM3ixYy%X zZ@|)+NWvZ0$z>OTw*eD>3|tH!eeL!T7PT3(lC0?9Ie$AJ?vP;AhU=%>^6&gYZ?c8v z<|Zch=UwLfF?KuOMuxzen;_=ic2K|~S4TeE)5K;TJVt|u1n=Os+d|`KFtOIDOF2V& zxAQH~UGQor6E0jl%9fXz*Z49|lya}pLg9UJtFLpPtb)bJr!40=UK~^5Z0uxPu3b#6 z(q=a*8|ahunoP``OUaAWovHTh;ZhNEv{1guDanW4(LBuQLZ?30!o|#d?L7~D$=W@^Q@XQt*W8gW$H||>J&F_1e=NO-! zPcgB=P^!F`bjW&MlpJSjUX)xU{HWz(!qbk{)U-zij8gGM1rJob>P07&K7X~l5a{8t zFy~?C@9?mWL-7@LMM5o^BJT9vBu#y;{%mcELROlsWdnQrOZjlpq>h`*lu?@Mvvg@@ zd%v}2^7~8j*0=~V@IYu4?VIF%5$F<{v$&e8QW`1W8OMTEo!C#U1!1|?wS9b*a1$mz zOYxDT6KcdNgfzLE9h^DiPhxoJ6jqt0eMS5iMudE+mjijqHnWslZ&{{<$X!es)S^=L z{vl6Q%DQ2HxBsr)4eFZ@FAp@|f6M90b+w;inwsfsV-qcIC7a#WR0Rkv9F zuG;Go;;qk;A4;`g%Zqsb@WD>~C%=`Ygp-kd;MWnp*n~JW?j2^6Yg;M%EFXw+;{0txCQ(6vxfSpt z%7XUw@j2S_LGQQD$<$i37ZKV~`T660$1k5$o6@QiEWtI1W>RW{HzR_(a*IDWN@Q~P zkWF6}8r6smgnkb~?i@o@0|L(X2F{{KMOh}r>#BSBGr0Rj-D?@UMU%c{{1lD*VxDVT za5<{{+50V4mN&=HgsGfyUpO;fFm{V4SsgFCJs`V5>m-znKOm4Khu0q!{2cmv?bEFQ zo|UAq3MU+^((SZ+-B;7NIiE)hhi3}MI5*!5&gBwl2pS7oXLk;WLD&B1uft@FIAxb1&u2HKdHh#NwP9*;ru1J~R(XN_qR@uk!Rw8qjr<_8D z!)TAhOGdeix8Fc2%4+5;^~#+(B(obCZ|d&3rDW2dOX2Pav!c8C$st3Azg0BxYLja; z0a;?an)>w5>!l5A103V=0a_cJaklEjA-u$ki#_z+wG1}eVK*|6kMC!|k4Y07wQt=% zC3yT8A{3{q6|=4-PZVbP_>+*cNIoIMRkGW??}eI~nb4o*>RXBDP;prGSC#IogoOx& znTx}SE?H`V zED}ELS?zyvqQTE47v|LjBz@WGT%}_+y(p$n91r1dRNm?S>b~0n{<~RaLat2Ajjj34 zjS4LJ^>v%tVa=GWncUL1nZ`;v;^~jsGZC5WGPM*-#t!+QGZZ#?p%T!_oU9+W=f7kS~hXa&hA`fgm++uYbx=_Un9K)b7HJG&Bw1W zvZFgj&D<`tYZ8#@TlvwSo2wq&*?wDm)VrkjXGVF##SCBn>L2gvjxLYgJ-Ma}Ro`8I zV|(}Red9AVRRyNM4DGXuWs@U*mKy6eUDeFpeZPtOAus>RLyvZ6J;4z>QIO)#!|VLH z@PlX6#(Ie(w*3K>D~ZJ*;ax-F4OJcXvRIPdeJsl$^0%WNzjSN217DJc ztBpf$_XS~0MJ98x;`-3m!i;dx6CW)pC&{i?v3Fk(DRhE^(OT6EbEO{|-$t((g-Ql_ ztqkk1;e=E7UPiv%GQGTAk@?-saKhCatBOq-3KTgqhr+-JjSaAMBTf9gSJ zr4iz83+6HNbPL7JTm%29=<;xf2!40Bxd+uGcMHSq-l}hZtH0OuakqrIp=#%%)Bw5V z>W9@AxTZS}K1x^X`*&|J&!w7SJ^Hilx$6Ueh1>rg+PYBOwvpFlG>Dc@d*kIB+}r5M zJm6uu((V!Y`OBzPo1e7fJ!@J&Vfw8TCyh&$&nw##^||_e?#rqtd`V7xeiVD%?fKM~ zr^QYmnQEZw(SkjumSqs_?N_&7hIP6#$UW79|Y4P?H*4)(A>Vjim}rxp(FUX5~4+gWw4?@Qh7uqvKUZwObGR%Nck zrC9y?VkP~3p59r#O|_9=!6FKRxo$&W3pK~_W`CBR`|f(k6z3~W`7xUG z*e2ZI*etXbiJVpuF4C?Vd$WUE zy<4k0mvh~rWB2>euH7QlPJ&`VSkzchh4F#V7!J1)!EG6=A-$54 zp)dYWXsmX*9lW-YUTjf+xMt>*7PY(ml%!)?1x1KnX1?7;>igb}bT@U1OnFQ2u`-Tm zl+~oSM2PZyhFu-9;VD&>TEN`rcQ(SzzbF>vBf3N9JQ@^Aw!yzQ)5AS&VYLp;BR8q8 zn=BBHR7Ov5vvNSqxD5O{Pui)+r@j?I`6;w~ z>k4;ZRFj}==H_yG8MSQ8Ud+is?oL|*K5O$b^G`NGt~y%=(VH+En(k|uSh5TzA)Ab| z2$xs_Y1@VXcX=n}QaqdEp6ckZ!rVCbYpiAX=eo&r3lV-97+fZFu1$w)$K8*3^a8Ca z=a6P6litC0xEUF$1$1AjEM#Q(UO zMg%4za?9dkV&Ryu?R%5w^m+EgeGyxs_>U(!OAXjV*rIpvNA;X{Bxq~#&V9)Me>8Ax zzejSCrh5cObS6aY0?pDod8YS%G zOJA?HE|?)Q;qjRA*9v|W<-|6T4_D#{k=F`AZ)`0`E3~DhRx-g^9r9bO&innARQD>U z`z~dbrRSw|tI+h5Q~0CmbyCN_@{LJF@lZz%UOhRti6iM-fEdnk)sNh&HHB`fMH`{87KN0V?fYGgW4n&scQrWlB9H-sa{-W+9HY}*2 zx_i~y1UJ=n`;-#-I9Y)D%2b0x*Bw3;)g5q7JVq*&U>ub{%braKf!t#2I@Nb^@iKwROepkdcgkR}VM*WMTE~EI|FZB{jnn2PA z;TZMl%S;*FVgzpxUr~b;SBXZs%XZ16MVxgTPG{ignLp90SxMn_@Y-n2(b0Y)uXB*8 zwP`P6T>gQGFv&n@(=NG1U40VehA$XdNjAWrX?`5ce%+u{z#R5Wi{W=H;+z!01%l9c zHG?|j`}h}lrf&oBNq#_1a8$7a-g73JjZiX@5{6$Cv|S8sT?Fh*2kZ)+IRPt4865Qw zC_}TrUgG=dH={STIH(9a_(zZNriql{C)=)*uaRp@T{lNKqq!T-?Pzpwxst>Tb*Qe9 z=b68qCs|b+z@}BaZ(4GDJDfQ@$>sBIo$;GR5|Wi8>`83b=dV+VEAMkcJo3JXTn@@k zEA9gymE1n%tv^WpGrR9+(#H5HoQ47}HulC?udxQJzs@_tULPw~j#zE_UaRA*)Vkv$ z9=w7E>!}WTAF#rgiE=uvtY)JXc?7aMqx&W!uGq~k)hQxKb%ReaPdJ}qmd5kEIyxV} zvL4)96V+@si|5#xSocT~Ph=tf)d$+Vru&J3M92O42%6F&`UnLyY2&W!hV`-0;*S3k z$2%_ou89|;?LNo6(v4UVN#UHrKe!T!wtJn7S=qy`Sg|5(>MNN~)uJ9G65Y(MFY~LLNua9C zCJa;WcC|8|QllHDJ!za8e?v`?#|Wp-x)hkr!&SY>qm|85i(*K;@wV4E8}}9Ov7auh zKh^CUKJOGI2MIUA4BmbV^^g;!Y~t(nVI4m0k!{3Es>8Q<@e-wAPDw0-C!zlxt?FJD zJL-BieG>lh=eek1;-AH+g=<$-vnx>x^ae`YF@#(fuU>C??4{3o^HqdXkg+=fPCV|H z4!t_Kq}$*);>yW}Ix|Dj{*YtQ;Fq}1%C;l9PXGO@t1u8ks_ z+9y6@A*)-rSCfK6`aYhwDZ)LnJ{5?YDUH>0xKLS#E`IU#Y7d#;>z6(oi645Fgf=j^ z)vb*?$xQmEBnoznFYP2v{?tmVEXkjId|5S!dH#XQpAN>Ss;jNkZDfXl=egc7C@x8j z)h7GS55c8Ees>?X3?LBmvrti?`seEeEG{S^ zBr8tg>{9;xDr0)kSaqBc>=j*`WLdqC-2PrF*gDYm(}hdFeYZy$*Rd52S!?URJ_N6G zC0>x+3BP=P#O76)gl%ZY(|l&OXxtyy-?WxF3$Fvp7yduO&M7*tE^OCL(0|G_@^$Jk@+vpL5+n5S#r>$$IMt|8epN&B^z^mQtw z^KDEly~9>Kv+s)M^Op)ZexAYSZ1SVL#+9Js@(<~!tL*UEPlj>I;fvMx)oH@Aa=x|q zO;E?xN{i8F^=qKpg-_AJzKz?a&fU1eyjumKdmhEpki((blMlakv(a_E7ynb4m+trp z5Wdk?dQ`G2Hhyx=^V2%sh6%<)ZgN5`r`7FjQSPtag|EZZYx4UIrJT3zm5D|7yYMA1 zM=QUFkI7Y36S@L8OjUWQ7ueXsWL<}xAIaflbvx|89< z!~5$N!%MTfq>=Bbe=fU}ALB9&i8lrHl97lR#&mR`7V?tE(U;y18h*ob&02-#c9zdzsJ z-&ImPVVHutd-N$5O2XxEM@#o5lCRmCM88?i^W0+Cosvs6_mR08gi9R!g z(zI`9OU7jE8#(fxmH{|s_3PTW;bNCJv1~J$tdxfDI3`*fMNVZr)_hG9>sxbqglBea zCh7b2+-a0WqvDwkGM&2B_4g<9lV#1Oa-ovvNul$TQ|cu}i)r>`q5Iqg?S!pi6^+$f zwo+NVnfH&hS!c?2?X+{a^)LAVbxrx=E{8=FZykhN!rUgxOgr=@aRZ1i&w}kCBda`Y zP<V#WKGmXuv*>dx+?Btbm}BR}U-IbzgS0iP8!aDZ zJ9Sg@FlaCQ5A~HLtENVgM$x40ja+!14(<0N(aGE*p41s^o(0|RY2)vU-(Yw#+J;t7 zmT5MVohA7WqFsfKeTpf@U9ZhVP zSC7F6Ri}O$xK}PvYfA0%JSQDgdc_mvVRXXo~O8Al1Na@l=1Dl`UQj4rO} zcTRhwSuKU__`P|C4vNdzxePZ?y0Hy*(cFJCsjNePbWO(*a3Lu~^c>xZFtB1Df)|gH zk;M8g@SBHhEZe&O5gyQB*({V~KsbTYY!|kd7jc8E*fsRI;_mMZkwR7$Qwt{vGM-I? zc1!=rMxHfldDqSz{q$+XHck_9(#Dqi#R558*nenV4aW>3nagcuM$!K}W0OctKTVZd z&i^YhXCR@7ihRz?9yn*3grz*?nXtZ8{f7gJ4mO-&<>E{nz}Tr3fujy?xPdRXneg{q^NCf%2b+D~mItMvN>5PJx`1HnB z(q^bO`>8d6(5>@Za!;K7-BR9@d5KQy6dx+%2X&>*sbqP%Ql6r7+p}=@z0;xUUi}H? z1yTnKP1G`Zs~k4G`VQuo!W#a{h7J-OIXn4PEVv=)uhdQKcx>lQH^*vxym4CT2`FzKH;B5RW0h7I8XmoYdGk5jgCB`j!H_^ivVxVSv; zQ(y|cwSyMy^G=&UizFUX_QL$l2gj&6ESpLe2?U7lrIS;v1y)g>{=i<{>s8$h;iV#5 ze96?t&G0Q>k-iJHXDzyH@r1g5u;j4P>{4E7eLp$u3W;M=iINQh?!ir}l{~G3SiXhY zNG2W-O`~;A@}TMAZqFHerr>#@kny`lGPGaQ%WG`o(n9G`?8jDmn6Bw!Xh7AeZ-Qiv zlyShVGR5ZA0ynCRgi$R=+4sNVnS80^kk!U|bcSVw3(jU=r*_Q;SW|D(Y#^lSwJK5y zmFeksj~aQ2IJ7Qr+++GsRlS%&Yth-+&}L@9SUi|e-aX!+iKXn1bLdygj={^hk@t50 zU1!PSIH_Mh)ZDTpC`VIGhD5!(m$JWmX|5*}htw*eUShNIta~m_?QW&k@q!o9Hz`CM zXAJEk(mdzG3FO4nPQGWvvnNf@o*|I+K|=fJM2Q;NMp894^-}!1)8Zn6HWMXf9(4g= zUw!ypfu7$+o6m|^0=*F8->Q1fo*F_5j%`@Rw3)bX!~xL&#{#8t7_qHJb&u+;UF1eC zzzUKu#Mi;W2##oSr`$oOao zO}u{$DA{g4-qP4s5Ofi7Vf4V)cZ;PELccGyL6MR?!<`ltW8p@?b}C=^B2NDgn-U)r1VJ|ab9uAZ6S|!uFmRHm*(KNNg*b?J0^OgctyIQJ75OdUo z?Ny{?`Y%r(X;X>CzkfrG+0vS&J65+*{gb(aCyE%c@hBw5wr6tuB*-KE``OyOSn-F1 zef;EQMg(#zIJ!m&9=XpBF$M2H|{_(Amy3HI#UeYV(w5+Bkn>w{vg4d711&`{e(ubU=J; z?~`1t?bS51v^ZmT*Wv;CEH`Tvixp3lWPSvW--%~*@ZOq<{-L#r- zb`_p;s9?%X#3qszq2DSVGRP8Myqcu4oO96(UtYsxJ#9xA^_vG~)^?i^Tsg)NhS=NG z%$CL*E%oeZjM4M6>&j+-FtcM_FvLhw;Kq`7nD7#4@m9t-Hj&A%<6cGtT`*S+9F-XhqxfWf*8Fi}Iz>Ctmc8{ASG%aH*Us7n$q%Lrtv9i^< zO6etN8_X5b(QjcS@D#AFC)xsnWr-_ap@W$=w&ty@=G%bu{PLytT8%R20TZ_0D)}rl z%b}hLW3j@;H<~8&X|BN&oLCnP)ac9^Lc~tSZ|Qv9g(~C<#g#7U;s8S zh5&2&_cj-bwr$MV6)hH6nFOJuI+MgQ^_AR)AVGQ;+iR($_O>#Ht@TnYOBD{Sy{^*o zLB3SS2Sfmi3_Fm-BC6ETB13SWjZDcir#Clh*rq*ksfvL0AsGJ#Y~Rfc?bLGxZ=o$4 zK5hlsG4xC5F||PK{6Y>lR1+;+dXq7Tq-71_^^dX+Hw}xGvqf-26Ey_~XH$8Xz_5Ti zdm-}z0+N++KeHMu3tc!XEuw1RsQJXVs0T<3p-@00;hqMvSU!gu?lpPIvwKjBXC158pjOx;!+=aSLCAl795I>JNP3e?vNYlAFv2Sh-O}RAmYk8M)PrT!)3a@4i^&z7L zZ&xW<9xL*g;ijk$oxV8Ci)a6jqTh2C@swWqrfJqqP!67hu_D)3pg` zEqQ?SP75{Jw&k}fN2N5!VrkRZn%~4x9F~_ibAb@w%s-*x1$V}(Ia|qQx_vjIYX`H{ zz=dlgl&2BWN+h;Sb1KKBMg1#Xprw$E0P0+*6*)tdr#Oad8lntA(JWW0rL9z{B75l2 z(ZfpzkKlj(tQau`{XZnnwZpTGDK78F$YcQB5+%$8#8KtzwBAwzJVq>IeCSBpB?#t~ zft(m`B9v;bz)5P2JVN+ynYSYl@%hYRm;=Zp!+7@l%sFKIyD|7$_ zK2#?2$R&6_pfmfK8NAX2TxU=@L5xMudF;6+PasWr6@w|<3wd^)ZxsgycEDu-agmkE zDhM$`*{yh+%!yh{r9WP|M;~nCTwBGnetV+3-PWTGS{>D!Z@e6AS!3R~k5NWvdhU zli7NvE!6X+pP*k}a?7j%xoH501j8<{S*1vAr8CaCmDnXfNMz7;BGsYyUB3C5T$-a&C7koK z`*JWwhY^F)S{iW50)0{LtW?8YbcHP3OHE#vZUAIyTv`7?YLZ;*14-^~iRjC7 zm`{`S_xB!g7YNUDvSz|rkQ2dQsMD2WbaS8l06UbXq(`Shnoke9oZE=U zufK8s$}S8MN9CSNey$WVus(JKBoNzt5UwX;#DqJ>ZI45BZapG<3-VeB#uQKzeOjIp zu7ky$d+vb$8sE0-@!#dFITS)Z$58DcH~GIXZ~pa4Ly}+<(%?1~@$7_xz+wF}62Rtu z9bwH1Do6ElqYJVkHfJ4kPNEF3({-$ov%MFK*_~A;&jf5W~D?pi_Fav!JQkp3{ zVRhyP*238HSZ2~r=$zTPVcwy#BBz9o1NC&jI2@Ctg0yDHPZSw@O->x0q1Ga*zs0oT z=mb`aEa#oivO7bzqihD*injQrY=qc~x#jZA>YUg*Be!F2hJwYAb75wMP7Ln9d!q4D zXdX#4;`0W(=9bK|oM_zRc@lv9K0;jcF=wTK6O(&5Pjpa-u9#ge$1KA=h9_?RaK{Pn zJ>Sb0pD;ebj@jW8)O+d|1fS?G0k4^q6WV*Xd$t#7k_opHuY1U~NMB+8yqwve=7cZk zmtv&mXz={-q^W(Zri_tX6Z>?TQIxx*?r_-=CA+7bFw;G4?i5q~&#hmk`x=?`)IPGxEJ&{&8saiC({XzARLv{Zo_25PIz$W$3hZVn+og#N^ z-DtI)BzN@c-lmnXb9-Lfo~TyXj9P51T6B(mjExAJR>T$~9&k@qE4-T#47eBc#Mp^b z(`$9J>yGbghzahuz3A1w=zm{{f#d|jVC=t#I(!qmA&TDRl-(hd-6j6@XPz@Krble= z;fczdl@FRQGNylcAN4x?iL4VM=Z{=($=>|+sXOUb&~%U4Uc>e36W$x9Hv=DXP7KFB z{B`gXi8s?$z|Y>4z3#p7>%%9wPISHSnm)CCtLvsGZg1YL5W60Zy^QP0Ck$_ZwhM7P z`l`omuj6|2iNO137xH!tVGr_N=ym@S${Uq00)KQ)kKEqnzpe=+e^gHI^xpCH-4oOs zM<;4`m|ow{eYNX~C$=|kU&!uox80WO^(Xu{24Cdv82%o@y_jp;H>QtoKm>n(&i>D9 zf;aLHxKDf_s=If4@9O&R6HF(7`56ZE@$c(h^S#k-#fV)~{r-k3NF|6GQX542Ym{Ww z_(z&_acr3}PMWOa2tvG+Y5cEvIk*uz=8OsA;KDGpgdfZ)iSf+LF^LJ!#t>yhNyfw) z!sTH>;u35c(#FEFXu=Z8!ZNJFQqID12*$7)lF4z0#!wm(s&P1qQhy48=!FF6Iq~!$ zwgC08B-R9sIZ5lns76$tQ=+WGNM}@-Q)18oV|{uhvDN6VF}}kO%u`a^J!0KG()R(m zuVmuT;$cA&LBgX%;c=W2v1Af)#LUujWJ1wIV(||LRF14%A$U^Jq{9iQBjE>R_5PXC zvcx6v^CPFmq^rVHL}u|o!^r9Z-Yuph16NF@9D4%%NbmuPBh#uN193`xcl`Ls;Q?HI zlD0%OiCTiyNYeqgBk!uHEfGh2#>nIWh9hlT)P^jW$SuBOWb=T)@n>7ih8zJAa(w7W z{{hM^mB*i7ve`s(@s|hG^?|=+vWchTk4Nqfpl&(p6FS9pNq!~(Y9s$%g}2-uft?br zaV;b32l%%P9x;%o{OW6~N_w2RVB@>PjZ zmIZ6nJd3|w6m^t24s$(Ab;z`C-Ljg<&O1c}hh}1>DkvGNn?b zviZ{avZw`$GlVngGrBYDGrY5(3vCM?3(pItXJ5|*&q&S;E#X~YU8o<_&X~^}&)_U+ zUC3R~UD#XzL>GD&d>7uPsCNJMxc2b&wD#ckr1q%xtoFe6g!ahxjP}s>l=hhR98W*b zSkExeRL>yKM9)8-nVtcj@oTcYBA2<@#o2k;McD<}CAzsEqL+ob|0Z^Ii*@sKi*yTg zOSW>i3SAZK6zr6)9U`tybCD{Y75(CHDz|C zc4b$kS7n5ypoN$PxrOP4p9_3vYL@(Lf>C|0kn=&s=IN&9$w%hdQ~3?268FZQaJ)&` zqH-lpC)mymya`hUcc))HF?chwg)rwtoSAe4r;DUcnLP<~WT#6oXV9I=L9x2RYO_By zCDrDENDFNG67|KF3F-;z zNq#1E{prf=3fPj=lh6~lhPB@ld~(Z%e5=C%eO1G%d;!`w=22Iy(+xQzXFP{ z@~(=m3a&~Ba|sIx^9hRy^9YLw3kXYca&rn>=H+I2PD)PAPRve^PmWJ9Pr7G$PBBkY zPEt0=?zQgM?|JS!?!E3`?_usk@5SzIUyNQ*UzA>0UYuUwJ(1tZ z-_hUQUaVelU$kC$Uc6plJb%8EzU!jCv%JHDVm^|#zgt)q;W|TD-EErkWXkACsG?7F&$2Ln?fk{ zDl@~UiAbZ98Wc*ir66QNVFBZ*hZAt7G&=99Rg3#-CDsho--!60!6I zr81%#&u$T z8pxW+8p)cmGiRi-q_U(nq&B2ErFJtOGaoY@vt*>fr^2U2rbedGPmoU(P3WbKr;ex5 zrdCZPO{h#PPOwchO}I=vOt2q8r`%;iF$1PNcW4cP9_bz-9?2fj9@!rL&$tZ<9&sMw z9%&xI9!VZi9$6lN9to?1or9f|o&BBTox`2e-aXzU-UAn=e5QN`d?tKGd}dwxkBoZE zdQ5;>muZ(lmr0jVmzl5rBQrlUKNCMoH{)xnUfTP_ca|{{jE0~h^>h>Ut!m#*%~mG#@HL^t!b@{)`1n*r773iENjg5N$wSb<`mvPI+N7~%k`lR=jxQ_ zhOg=z=LVq4m`k&FYd^$#Nb4}f1{C%&q|{GrI|DltJ0m-@ zEB!0uE5j?(D}yVOE2AqjLVZGGLPJ7RLIXk*LL)-69Q_>QmWF>i@RgEPvlX+|k1%l$DfKwH38hVEJDkmt%!vRp&zMV*P^WqT|Br;`IXNBJ@J+!uHYV5%p2& zk>%0p5#AN~mHZX`)$P&h5%*E+k>}Ct5ytiBE9oohE6Xc?7-vKQ zSBMc;^nM#1Lq^7c%u%tuQk%twGec-b@1Y}0+b@P3+8tAehBhv3fLLt+-HCidyE>6} z|H$ER!`l`@tyjenzD-0MopQHOo2?}^!NF0smzoQ`Sw}a0AYk zyd|Py*OH4=ZFtcMQJZvmAdQp7Y`0RIWx21(k-a*~>i9w%W_i@bVKX!EeAlzBzjbi~ z$CloWvnATek)b*UaB?D;8h>u}otlPfCF1A_Ze_&W&EFux+~3m#l|7W*mpx{8%xGn4Woc_@ZD@09?Y2L5 zJa#yC%4macg>Q>&jclXeAm1q3&}$oS9dDy;t=dT1P}x`nHrO_rHe5CyHrTr*8Y#R=u|Ojqe;| zqy%?CCGP2F?#ajQ+0%Os&k}FOzHt0WIYV;CPEXk04Ezbx`*+V@eKGhma{4iEMZB5x z`lb)1o|%0K^rohdF|X0R$-86q2GnkT=#HrYcaa|0KabHnTzyL=mZckWJkwfE}IakUHTjJY~~_x3}+h4c-Ou8?GEcs-R{%t(;NFt>i*N6*&VPwrZ=iLs5hzCuQ#qYtT%19 zZ?|K2V7F&?WVdT~_-}W7wR3fFwFg`sUF}{SUhQ8U6YdZm5bhBk5$+Nm67CZo=ll~c zw%p0x@H~|~n?0F5A3q&GV?K4?@H}Har#z)Rt39bbFF!3mb3Ac8>%3{bt-tZSb-a1K zy}rS`g}#Zs*?t&(pnfQQuzWau!22S9l7FIqx_wxE;C^U*@O*fE!1(_BBn3WEKUqHE zyJJ3+wx?sR3pA+U&En{2BBu=NSLhfbr^m*|rqUDHxU3|X7Ah??<{KO-HkkH46L>`5 zaCW0n(jQ*`th`7yN&YD7xRHXZd|(-fXw; zKOwQ`Qpx{^5bxydXkuXVe_8RY|HzyE?f-*PDS#rkXa{1u5!`*(7adxn$L z&u1~StB|fpdnm6w;twnj*rom6jwUz#(c5{wTi)vrEbZ~v(01)Cmk& z?Em-5W5{{;RZH*G>jVCXNQq)&icsj=Oq9YsOw-IjVm?JLlPO_?a4SAJF>(6?M+zF*wu1i8-+C#Ze|3c!b5Yu5aWQH=yUW5 z_bxgw$*mdUxqIi#jr4UjeLJlA_NTBf-|BR?-%!32DSzanm~PwbGFID{cUq%;Zv7~L zL!TGh4vm+QOVl30=PqXk`i^-AE`D8seZjR9J{-@K5Lram-;FXZ(6s-R*j%m83ID>( zV7NC4#z-+wmh@pnK!Iw>g5y}K3G3!arn)prLGw&^(zA&UR)bY<7Wlgr*PqmMy%Raf| zzc(>(wM25)VT`&f48O?UI2rJk3IFC%sV&fRlZ);d-eBC^{YWbOU5`A5IY%Z7%z2Ss z{ipRDDKI3;X`HOjSoj@E=y$hVl_DHe;TMKS1%0OVuNuF9EheANypWBtqGuVFWYRi9 zE%1Unf3?v5ME-Z}AgGmSW^d8m{5Y{{;yLtSbpoP#`fy6|0Snq2Pg6`se+@Xs(=v*JMF@0x#NhS$Dg3`gX(IMu-@dAo zhX_*S`4ve*%IFKG4p3z0Q8M_`l*dVXlgy%VJ%s;oAZhTd;Gm|J>qC&B3B^pPCY@mZ z71@2Vmd#xyR3w*oiZ*71#e1`nC?C(1m1|LNgItr$#dgC~5ndHn0lf7K1ZEZW7|Ky< zNZ8k3zXlL@`e4d^?Py)4=FM&Yc_UA^0vZuxegw3;956g)> z&IJK8wg+62qUbdpKoR|}AGW95Kb-lWzMB(Vu^Ul7olvl)dwK z{KTyn4@p(FYJ)BIGPL#$NX{;Y!>6Qem?u|H`n$m{nPpf0d0|w=wymbvkI?d<# zaR&p+U8SY9h$*0t(^sOnx)Jmbky!EAgzsYhacCn+aLHZ~K!bZ^uo9wI?l*m0)vwk0pDl)){RY#U>obm>Q#$W_wC3~yOSoRA4{c^y9>|0vMCDEP_q_#oXSP5 z{U_5PDDhBDDIKRKpW z{Kw#@>B};>HHsm*$YPf#RM~`s0S+xIbInu}Ng0Kuy@ZKG-?gLv>hY))GtVVHH}FCu zO$1arvzvaTNh%JA`7A$x+uXuJ zX_J`8cukJw-}MUx#fR*sgV9db_-K+1l@AT1-buVZh`ky(MTgD>Mm%+Z%q134gLQ~ z{X92R?}aysoa{?j=h!g2*1eFF0Pf72rx{7rh#)5<>mJfQLfP-P=KVGsU>K@LfOGu1 z^F9j5k8%>D@$i0lse0V4)Eq95$AwCGPbKllf^;!ajBcHqiO(wc(b+B+@A1n5ILI?u zHB9N5FSZC)R~nC=uGE3^JjYo;{~1H|7~^6WHpE&v-Q$(yNDA1!cRn4M|DjVQb>(7k zd0&J)A)EKSIFa2R0LOjkIj$rNXi>;m9ZvF$Lb*ngzd|(wsl{-GT$jv;8|_FcY-?{a+f0{85xI z{GM631<}IN&~@f6aTL)N2(%X1nHn65OK#B}oq9=~A$7aBsItjp8B+&M$OTr?1=sCF zLm}`))6CH!#8#$>_>k+{ZazQ4Si)TK_j@~Dfde`F<4Yx!+OqB{%(`oBWPh*Evwy4z zPri-au!W{M$symd(ki#R2hTiC*9e{0*#TBpLK*7xN4;I|MA#z+z-cPgN~vFDLTk%c zlJ-}bRH6j0?M|zU9S7?*_8B`V2b@e;U8W*r=Z{L`q4;OEj^i$n>1m!or5(iEZs#p{4{OL}K{Jev-$X%?tJrol*YbkryJYo!k3NbsN& zVTe#mJ)b<}fuGC-%Pq%7|qJNN@}lPnMS!#gSbVHT~u~Q(G(XP2_N#6 z62@gaCJIeSmcJ)96|AG;px~a;aHAfAp{2pBHn*8{!hUmRu98HHp!(Y>nLzhBN@;>P zNG!*x?orqYw6kqm)}9OBtWkHB`5!nswx*UDZh0JJX^5y+^`Ed+EG9}*?ZF2|Vzly+ z`^r~RTk7g=Y-lH#j@DYDf*hFhR#32zfPj$^T50TQ#Q3{>Z{^7w6jXFGRU8aKBll57 z_yeaT`k?|*PS^@xJqUlO1cZiK!~M1g{z44ooGW;MstWxl{?u*Fll$vgWP{VjsMUOl z9hUazq+R*iyk+`$sM}N)&IyeJWAQ1XN0b<$dsR8VwCV#i2-nM#OjIsk+akVXwf<`n z3%CMy8o6~{vCKlXrGUH?#|oz--tw3H_6xW?eQEYcWn?BLF z%v`=i^WZGuH0M)&&==|uJZK|7L-Von@I^I~0SSHDWUYMPIKo|y9$h`h6hNt?my3El45GD}Ect=H2`jE`jQ*>VJE%WOH;UZ5|OCFsCygubq@emq1t4)M(^ z+(T97YD3qb+Or!}KU7Ky)b zkbc*6A_|l@`bCbz@Q1oRsnEPIV)|s7cdynrjGmPIRU^)nG^+Q#4{DJ#QIKX{5=tSU z%SRyDd*u+HUyTaZunMV) zv=h*q5$HzkE%0o#JRkSZ(D-a-p9CC$sc5nCrX9QicHC*(iaE8E8en`kb{(ftD_z>) z?V9=Mi=9PivLtha2F|&F6}~{h2U2F{0&3T985k#NsZlByRoS!77yF(gj=gUQlX*8^ zx0+aKQ4<}_3Jjcjl1-W!C}N_<5)cI0MMRQE#NK{$W*}xBw>?V;m44qe980$YRvk}N zmFqU-(RWZS@+g9hho`sa6Zvb%W6x=qqNGm1xS#_P z#Zk4ls>aVH-3a9rDAP|mG3y(h+;}s{oU!)$NgUx5fLdRd=DL{_jp3aM6>_Brr^r;5 zb7SVZ*xSSkyuYu^blAvy`NY%!lqs=OjTi7&FRWQssh(k!;J1{}gw}u$3w7KY$zdxr zvM?WnwiEWQTjr`Aeo(2z#ttf{m&d#lrlya`OH#RToH9YGp}EzFObPE1xg~y*Va>0F z3$`Z$-y!o^2_>7a`b02R*)&K8lV(TCWMif7YNSon!`Y_e>Jh^g+LAVa;+h@OwB|LW zp|N@a`^`7irTyBEXEb^2m_`9J*1)hf93<2Nl!$;|F0meVcgd6l!=tzy1pM43-v8Jq z=5ZL({k-^|CzBd>Ov8+DEMVzMJND!Kj-1XhR(=urq<>ZsvNRdHnD*Wf?1w9Tp@{c(3 zreF0?8r)?PaiX*Bf-N|VAjI`YmQ&3Zaf*5=O{Mpy$h1t)mZC_3`SBySPv>c!%Xv+< z5Q`=*+O*H?^fV75=Ky+ z{X>w{%BA$*wiXG{#s>v3@Vr^KV<}0dPJ?yo++ybU9Xv zg%&6OddhPuo0+MOW8FR@r3nuso1Tn|dN#Tm@djh?(U(-f1+R5-@qRq7l^HtcgooWD z6gT^w1WyGXD{ATKUX@w5ivApO-KZNrA$$dgpoW(~*Qc;#zVNxUC1can$kdH7F3_s= zi*u__YucO7Wbf32+A&yUwO|vkK6s;-*sz?}Wp!#4>%nA)>*pgcJ%+Q4?U%@HUq#|c z#1LEl87N_ZO1SH-kXM()jlFP*E$Gcv&f9RY?k~?gJg6Nq&*gi$R-7PP-*ps*e5s<#KWa(2^?-*`C*dobb=8KNlhlhgAi+H@Z)^M!@Xug9<+s+3G-?S z>VI+OUmhI3n0n=fT}ACjP9|kR4U9pOe@%an_(r)Qi`20FFNuT8SP@^7OaHnu(A$0Z ztq#t;(5nID*=}J-?U3Ha94ZNWYI9KQNpYJtxb~mU!B3te)N49=Xt%(2?bUBqyr#} zfSjc1%_gY>4h!oDzK*ux2=O3;y{X6~{Q~mDklc9D{!GX-)(iIf5xY+PZB^&c_7Cs} zJGYtzAnGRu3))Wy2PnX<;EGn2Ms3~!5J?M=?fe-k9S zmlqV5Mr0HC&dVh7a_Pmr+81lrbs4jLb$16^UtRTSXkck*=(tn8`bP9c9~SBxt9q8t z9)K@cgYcy_W685GZHFo@p&P;vzR`PDoK^kHIp(kL0(X>+mAIoOq%J(*O9=f{qA&0a z5k=#qRs`yT4!3k)Tx4#{8SAfteL#uZmXh0qCFqNG{{|9PMaIwf(*!M^s%T*70fG7O zvJ-aX$GhV1Ia{^$-H15nEo zGk1Ux(0>$K-w8GK?8TXwc_rMZ$)10ci>-nE3fbdCkMttoj*sR?6TvI`^UE@LdT__d z5>cQvnU$xtNy4tqam~+BBqX$l(7dgmndhCB=+^cLJMA*f60qh zua|lJ%);}Pd){c;^xyquh^;B}L%{k2aV_v{_TaZk??lR{ijF*@xyX7C(d4?t*5KiP zfoJdES_1Q)IZdf9C2Nz;miW{VTLOMR(Wt|CnN}g?Y+PYGxeqq<7&yO8L2sBh-IA`t zu|sm{`@xy}!LInh|MB}a;{P@E+hJN7T=0n%+Hc7?==}yXmYT`VhngC@n+D)>v?RJ) zvv+p~`WmY;kY|U?`xJMX4=iYPN}lFMO{-S#i2v}jM$I1Ab${~-`wiVK4*Ek=$os(E zkrLolYswoFuF-jO;a-ft8`ctt&(Qf1UP*f5NN#48N4N=f0ynopr$M4Irw|j^f-GgZ zCM-#|e!s{+t0TBtjw9KYtqAyrfnjhV%oCby`XSeArQ5Mx8kY+W6abd>mHi~Ok>1i?l6}~GH;+~WiW1!jzF#{HAEtTCs_2-et zdqH&c(YyJpX`@wYBNNX{Fkka}sVagCk_NjtUW7}3twq1S+j-9rdIh_<>WDGEP=;C+ zy4}@E=|oF}FLCAS%CP`h+r6um|qg`W_U`DR{ z3!KU)O=xY#rIkjV$7{&LI(y5TtTnFsJkv$e$lLmIOO2479gxP?UELq@y zb2m!`r)8}>0~}Q-741t6`E1GqQ?^C!h-Ub(P&ta{3r-)asxek%3wOpp+ynTE!Ii2i zEL;8SGm~1G9e{f{a5gJ-cd2zE3dvoj%BEZ)N(AXSmglLu!^MI$@hmf6e>l0g$R?wA zN29G^=kZC$rrq2Q?3X9uzAiUD{-x7v%lllKB35z(S}bav&c9d*=v2y)J=W_$yL|36 zWc{&!z#(qv3e2X1S7pKHQPkK&)b8h^k;gr8YvwjC&MrOon3>S7_ znXSquKB%fMxoh`92NHxYC9m>-0D(Y$zr&gpiRi)dQt08f48D@N&Twsl}&9c79k`fU2v(CS-+@hBU^TK z4Q^ak-_p6FYs0d-8nm#EYBETDdIi;W1rYF-lYdE;EjuttsX`q~;5>;rJqNd-W#Qqi z-Yu(FZ}DzjEf;n!L~v*0hV7fg>fXl2UbT4B_6?2P;Dq|O^cuqh17V|}e$B?!uxDD{ zW8K!>z0KNF$?4d(Q(L}EZP~GZr9jOU%h6rqK*!7A&xY&r&aFGPwYF~CvDG)aXc({R zk$)K}Bu)(^mi=~=&QB4umbQRs#LE93# zf^NnKI^)Kx8P1!{T*n9vqlKNqfi?S;RfxM6qUnpjsqFOgt2eHx7tCtg+puQi$`C{c zD@&!|wEci;yAX6yed&hB^;gx_Keu#L6o0R-=K6;>Oy5LSZlqIpaO3jno8g&g#ei?y zkYC=?BKHr4Qcc5)E$U6%H#Wkq4y9z>ItlCVPuRtM=8%MwVwZ1F*R@4YZA_yo*g$n} zp}DN1V$bEWinW_NcrS-|1T9*n42ebmzUL09z(;!!|0J{^ue#bM1)&u4^Z)Qd}x^S3tEPNZWJ`0 zZv;KFcjin#hc4qWZlBL31vB(S{RDH*n}#E5+L zC2ZZGmaJ*&=vy^?1zf*gDP5=BK7V~R+YY!V9Gs}+6z*%76CT_fEU=<^di zXfqp_=V08Fg3IRIbuORt=SmJ=n)BJYTsG&@y|cMs)^>0!s^|BwS%cBRoPV{^YKf*- z6J0SYa^nWIxCISk)o_`%T1S2Fekv(v1IYpBU%q@To|U<)yW_y@@9y4==cYUy8%Ap- z%Izt4l_gsLO@}0Vp1>UtQnQ(!L~t$b}cmrY~hhNQP0z zI(WE@a-p$5e4M%<=bMd^#tz(p(L>7nn9I-=oMjN1-U@%q(ao?t9e=lPG}dtIO;>mG zvSrJ;1%bB0=!s>u^-V3!b6ZhH0k|)~)PqLyl=3 zybV;IH}+7t8tkIa8anFXTW9W~@Q9iBDcnWjCeS={EQLKY57Ss=>&#UY?wZ*P255bZ z!k(Eubd;KB&Y`e}wtw9UbUbe0p^1k!x@K<$9v=5o4qHKh$9GX^24>oepK`d0LIaN* zd1&IH8!V;JL-8Xh%^oTzN6CGvfrZXhNa&tSXl!1=X@o#avp5DWvblm2&_ljk!K*+6 zxu$|wgD!FhP}1kAQBbB&ObHMJar$i4O7#ze4Kx?g$WTt9V1GX@o`*~3;R=ccK^8l;kmtFL@K1Ybnu4@0%JV*$ z-zM5JN@>#cUYOQrXe}p4g4X8g9@0vm4QKBj&@a!IxcgE5Ig#VMnXdH<>CAgVPw^GU+<-ysEqvGsRoX2Ulmr-8J0+Y~@J50~(K zBDDRiZGWAVOP-fF!|R~0`0Y65pX2ROsCfK=x#9TQ+;DtjZkYDppPg-7eSshMAf>m^ z(!~C`JxjNhmv4Z!6;cjjdRN5PiD_9(@lAZrLD_$r=fV8G*>0}Yrg^PEY3ch*-=}Le z*W+=sXT7z@HR+=1$!H-F4z^mN6VX;vA{H-zng4G-fQv;H|4l z2Yn%!PK5tcd>ZKJa09cr{N-7oxa1*<-$nP($7sImV7K5#Z+36xGTZT-4$?;s_{`@= zeSdjg!{dv~0PV|sdESx>77x(+BlbHLMCiYgFlhW1)gZ2}Xjk!5`tUseqO#{_vAO(T zU7$jR_g1}E`$p{>^@;@#aV1*5V!@9|zUn=iT-=?5FOnzu1wZDl+TDjezOZTGwRNh6 zpDj41c6Z(0Iu$;%7A)LZyL*wVPF1&eVSf`%*Dh?TeS@Q@KVd=Nf`=CL(LP*wFKrLd zXSJ3EeY1&lQtrFaXS9yiFLKrHu6={j_f;*dxry9WySpY{x3}h|ns`l|wm!4U#kHrs zH`S>Y9K-iTd41c(apbw~o~Om`%JoL|NTmkM>T}rRi~q<|KU{wT)hAACAEp;=QGfGR zU3^h*Z4(KR&#Qcg85VJN+s*62-G6w&qt#DUKh;2O%1gC(NngF97BqmW_c&W}HmiB7 zCcfYybS<@EC+VzdscD(DX4QL39$MJ6;216~I0m0Nd(qza9(EO{7k8m=y|{7YX43!E z3pg1#D=czxUcgEB-}HjMgS_C1{eNDtlk);@tavZz`}bZ@6aSZ9Kz*S4sc(2eAJVND7maln%;@^0|6S^w0Bnsv_sQ1Bvfz-K;!(+B1)Co<4K;xW2xoXKkgg zIb-vua{e2uH_x^rXR&2S4$I+oN`M+*Vz=6Ljqr$u` zo{kjcc6sjana}S(0T`Njf`7toGha}+opP8v6WF=`WS|G!Idct-G8_5xfp4A?4DoOq zU$dP)>Cc`UNNB4|XbjuPpB@}ILr~DjxSGNt9&Y2|_L+|<+{K?BH1a0~O|+M}(}p%4 zw*R+I9uDX6o%>HAhIlQ8DF25kZ07McD%B9>&%qwPUdKZd4{cP!A%Du5!~ImRAzGBNs%3o;2oCMC#Z z1({sDV#!Q-lDB4re)AQhX2%8Dd`^%p({EOg3kz}?L4Ph^vGv%5U_2wB_N7K2&y5Ji zX}L(h)c(OSK|VAp$cO1SE67LbH!jG>__0X~^0ePP{nD|bbmM}2UO-2O4jMI6f!ehY z6BJT{LRL`7apPDRr^A^S6bgcglz>`sGD?S5FgcMG6od2|6%=!VQe05V#RPPOrY15! z&ph?YwSO-*23kHXk9{DydF{;Aw)anbTAw1$olD<$-`o;8<=o-(&N}U;+kdk2zSV_> zky^{$&yf=sZ+`u~hBy1pfA`d5{;WOeqp0ik4>#U$^;Nb@9^JO^IN@oR2ewA7kCyCz zKkUo9&wB3Imk@;5?ygCGtXQ%9rPOuf8h=gam!6H8CyedBeUI&luYReaXJ5~e zz0cID7N7X!p!c(5-uhwwglel76vtMeo@stL{Gao>!Ne-p~7A zHtusB5y1^R-Z1Sv?S-BjYA$TM_>?mgZHb9Y;@ZK<4aYq8OQpJc=ADbbc>mq%p0+FB z-hcg@i_PVh<#jKXU;p*OU#>a-%F90j-zoom@H>C`ytng+mrm{wJhyx4 z(f2l8I((^d=cR_>?swlivFW52j@)`o?GIjXe|FcB#EY-482xGWQQ!Sb)lsdtUS#Ui z*PVX1zjs&r&{0i$+IrI)E`8<8I|uHUwSV<)U-RNeuifZdahY3fO`vlOH#|M`(XPwG z`qxf7?vfXVAAUQq{XBn@OTJ~piBIg^WIVQeN&fEh$p@R$!T6K6?A>`i@EmDBS$J9O z(haxlyx_%6yZ?5@39mh+J>&K)xJ#2Ytsgvl!SAwrey?Hfk3G5g_CI`DIO3AmKYw0d zb86^?leRs9pL+CSsqnU{M^1cf)2-j>IQqo9Jzt|JGTn0 z;J_B30>i+=p(8PQ+Te`%oSs5&IHw7^vb_PPP|+I@iKe`=v^Am;$(>?H&TnQk+M=2X z3QLxdu2gVl<5Hc-A~$%YYDd@Tk2WteO4MbeGo=ZO9RpU6tUsEy8w_!EZ&W$yFn`)ddl^>l z3rp0&XhNQ|6%_;FQqC8R#|G3sp~9xpkE^_XOTZqOP{j)o>y$_8O_XHzlA{pu$ZX-P zU99q0#trU>GL%TkjETsIS*};uoTJvT+cFk)q(n?PZw^Z=1x9TN8NKRM)af6!dmI6` zQ#!7WX|yAv+_-T{DEB#8lYc#1vIRxlPbwIlW(J$eEH-jlXEo zgtLZ;ur6#-IV=%#V$|>SS;jStMH;fFHO5Rq>DDN6Ax5pz+5=vvTi+kl1Y)k#=%ig- z>@_hFox>-UxxCU$zkgP(55*K?Uf*chmM(aFzFf>9HiScJsnDzncpTZ3#Gxzb^;06F zKa-aE+@%Shq$DwWilc^d+U6BSk|A-P8F8ow0!8VFDG_(6Vxb&cOhuKkh|yOvr&vcZ z8jcs`QD@AcPlXk_qI*0fR_It&IIeav7B=PxIATRPqf(?6S9p*GA#fd}xn$vD-iqSon5^_hzCj9(XbnbXX;F(r#wOrj|^TYoTlGoy}BA}?~P40>we5pU6B z^hl^XN$d`lS2W;K%Tr#RK^fJslNMhr;_zyeZc!kqWZeo=(GiQ3Jesge6dg$!EJlsY znkehXOxaSx>ML3FPPSmsC@lVDaV#v6=B-RD5>TcBT1jzCQ;tt4nTR*+b4Y?-$GFoM zDf$vQD}N)FB@NkvmKCKZ-D*o9pfOk+X&+-$S;hiMX~Gtl$qgl;DHwA^RJuaILKQVC z)B0fAG7yZ1L)Nl7WA%6(MsI9nByG`aU3rhytDtL3Kpt_WZ3bO2$|z-Yj1{aQ=V7e& zVoEKx8yTHF2{>%x-`wZa|p zI&uc5DC!axl#Z#iH7F{1{BnkxM3J{S_2YgvoCwB?lRBM;&To<5mP!@EI$=_)lNUUi z(VRtNFOQ>eaYQ;So)I z$|DTt3~t61k=Tntk6x}X8yHV1ozqRlo%V!1;&7IFBaA_$S9!uVr6J;T$F!_N-LDkp zP3DqZs>|j~BNBxq!t^=Anpi-SjSF?9yiDt3`)v-tGm>F~#!OseQb`M1NyKI;i+>6( zv4ZtTWKOj^o^S{i6An)#;n${wYHz&P>xsLpaben7w6jKy-t8S11_Kgl%IS$EL#2`@ zEGdcHY9{4NnayF5BBM_SgkfzeA1OL?j--`RDrwg+;-D`QwWmD&A)TcVDW}VJO`I`n z)vRSoV>fui4rMWK4W-!8Ad`;U7-5!ik4^@P@q$w+H!xEw#-~c#jEu;jWWoWaBrEtl znyFBV2?fQ0QJpp?4cc=)uhwo=vC^DVlQS4gY&q=E#Mw;Aq%Nx`RE~Tf-G4J(&R9`L z*XSaf(Zn43h(qO2OX-?AqK$cagGqhd;x1;*&M?cCi*aKjT=YBix^OZ->dVBmda*PR z%E-!&vSmu`jAw%-p`B4{th$ohuCwb4Dset#^2m)-F@1kHQw-`d4zYJiG-;YDhD}PL z)h8_W1=ae=a8lT-lo&iFv44GBXSYX`PI=a1FNPUyIK(Q=GG{tGGUE1^tV!vJN*l>D z#e!Dn98j_)>1ZG`n)AoqDx=bp4JQNoa3ZV@JJaJq@94NqB1+ioZe=KA&KaF-+7**~ z4c?S0;1Z4o-5x8;$P6a0W6b7A_v`KIh?DN)rZCmHtXDGbVkyX`qJK6?$q^9C9l8=7 z*JMHEiskec7ZYMide$_R3bV?h+3&TpCT%*k|saTZF%U!IxsPr-xlP=8` z8Mjv*v-jzWfr2kn$~)|-NZ1~j)JtM{b&8rJQ7o#}r3l?qO&V9O6n3S|PEky)a~9dK zH>PAH!mN&Qi*JBRr!3-8z`$2GA5icSZxx$JW%wE zd3-TtfHB*3s=VAtea>8xDU{y)D5DaZ>~x+6Q+|!k8I$XLu~^6}rLmb`qs;4Bx@M1? z6Ld^na+^vhvYD8?-0o2KvaV9x?~cjz>731KXKY$`Txu+uMSs?eEX^_so0k#l&DuiA z#-u`CS0L*ztCN9*(5h0W3Pn{|Ym{h4LrfvyVq#`%Q5rDW!>))UDa zwk+c{#60Pc*B#QkWd$qiPnxx{K-gXoI~h^Rt2Ivsy>_`l=#PeI$f=Dn8eMWUXpITI zOxautC}RafLVspwlYyX(6_vClOD>wo>y-A?C`*GFollc@#`0FvRDMJ^B^=`Ub$Xnl`tk6gN&J`m@#dZ9cRi0vn{TdSZRFXkFlw+Tb>KLn1Ej; z?K7qfK|3og>XoAt;W#^G5{lxsvO&WXr5ar#K45kUm4BA9d88PNj73!Df~qVXSBeAW zplDRh(0Q**gnN})eIjHJi|wv-iYXdW4wrjmgbk0YGx15CGR}Cl#f&4C?>8w^24B|f z(mUJ}H2$7sL`I)6uJ^bk`hIQEP_#=7G1leLs+_V3e<^OTWvH#ig_6-xbos@j6UunW z5Tx@(r+>_6EfPgOz_Lk|Pm|C)nT*XIa|cT)r!uBUx^g+)2wgi=F|#6^ab)%OfJ*C3 zjfayZgNcbn?J@P3*~Lz|$|;*NF`5WE^y4-t%EWHyX?KOn<{PC(ODi%uug0X5sFgZpNgwj&#Rk`CDwvR4oMJ^H=q)C-ae0#QD&h{O z+NICLR@!N|Tb;Qilb(^}8B}08yESd~E^@@<2nG9q! zX_HGhW=@7DR7p`L?A6F!;-Wz#EX4yQO@Gp_6?s%jjW$ru8;luue=t@`Ym54#QasLt zGNNoiY|iSEa!tUVFZ(>w0aYTW35f$4wTMZ1i$$#?%cxkpS{l`I%ZN~Ai!+K~TBLEP z3<(X5e?!_Z>-8w|tSHB-v}Ut%R6XI)S~3oYa3Vn0Xluee#W>VvBP(ZBQwE7Yp??Un zOvY8(6Vk&N}l7i`MI?~SJ55EQ#a7Oj&1FT-NY@3GIFMF~ z)x8$6BWtwhgG#O55)zv&dZk;fQ^||!q%>tqwa8_=qQfhkeI zO#wB!ElPboW%2Bc7Bv!Pr zOjxT_r6-~(v!7LmZNXw7Wq(eM>TUF)%23jW%}TRHDPr|XwivKW@)^H3HD%O^ie9Z$ zVU-AFp0T__C8m!J+K4A4if9~6k%_W;nbK|#2i36+3A#Wx=m8tRM$iicU=!F3`hXCKfEY-C6v#k77~tQn z+XA+NK`;cifnl&6Fn@prN}vL2paEK-1A1TpMqmPFU;$QO19sp5PT&G=-~nFX1AY(y zJHX-K2(S|z33l;ssD=5rl}7k?WD+0=QXma7{99V1V2po@s{kgzBq)LsD1#|*6gV0j z1HJ=}1;>Ho!FRz4;6!i|I2oJ*P6eld)4>_wd*Dp)eQ*{y8-JVw&IRXzAAs}01>lEZ zH~10wF}M(11TF@bfJ?z;;Bs&UxDs3it_D8=KLtMnKL^)Mn%1Go|V65IrC z2EPKgfIZ+=a2vQC+yU+ccY(XXJ>XvOYj7X9AN&S90DcP|1P_7Vfrr5(;8E}xcpN+d zo&>)KPl2bwGk@S&@CWc5_#=28{0aOS>;*4?7r{&5W$+4k75oLf23`kmfH%Qg;BD|% z@D6wvya)aU-UojNAAk?RN8n@d3HTIz2L1v53HE`{!5835@D-Q_Gmv}j2SE%8tb*0B z2G+s_a3QRNhrva#9xjFra0y%r8(|Y{hRfh`xB{+(tAAh%Tn*R2wQwD5g>A4McEI(p z6L!IF*aJ7fjj$IA;3l{k_CX;OK{1p-DU`u}H~{5P0k^=da1ai`ZEzTFhYVz)5~`pY zYM>VCpdK2a5t^VGTA&r$pdC7(6S|-qdY~8jpdSX{4tO{`0`7!I!d);3Lof^@FbYRt z48~ysCVycHreOwVVGfSMF*pwMumC6EBrL)bEW;^y6g(Op1HS{0g~!3;;dkK)@I-hL zJQPlcz!)8QHLd+<#7eRvi;8=eEth3CN^!1Lh+@P}|W{1N;yybxXlFNT-EOW|ek za(D&25?%$bhChKng+GHohu6Sgz-!@k@OpRyynhk?65a%FhQEThz&-F*cpJPO-U07~ zcfq^iJ@8)mYj_{LAN~eD0DlV~gb%^r!H3}^@KN{}d>lRjpM<}MPr;|*Gw@mX2lyQP zBYYnI3H}-Gg)hJt;Y;vk_zHX#{sq1UUx#nNH{o0GZTMIC4ty8B2mc1&hku73zz^X^ z@PA|Y3H%g(2LA#73HQOz;TP~r_!XRnGYBAv5W5%~$kqMcR1zC{| z*^vV|kqfzz2YHbX`B4DvK!>9v&`xwD+J%BBgu*C-qG$xgP#h&t5~WZYWl$F7&?p*1 z<0y{`XaY^5A}XOWnnFjRqtP+wJLp(+96BC-7oC7kL?@w>(JAOubQ(Gxoq@iG&VNMT zM`xk4(K+Z`bRPNvIv-tteu#FXAE6(k3(-aBVsr_*6kUccM^~UL(N*Yb^b_<`^fUBx zbPf6ix)xoBu17bZ8__S(P3UIyD|8FmgKkB)q1(|N=uUJOx*Oet?nS>w_o4gIZ_oqi zx9CCi5c(Z@7(Id>MUSD!(G%!N^nZKw6nYvxgPuiyK+mB+qUX_{(4Wy>^a6Sjy@Xyy zub@}aU(jplb@T>$6TOArMt?=`pm))G=x^wK^mp_D`Vf7DK1QFQPtj-SALyTGANm}9 zfxbjvp=mUO0frc1j0vv7)wl-N;stmiuEU4nMYtX>#tnE0UWyxW6K=-K@PBf=0rj`O&HC-5XL;u0?7DSQ+@ z8XtqdgOA0>;p6dl@d@}ud=fqxpMp=tr{UA_8TfnnO#FR(7CsxFgU`k1;UD1h@dfyY zcsKqL{xQA~UxY8lm*7kBW%zP@1-=qrg|Egx!9T@6!#~H@;9uZt@qcyrdVB-E5&sh3 zgm1>b!nfc(_*Q%yz8&9z@5FcEyYW5vUi@o(AHE;|20ws*iyy=f;osqh@gw+A{1|>5 zKY^dbzsFDEr|~oRS^Nk59R4GI9{&md8Slj};1}^r_+|VGeii=(zlLAOZ{RoaTlj7K zSNsls7r%%9hTq43$1xw^5AjF%WBdvJ6n}>Qf&Yp3;m`3G_)Gj1p2jl-5J(Wggpevy zO=?IjSwI$&I&v77l;#B_f7(e0Sx-7i7wINFWCPhqdWnE+BAZDc5fTv*6A6(L8R;hj zL{1cB3)xBr$q?B_hRJrq5SA#3il~W(Xo-&KiGdi2iI|CnSc#3;iGw(ai@1r0c!`hr zNr3Dihm#}7PI4sKMS>(m!X!eXWQ4>>oFqt+q)3`%NS5TtC>bN;em^?xr zC6AHE$rI#B@_X_Wd73;!o+W=E&yhcp=gFVQpUGbG0(p_VL|!JZkXOlH$ZO}6NoQr{@+uxySKgpLAUi%-_R70ByiS}R!!utFP+e}D zr%Oef{c(3~<<5U9?j~n(aW`0TaNJG4e<(tFqeV41rr4^GC4Umm(jKX9)CDFI5G-8J_>Vm za%Ev{3V58&dk1(EN80etu8M70vehlQNV2q&izKU9k~_9>FBq_K!xZBRHeh3#sSYKk zcSsHrI)su?5<)^CB#@AB7f8E=%Uv!xxFfmbNOEa+xy07$e`h6wA<1{o^FQD7{J)3M z&d$uv`_9|n*@Zv^L4Sl2eFQ~h7v|*`aAt815`<$i^fp&iCONv+*KQ;TR0Q{vo2EB* z6-!#4BnZw0xIfd@*waNs5Wz5iG~9=`b@sNNw5@uZAb5iW5x=RurLp;&?~Hjcb`7e# z9Xdo`^U`5G4%{2sr_Y|h;%&vpaDRj#C|T#srpDdx96dx3+BcVZ(jV0J$KgDYRhnme!`#<>pWtzr7t7A8hUa>S zJ{Zq}djV7le?1WySYJx`_jx36Eu}8uz54!%?*WfuXb-@(0C3HNYZ=U`fOaNSA>f@s zruv$oEq{h~CeTIK6FapnGRiL2C;1{u14zU-m2COqs z5{PtS1W`lO5#xzT!~$Xoj6Ovz(aN+cZL~I4Yk$OA26N3sCXvI=nm{z(oh5}?QT|!J zzx}K<`I-jz-rRlj@tcp_Y`MAeXEx)%{lx=b8;QT6LUaaQN8gf4as!lS$d}0*yjS@W{y6@@Aa0N=Xj;(qU?R9U z_bwDYAQWrWibTO3og(BfdVZZR4@CVU+(N&Qz zEGukV*tu|5cwhJ_F;`q9UMapV{!!wTOp~0E21%=>O9SPJ|HX3gf2n+TugH)rOg2VV z4`s#wP_BaX-1gl@uW>uT14e+&)>B4TvVYs@P{?I`3jgx-vA74d8*6zZlag{cGpso| zR;Z|rN^q%1l$Di6Bo5kgEV$c}gXM80r6(`Iib6sSD^jLmE9!5-vVr5cfzW*^tYe2C%}n6uN;?WPUPAMx6>?>6-ztQ|>c2tp~fI(^O5Z@^d5pdT)RkUA9#rP#=B$>Va$6-v0( z8;vHh0@I2w*Sp{biFrJ^Od)l9+<$IYveDFO7VOx5tJL+}vFx!a(FaVzwQC1AzVkx% z#Qjsyl;+0Tr%K~eaw;B2qgHPbkwt4e%BC-TUfR&W74fr}_xEfSF`QFREL!t!cwZk! zA4jRtJE3i(ikA*<5=Q8|vvcQmg3m4TUF9_aT_{3K#1eMUWC9^Q(hac?BY*5x#sXS^ zvBK%_0AeO1awzT}=d%-rhPhpXhC1rcgX8+QADLURqGI&g0%wInY>;bgu@1YII$F5C z{MhW`)fE-13vGIfHP&V|*lap($4?Wu2X1aYak1vfsZ&qaq|ASLZLudtl3ae~V!6{h zqyEXZ)934-=$Lw<+T|{I<$sw%r>FSo3#B+zAWD6=xC5{cJ6NM)*n>{a!jEvQx?zLvHAI>Yfi-|;+bWO7S`p~)Wu$3(V98GcYn>C5p$@iG=Bth zc};s|X>sKGhwG-z77&%ugpANU$DMy+TKZjz3}cPt09srNZ-*=G_g0$-s@GJ zIlM6caAU`Q2Ux~2AlYhG&j{&oE!gc=CR;4&tmMZnOax)K(VIco5mCjIkc+q*a1?;# zAakTEobX_J0FPowa(~eyEt?)gj(;!QJxZr8S$J?|tTX z44Ogb-$5N$-aobG@J<}%Z6-%kU9i$vxG~<-Y#txWdZ3A!F@Gdiz!A7%+w5$&2agYN z5Encpu#N(K#fgZu8#GoI&tuNZjn!FlSCl)GOM6Q#F)_ti@tLIDV2h+<oY)?!b zIX5xR6D_ye`hT4clWnXb+#03wNJ3>oRb-f2u1kuvBrL_doxvPOj}li2C8nF36)=75 z5cdAv&S>in=JN%#L}pJbb?3HiWR9C-H;$GHgJr>KPJ2Pmq_)$rQYGpmYe^;c)KZ;X zS4ncc1Elg1Oi{4EGl|QD0K(Ye2A4?6X6@`{_Sc$}jejF--)%Ars89K|o6KV5qtPAi zhM%gr$FOxQ@qI=;$89IV!TS@^WC_*|r9vztS@L_rm8>4Q#aL0;oscE#X4g-CY|*Y& zzn^mXq3N&Yr*^w%$5?HK)cCYKS5Y##`!iHAHfPTj=HwU5+3lZP`hofE^!CPCPomV% zcJsM#KJ|JHpJ|th~07;^bPa3?5 z8j*JQjOIN?TJ_ehLm$~n4*!^irgYX6s1cVLpnp*=di3Z+hv#&kd+ohVZEgFXWxh@c zw_7krfL7H2#{oFISvtYm3KoDaz+aGJmSU`7fqm%lmM}K__O#P04%Fnnu(+>l3v*|6 zQ<6@l7SC7G39XOl)tbZ|qqG%!iXNK0tDRG_di%7B`fa=IXBVD&=t!O^+8o3k!4vH6 ztbZs?iH^&O37NQ}qHXD6%snma{2X8u0-h5zUN6>*buQ$D3!=`QJ>-Zd2<9NdaHLwk=Yl!L{#kAL<;9V|Kq#Nn15J8Rm#>VNr;vwbE{r6VdaT$g-$>B9HZEPOHy<5>&P zP6M71L>$IbMDd3>gQZNIEHSv92%Fs@sK7pI$BHKobQm^mUVE)=(Y3XW7q_6W|8#h- zNeT;`#Wkx}EjHG0+i79N{?}JG-8^+{-LZyeQ1n?;#MFB8`YR{j%1t`>=<%O$et%mA z5x^nXtAN!c?BhU=`KC9?KQI|xXgjmE+g9a_=9U?My2!Z_X`L(pZCL~uuK|ozgpt6R zsd1R$y3aff_Z~{=kndn!FR7S4^EZw<5VciTQiMp~(;JT2NDz zIt^$!26l4&OTRwhm z-$l|X$?Yw#d$=xVl66TGP0m4vlPw=T_w?GMYmN{6mFazG8hLKnsK#6K_kZsG{k&>3 zKt2U_XA^Y_=m^#g4YNGb;Z{f&i1y4$Il1^so${L_YmQf%>u=>^nb-i9@_Fhstfs$z zHR@OFCQ=7hp7@{vrA}x27ta3ar=Ocr90Q^cISo_~@Rjekrnt}?&%keSrFzDGKNjSK zCeCx}INJywwv{gYk5e~rjepuR*vLsH*E7~?v<2-L&m`a#8+@No>EN4V2`i3)-GRW( zF9&zG;%5k`6^}ohM6bp3?d2JU{wX!h8CG3F{^i4OHWuZK-<%^4&9Mc z^c0ZPQSWyRvFTHoapP3ZEcB5ceULh#();~@o73N!nT#uF!1QA zFPEM%mgf-c1ni9`xO^y>mouXC{>AhzCM^mGotJEz$&%ug7; zIH23CZKj@HU(ne1mw!*Zea>;TGTKz`Bufr9?byA@yO5rgx@GIA%P%yKp56WI#p=r& zvuY#BGcmahD_hQuquu&hROb?%nT{|#H?MVH7@t34S^2ypih-Gt2j*97sp4>flO+%n zh5=Q;ry;4Hg$N;#BoGsF^jfUC5(8!rM%%-AN2AI5bYK6U7JtwE^3fH)>(#U}U!P}A zo?CMkjd*eE#so>EOfBGcFwVEmu4dl*%k#{)o4Sw4o;~u@3xjW(y^d6-G= zbi}oAN$+QR>ue^jDM}y5~SM+3N7 zFm4zTK+Q_(^I`88$Z+HKS~ zLcKb_Wg4Jzr*tOcswknE>NcH95<$~;?E6;3a-3V-V;~2~emMX@TC5>{ zK@ek6bbsmO*v`ly|ME)(jxdMZpNI1~U{=+8k@5C-@A$5-bX|@nXDlgHjf$4_++5Af zyY`#v)~C0>QPMjzMJkP?Ktihaj+t})sefK(Ufyn`(W=%FI-@a}p3XF8r47FL!!rk8 znOYMOFV|z1vC{H5&?p~k?ma@V2mwY9QcCyhw0{dcf)0^$foO>~8=1%Q52$9g*}NBQ zl}43!4LfA_o)6FyM#y}-Em0Fe{sFCM_ft_Bp3^+I{T@lt<4n^q0(T6X20MUlkn>>& zV0-9a!D?t98O&ohGFrGKq!4HL**3r~c;R`Ux3!l_p`lJGYA3Jp>8t8utT$G!ol>zt!}I zKj^sG zXlGL$*!s{YA-i|*$x4k}W}V}w74KVs0wzz#lIMQnV5LH6825(_BdWmreIz~F#(%`w z!1l>RrI6;JFVJn&msA6`kRF}nec4u{S9t%$nKL+du_l40leM#`x%F|;CVJpQ4tqPe z=I+3nfwctked7BE=y@5Ah$uiQ`9As6KZql1{UT8pm5Je@4=^T%!DW%g3P1~^k)D|z zoz5*A+@>9` zui9tjxW-1eKT@=!$~l@`$js@}0IyRtv#CzpDt&sv;kQMFAtC$vY9A?;;=M96!Mk-3 za)^luE>;qw!C(p;GvHmz2y}PT{+!WBJ>2@`BWsw~n7_Afs#?&G)}RO!f>r_*7Mz{A zZo`acFZA@6q`nw->Tsx*+kf&*OIl7Nio68ga0@e?x&9-wit~?U2bfdLb5E~cy&q+K zcet-N;Ah)`7IE0J>vV|S^8Z86^NVXs|9K%j zS@Vio6%DbOy7t-5#hX28Cg$MQvYStJ_NFM+x)6|{#Qwb#myXGDmM(6czHQ9TzXWqf z#3Z42wrrlfqTbPJj(>S&_PVMqzjvuLNq}J%$kHjl-S+!Mqu(pVqnEw5;K&2*=(O-sj1~AdP_={b+F|tJF z;W#h~*A2{cOQB;}tcg*h&$r7)=oCVkB9_zzRT!*L2t?xJ=<&dl?lg5iJPqN5GW zerEqfbduZd1rhU}C9lJ<@1INoN5br6Pt0IFj%45?j-Dx~!q&dn_a(KOI!QQ)Oo(`f zj!Pi6_V}#|Pp%xE`ay2Q2I4q0m-}rL&IQ>c0)Mh_y}_M1X<D;7g&8S3^0uN087lMS)S^iQ=^OCfrp|FUKt6&qp?ha8fQa8Um}sY1thi?u zd4DK<<<9l*?q7R+^r7l7ZA4Up2uUr@>8ax%f4te{iX;Dh?wfbM-`upgwK_*u9L20!s!?~FA1C>vIGE{P$l#S%OCp;p)>s_ z?B?_su|TiSYR(+9Z}pT>o@CVU>??@(mwykCXk)oC$ta(zi7A<~@8G~lYcJ+Sp6@nT z*$trC7R(Dj*(E@B*S)RziLd19U1Ds81CYtrNA{KMxcQ$~dMjXy>O>(DTf%gTNQ;2^ z+RDplN~+Btf2wnQTS4Z)l`E*Q{OIHCP6s~PR~RMMcmEcBkk^%3(SG%Jf53R)(|@H( z>J%X(qCp0E%6l&!NERQ3oYoorHvdnkxw*f7r9~tE-J^%@d~-ng!f-kaOSX`LV^+yPWutJaE#0-^*Yc zgOJIca&$O~&Z_i&6d#wXdiv?wXMek=)}|%LD4iu5jnSGN^#xVtJ=_;-HW=darjYeT z8LI$`Ky<$^&dIZ+#JF_RrBZv_joc!f@n@wil2;=Ghs59Jk_H9CJ= zRM(rC6J}0(Y~a$$Qi0gTpOl=KisU8DdC8;8rsO-B|0LPcnqNF~+?l-d78(`5wQkj` z*<4<*QXRtO6?OHUl^IiIVlAITaf5|jW4oKS)HvJ`5p-^Flg6&mPbB;2F4$d@J8Qw7 z`rN^XoVB#gkhQcZS)t%ygMrUhsqcS4(%hK(ZhzJh2&DaNV8ac+S7${IClCIFJ0OXu zeCD#8QC*QzQHU*@$&zO~LMTn1%|5L}o?5`9W$I-SVH&kONrWWa4c;jW@~a!Nk1-c& zKml=t6+Q~(?Ug~WH3KQ9Tg`+GVTUEkdcs(&gi__>Qn%)&KQRpx0|)9Fhdsr z!rua+jogg@E&gZFhS@%a^8ui7i5VG*uy)_oz2j@`I(4MDQ5RuV+ylLl9ZpEhV6=m+ zcW&qE^$sDwhOXI6u6ra=$AW)Hgcu^1P}r*n^8!m2cA2a%=kukk5OQ@*y%ZU?o5fb8B|%!NMmFi^LLfCoUs<@<$^GgRxM8uqj2tq!LIl7 zB%z_QXi}>st?7Sc{;*J&BnmMYkX)*CqBiF3x|9fHFo*?8-54r&Pho$gSdTx&!ajlw z16<{-)(+>y5GD&%$%V{_5mvQG6QPb1BQbZwKu&c^G)r|VdsiXLVRqL%8|YvSw&MQR zX3Ad>#K1mT1Hk7i@4>v=%^xPA_p!%`MmI|=?at~&^0p17#oaoEFvOk7WJuF>$`DSZ zsoK?1Mw0Th0>)mJD&T+W%oT1|rA1{gWzt7D)GQNCVMvxpe$gCeOlY1ozqE8*+9GCd zwN?QFs|?qRN24`e)@)aiAdx9$r5GqS7W(Yj(Pj@LuXjfp43X*M(8Nc~erChILqYR? zfPFgy-s>0j4j(NJ>%2!^Co0{yrLcQ0e2Cn%x;ufk?jb*M<~*8n0PdsVXIbNtsfE}z}`$vsk23hmNLg?>eFgRwVr#odsKvk^}&Bk35NhoqXVAlo*)8V0hdg$ z!s?;KLoXz-WuQ7DoF$Ayni4IG7{97`t)X9O?T1OO3 zhYM0cPC6^TedBXPYqe1ZZxT8I?7DdA+{?~@eI}m+EZBET?xAR7NZOTm4f1_Ppsc6Y zQavY zR|<8ysNGZYYZ{r4EtXvi-Q`YkxFnQ1$z0t!t;Bzl5*KeRY}&v0H!&egG@C+K&3H>n6E5z7v-0Co1;8MD5q{j;`GwgdTN{Z{XJ|bb-6FMZe1VxO^zcH z(cWEsqupgBf0PGODX@6}^GkrKW#8ENDJzw-(#>WeL&+S@qQvNAlqp{R{tac2AT}8# zCd>3u%=vicoFYymc2L`BqgHQYc%(2TS`>dACZK7KIHq9mD~jt*3J(rqWyp7%dj_DH zS!g^zFg8Q;gBk)JxJP=*4_k=(VCS!1NscfnGSHc#7+KKUmt>|?q^pT%-i-f*`4`Rn zDLN$saNxv5Y0Tbl&{O>xN)biV6j()>-1{vWaBHRbt+sIL;2pBq`y53UJB2ux1nqzS zJK&VU;xr^${-eeK0l?=Cxi}z<>Au%L9!#i6bTVG27btQ{i(-w)Z8zA*Exuh2}l#Iy)ETfbWj_}y__9nGF8gPt=o%ICse6O7{7-S-)a>A>x zju%ImNP~eZi=O8j?DSwO4H4q^fTw@s*Eq$piZ?7cz;fb2{tP%29hX}yy1!f(^Mhg& zQ34$o5v*d?x=)TtFZ0-Rsc|7Og@zpFxiFn7Ts~XJKc2t>P+DaZ+wpCM~UESEfQ53UzGM2n9bc}4J z_TsnG!=owG(Y|$Sd;8Wc)Lwsl!4*g2pZad|)$F$)N_+}7{QD2xue8y)z;_|!9|JE? zhZ@;;zZ7}!3VHBX=n6+nitgsYVw?w~EBF&D->*u9RS(Fp_Gc zDj_3Rurp;;22S>hSlxsn{;k}VK~3e10s_{{Q@+-VPU zJL0X)>3X3kEYobupFOVmDWfs1AuCEG3Qte87tITGI6*VNg(3qOD*K?4KYAK2eXqInZyjJ zvx#1!i|rW+ce9|4e;c8HDm%jpBRNDT6fH3p`r6?6*+dU}*8=ziGuAde<0VZExr*Vgdo)8YSj@ynlP6G6ZwG5#+M zfv>Vd10$Gs_zyup_6lLZGXz+~!mj~#gCPIQV9#{%scSZo3%_~91o&-)f{1=7h&T=f z5vPeW@Ou^t`ae-2yqD21qZ0!(IWd=kx&;%Lbqxk30XLVM4F*R8sH3u%zdjppUuki<9ZZJ2We|+FBWU+^845EB*_J;w|>NG5uJbg9VNo|9%Sx{o9%`bwse;MvAQ+@E< zCMaeoEEEeA&#f#G8rSFF=cfbnR+Bsb4NAmspwi%83q=9-6y8^qQQ)NNprkPg(55IE z)QvEv6W&Xuz`O)#*T6h0xkFpWTT1o8cp20)$eOTYQGxZNej#IyzVEvLj#hX!jk%Yq zf_pXGs{wBj^jAW=1muuPf1mKZ0rg_2rwL9_6{H`=%iykuQU%YH1I}7_j^N0LF$vHW z!`%c$4CB&(xXF%1!#CpYJg^svil;=-6Go}26v{~1sB9{i%BLEsW~!YUp$<_`kR61* z(^KhGW?;0C8}0Cq`o6mD)#>ZJjegz!V}$i~1g^)Zcc`Dph2l^$f6C{s9<&>Mh<>Eg zuU~cC)dSaKaDBsAm_^KK<{vy4?;hT_{8)Y?|0({T1-XJ@!IOe-gz3Uz;hVyVp!}ef zL2n1W9W0)9CBn5V_?h5uLrfuEAxA?+q4l8~LNA3yhgrh*hJ73^4sQy7IQ-LyQAv zz@N4ZBV9KBI369}h&1cbQ@EOx_4t#GxCtG{O|$`Nhj0DT8*#ll+6{@tn#QuYs7$40W)%8?-#c+~wI^MxO)gnWzuIPEm71#r7p(RW ztOlCQvNkHpX62T!6Yj{K2@nfQJ1k7ig+#i1I z_~T2<@3A?Lt$81R=uFNx7DfaeT-LJX8)B^_jy(YgLa1=qMPw0!u8UbQ>tMwedTiv* ze>?GaSlWTMA|JDGa?d;XGRk;|Cc>pWU^UM`3{#OkV^|?iPB8P-Q*dRVp?<&`RwYDP z^k}#DPZret;=b(|Klo^KUSXQPrXx2!Nk3~TK7@Z%*!dM0Zwf!S;lk>_tjkN!N-I(p zr;5T>)}Q_aaen0+G|8L?J&@n536kkrf6>6HLPtk&Ks%W89e(ZT@GiNbCt&mFRo)=8 z88l7^e6v#SO6HYJyhsYOdHw6_Vb*Hj*UY_OEh_NF#FtHNkw6+PzdLCk~`5P9qgEK+Bo?)1J%sS(Z ziawk>v(1CPmY{D-45~cuVnwx5CZOZ{-oA|1j}@gk6`~-mHnej;FMHzn!zoF8tyU&V zjFJQw{eZ4u14sunlOF-QtN_}Xe?VO(=ky+|;kr%PSk4#(e9{9QLa|sFEwcn#%zfvo z7LV@1UwEtA+zLhUTzc!b=NE7Hez|?qjMA}jCqYWbXWZQ3b;-ElYEd_aR(qwmV8U)wS=*0qv{xeF^cbpOc7KO)OhLf8-KH=sKhV z*aQviRg{L94e8=H>eK(a_pbLd^II=IwDyDLOMZUj_xRKczd_CC?>pEUt27BAMN2(% zaeVonv(MuX_ATDBY(@W*sN~Ff)cRVU#$-ei%b2qezBnr#1rj@e_duC|0O6fx8 z&R(ltTU3kBymR082ioJpc)p3x>UANJOCALG&3|YlJ&D*|3S>zC1QcX9!~}yytTxhW zzq2Dv#;*$;HbS1DBO-ztZB(oq7U^_hl|3C2Yj*7`Uz@eL69Wd9elpmtd6&ZL# zx`c)EvL57N??*=-_GS;?Z^7#qo0X@Z#kE>#ges7tw?fa8jN?ILgE zxl!Cf1T+PL)bZ$+e=$WQkxHHK3xNi5e~VuqG@uXklsZh21+@Sj5fdLp=-WgT8*r)) z{zk1E|9Eik+x4x#y*G1#UFOMD)4R%DqTu!Tn?2`z7aS!Bw4u8;{q?B$jA+mm)x}FE z@$U{_z#ngwMx(eIlTNGUCut;Q_&>8<3s3fMJ&DZdQBhENe~Odf1C0?xgN)oa$EBOZ zA|;-MAY^~hbL$gy#;x+AUnlj*Q1rR1*qKgWOwUn6i`2b2{yM!4x85p1e;uzyYj3nB z$8OZoQNPB~*8n@HpZ4FNCK%~!x5ETjwYMS55rXw)zAu>{Vf|DR1*feinC@S}y%M)~ zBa|aG{cd`WeUKW)%mK@HG$0d3;kESy^fKZ=ALL$~2K01x@StzWH}+33^mnKqX<&#iC8 zZ<%9?%f0o}1o0~m$RP~w)j5>DS9RoWS zn$Ra$bDQls)a#50t~h!q;B|z(K+{g-^sn_2sX@Et0lCTS({VAE(PBE;zhhHsN$TFe z$9VtBe-Ce*i!&k&Rmq_=45rbk=y%K-z`@3JPp+S)wckyo@h(kzy5#13trjI&O`&s` zmIW5Q7BD72OxOb$S%Q)HJ|RdWf|iO2C_hf3JbEyG8^ZJfb;cd&wFVcfn(XiQC~?x_ zri8SjJbuOG3v}s7S~d-lQC&T6Vh?ZOh4Qi8-tzXvLd-sW-;xy68 zDKz!bS0l9R={7upMv?f&J0z z{GRECV+SkbHcps9zpSoy#X8o^8{A*1OEAnrAH+K=#NqirUO7E)!$4d?1HVGcW)FLN zpI=_p`Q%4*%ABf5xmIg5D(k%7zr6pnso>4W=)KFFe<}nxL|~Oq2Ydi`RtArx3UtLd$>CZ$|tL@Wx+kSUYWN`Y{g+kAH7N1pvcaWLe@ zkqJ?m{oc8B^P;l2L}Qqkc%3NUm%?j-e2mL52+8YIxu}ICuDg$P-xe7ScG?P)2BPcac+g~(|iP7oEG<@lxYOV2$e zr2s&GaO0nLYs>@qV_BiS!YeH0@(6scy{eGjf12Pj)%^71oH*4Sz!jXB`VyAnGYc)( zGY1jvc{~?swJM2bC(cLvc4sQ0V)-C3-*>o#C&6!#(>?>IE(uRJ@iBgD1K4=0?+4~H z<^sqv2Xc)-_}AL}C-<8VUH%hhK*=0(E?3Zt1;Rjl>z;+x{U^7#^*K@!qGF^;X~~(M3d@WQ zC3h61?!gZfup(_tnY;V}q7yS^a^=9}mq_ z??=$7<=f_+m^X51L&b9Eew8pJ&4R`Re<2kv%gju>z6g}v>m9k{^5%X2+>l}K<~>p? ziC55C?@>JOF12fB_TyiCSd$GqS_P-?c94`BOlSWD%>f3fdf zX-43)8u;`8pNRp_3;f8Xe4F2jr?!G)S8bDUWT)slnD+!hhAh0Sbg1N+-um9>dfmOQ z;INFMO=bPs7_G@_kS8})@hc`SEsAE9Jht-whP*@Tf4%1~Bi2F`*Dp(mPxaotJv!;3 z!%v;iNw)g2Fmr)#Dd*2vKX?A^e-7bfDX8{p${`d-YF9`t6a!E0dxu&HL5d+bz(}BJl51JUhTx;QTLE z+blM{^@ga4-2GcCkjkYNDf&EG+2H+szAbw5W_0D*(G_L6)?5KEOe9axf74qb?_1Fp z19q%Iii`?+%Y2V%$7`)wh9Wx~950TPhD2uAPOX>^wo!>om_Gog8B{J+L3ov_xxm7) zN~~07ahT=)cux*Aun`Xbmp^9~`sbKAaExCU0xcbV0J)yYl*A0ZS|(Ux$aUmB@m}>E zy|dRHUvs&|)3&~E>D?>8e>gq2EW4)Ko>OB`F6&{P%YSvx!AQj-=ApsNWV@?tR~_G# zqA}9Of{nB9VKXxuGmJB13zm4+XJj5)xaF<9WoI538a((+VaCMw;v}1;uFM@PPLvV3 zmOu`ZHFa7Hyh$UuD#^~K(nW|9;;DBW{ys3I3zcghgVH?w{^opwAio*sOlEB^Y+KS*nqFuygo&ge`-vj;Mx53M$6eD>~5l>S8uO zABS|uX$fw1<}5URSAj;FRE|SB^97tB251o{2){izfRnTvoZNcgXT+BoLIn*ZAR z#@$Cy@`blhT5081Z}-nFEsIsJ%F!80)B3N+w*Prl6?b&RS^wXEYj%wjG*y764A3MH%g}Pp^hQ*3Sf+G`OJv1U zp+)RBS^8|Qt)${~PwnW3D{EF84yZ(N)!wUlCs|UpDMnk7TIAH{Y39r?h|?Tc{p3#H zCc9(Ngr`-mg{&yvSc-m)w+bW%P6Q6daKCH{Wo~41baG{3ZI`)U1s<1#C3ybXX=#{#g} z7IFkV8y5`!2*A7?kI8Dh{isgD^C0xK!+KtGc)P9W`t`;Fv&0;oof0FgR_&=y||rv5AP zpn0GQb%NI1y-K*l#b7F-RYk^I3EqDNtFrA_awmD*16B&<*?Q71tCJ3}g6O#v)`L8u zj^qo_kDxGH_dVd?`#{iq4rPQdip(dy0UwBf5s(=l z2Z9Zk0!g;E6|@5rsda#15CiG)@$rwwKl|hG2RQrpKGVQF5;lMYxDB$f3c7#c4)`ou zg5v17{oxT3-be4_Ik*w`kZ?BMj_=NfC-J9voYGQjsY|H$Xc4`FUQ5E^e-K_{<}xPc z6lNFm72C)Tu^AH1VlQRi;Skrr9Ztfz+$VWl-m<)wJSPb!=3SiCrVM-yyJ4d+yJi)Y zD`l`8Hd?Jhjexj^L0G6!7s-E>-C^<(=26}F4+x>hK(R0{W+@sexvYdLnq7b@E0&?! z*(Kz;ky0v_QI!=1)UhzHuv}JEB`Yt?gY<$1m8xL@ZKr0GC@gA?Sy3{Bn#ijyLLRQ0 z-_+Ewbm79K4NXn+7rXiz8v0zdwKi+JsGqviL^72N>qRNKOWt#r_h487eCRyps z3Vu)4G<7zG(ahI7UWq6tt|`H+E%3O>HGp zLU?IJN<~erQl;9*0xMStJkH5BtE{N3cysQ8GWFuQ^XfFEdK2n_<&FI+*+5HeQ*)iB ze7R+rvQxDP^~@-jSEzJzs-+8N(liCn(c!{Md3l+XsE(G}z>&n!0&f?LzUQ>BP1RiGeZU6N3T(sw-#7XBAe$qHxe|7Ny&GBE#_oe^ z>&9>3nz5_k%VYActFJZ+`mH1q?nQSC`i07JT&$WTC4og{37(Kr5RYMN)$rA^%UksG zn(M0S>x$|_$qxdszD*+*y&VB^;}VXWnEKU(X2{- zfrKcwwxwt3iZv@r=FLaX5YB4|Dp|sLB~TL%)@Q*Lh9M#9A$b`oPsqGot; z4>#0rayQH?RBW`gu2Ih|QFqFh50oHSP~D=EH)g6-RfT`Es+5(L>gw6EYE)=O|GJg_ z6ZM)=_sXTKY_(EbW2IP%maOkoE`MacsJ^^ZE1oy6Zh3imy=Y!`j)AOh3bMK>DkqSW zH)6PVObHVjhk<7{(987eQABU8Kjoqu?A^CqeI~KMVj>YmB$^I*;=6>IHUS7`VxG+@ zW|#x=)zp6;z|KU={SdogcKNb-iq;nS{ACrh?W&~>E32FP<c*8zm2>4?%a<6J zS2PzdQJ0n|7Z(@RD$81W(6j}M7Z#|=bS+pYDwA~1ELzv3>Qv2NsJ1Fv*36!5kyJFx zOXn_Y9Xq8|RyC`rO1h{-R$ZhgmZ->Ky;SfI>dJpPbL6u9tW7YiQWM?@XK<1c1cs0A z;Zg%fC2L#yW%Ay}ibYzRO3^RC6ewLiAgbBw99 zVnvT!(cf69T#8QKqJfT5t%zt}wWz#-UpRm1a=~Y1eHo&OR#~D+Wo1zzf%L=SFg!OL z9(#Xd!mp9l6n;teCm7UCcs!V!gT-?SD3&~vr%6uY&G6XQJu@m5RjMWm&8ZgEE{Y$?ny^8E zKs3GwT~D~K7Er$oPgb(v5BF<#4r<%LDa>w7*O5KqC0&PipLlV>23(@l^DEcZFI-r^ zW~DI*zti?DFRAyQXf~hV)}FgXY*Lp>I)f`TL!A;6(Gb~JplxK>0`~0BsbA7GuzW$2f2(=*(e8R_j@M)N@k&M~v67_b4RCbBhOrX_Mq&Hd-RP;YXQ7<5 z7xrAYW-Xd+-?c$#L7pcl)sh^Yle*9h-xxbSD=Es5db0T9;;fdlJ>>)qa$$cojIDO` zUgvwre)NYQWT|!Sy(t@?+IubPCp|j|<>L?VD2D=%m9WE(U~Y;4|yfYN5dJ990%X_jDSKonxPEcry?V2Vep+ ztt(fyLD)-FTm>U;cR0)WBU#Spklh`qW{a80NFW5+V)Z1KH~|SYd{}0Y$R~@ixGpYP zuTo7G#HD*?dDHC4LbRmo?rSip&hE-dAxN{LZl5f|ye-S_D+Cb)9F~7z0gAQc%C6`& zmAF!wTg%NGKCi5sKb4{pV)Omer*jD5DaEy=&Gm7w=<(gH4GWewWU(YIs^sU-SMfDd zX7UQv{P~jFg$$bMZ0>W9-StbGs#dxvpIE$_*w00@pgm~zGy7M!$^#~3a()1QWk*Ze z*Q=%L^y1p)uAZ*u+A@DdbJ=2(w$jdb4mU_$R(Y;`!P4a=h7ItS`X0^vd2)+N+Pq}m zteK0JRoBWEO`ToWytH}4ijrb^r&hUo*@D@H^OuxY@(ZV~B7BkeJG6r6h0SS&ta^Jk ze7*NEGX0N7nTh?Sf$&ZcDeUqg!KtvW)hLCGuwbAQHf&h4(Yt@)f|ItK2@!l^OtaDD z+9=#lJLW{8H+eT9Z<9}v)e)4>A_|@e!d#h!UV31|8R+7{OVKHgyIfbHD~LjG%1ss( z>fd{z*^i<9Zk}N)g)IX?RF*AuZ2`T1%|-chYRhXY*QqL- zmMtieHkDU4Nfv(=l`omC(%~Ld)zBfXT&1aCXHS`a(hP-m`LacY3#w+Tl1#Y|?2R?@O$W`3z=>DZ4Y3+Y``r?7dmtILWO&E$$Jm&_En zZY5kVB~s57ydcr6QhxBhs?bqpDskZmgYI zSkoX{vZ8jD0J&Agr8BuYy;H4r8pX9DIAv@_jZRZhu4=ETTCJ`qQ>_y8PV@$UC3>s; zgY|})GzsUxOZw@W`VR4mwJS&+_Gt z)ipyK8(M$LlxSigO~W%T+nQBB);luNiv{&8bnA z3wv0bZOSTDUE|`J5FUey)N58L2b!x;Y2%v4{sezi2s^CeTGdT**+PCr1wYiUU95A~ z*SmF#`*WyOOY zx{A4&GEh`=Q-?9jJx}&vg0DI8l6~?N=6JOV9Dhdj#moHhYshm+r00rMLh(vOWW0`V8 zd)-n=g-9n~lsCJqxNdpXj3dsk)UK|qZc~(&DO)P4blOTH?Mfo;Zerv46Vm23xI!-X z5>#2ZvS(I}wpOa?DXeRg7fY8`<)f^7tg3&k7ths5#x94px>d4;`9 zcHPbG^aOg_dU}v^XlUKu-^d;i3T?={!oGDPoh7Rgd-7z}wHpb_*jsY8d+# z>hJv!UIQk2ThNY-!NVEUlYMa)&L}RuwL* zlPvBx?blx6KCB#~z3f1fbQf1nP(DO)>$`GTpHC?LOS^z0=85aciw$|f$=&T`E7z}R zT(`2UY~{Mf73)`)LB#82^XJR-Jgh!J&PgYMnS>b+9 zR(Pl?Jmd;@Ei)#gp=8ES4;O@z| z(%KdfMUA~Z0V}wEY&(I~f~Ar!LQ8nx{glvR_pi~j;F9|WwxTmOJV^Rn zEl+q0B>VI1EBhRH``DeZVJrlznwyPq^K#?FStMLY(xu=*vYR&(Z(BcpB}p5{KPTzB z@vlj`KAUbNsXSXNC$)c1l62$vTR;tp#yd#5c>GSXgR3WPw50ZHP!DF0A4$@p@iRzT zo=q2%zV$$t%^R|*DVz3Y(}8TQJ)2*f&9BeqH2o#W~RuBdekOnc}1A|})B*-3mF>rw;3RtABevaH5@SvdlPSD|(=o0fq#k_tQxXQhizk}s6iWcws5@3Yfn-UR95 zS-bCRCD2LdcoUH2+^?(2IuK+MdL?u6iE}oHlU9K&g?**LY#(1183(s?k(S~8`kByk zB8xMDGjD%Z!dR|$B+LC!R(pv_8uNhBEMJ1wFp&!obBauV=fw|Fj(A?tCkPY>c10NFzq1G5zQc)#WcghrIersCZ~toT;dK2 z1OoAi+`jvN6hN*ORn5G>eZqY*1LV&Zo~VCn`trPORGiULaoQ%-92!Wgc-}T4aGy+l zHh+Eok5jfzY0KM{$4{-EvX!dl%=z27Pp0jevUTc`{PiUMn7=-cpRzS?SHTN;yGVW) z8N)_Zll}m2<<8IBG!dzL^LXwPyp@!h@z!ZqbD!k#d7JV!5iS6oPeuk)%Q*uF*qeW7 z8{SIWg#Kjo^#WyKtSN-n9|eJ8ma0H67Y<0ncyl>0AS@n{qN!nd+&AX}bkFSviFIC-a_WhuEPRM5h8*QpwaL6NbG@J!Aqs!mnFv#tkZ`3Smk{tD1}^7U|F2OHXNPhq_>nx_ zOWn&HlSRQX1O z^j7}t=?n6=ldzt)(R(JWNOZ^x_z@y0*_F46Dks!=s=VMxf`DB@V6@!%1et%ExUOjo zv8tIf6BL}0L&1+^d@{B$)|9snSb1_F6tiI;y=>St5hkI4%G;f{OF#j!qhO;ar|%#% z_oEOD9I_}t|8u^e;DvwF7i|9ze8FxqKdZ@{ zs6N;iOrU*|FEIbJFJN~NUvT*WU%>7Vd;z;-YBjrqgawm)0YO#H7m%?9gzOLhjxRX> z5MNOJ$G(92l|Je}^#z2hsnx_69CN5IV0Yy0+V2YlE_1%1kk8*ve8GSAgM5Jyt`y|@ zFMI+1A3(vq><&T3=|lhQ3&2eF1-vFIYdx7pxb20i&Jl z3y6ILUvT+89SB+yX4=H;C0v+kGEX`4wEV2*z$6q*_=4^K>VbcT( z2nq=bhy+;_{Gl({b&!8A*pc-Gn+WxL{{RIOzF=3*7ZBu5@&)@>go*L9zF^19*`&|* zY}_u`KnREUfZGjZP^w;b|3xolFM&`%gEdvBW*OLOtg+=i;H~;aUdZM#>K&eIOG(E z0^(3e90`ac32`hejt`6DDRCkuPWc>Ov12eQb_|Ohv5?picaWG6J2GOYgIsa3(?hNx ziKJvu>?FCE*hv^5Y49wsaedq~+(R6Ohx4-bon1LO*chY79W zxR=Bs@o;}qJUk*EPKyJML24FeDC!hjIo8rc>gOBbqgYn_Tg%JxCv7lTc_#9EyoU@vu0QCRa!tc8SA5 zaX6kcS2QV(1;xZR#BQ;$R~#eHBjh3`BqZa`h&X@lB3DQp_mFFd#JD&~+Q!6jQkM{HPZXLUmPibW6T{*}NSp`@a7e@mD&pcqLYx?hij%`)qVtr8phTQX zhQuQda(TqWW}`#m(eR)+P3%l;n@KvKJ-cY;&M954Ex|eOub#Je?L%L^6(0D`v}C}y zru%>JZ|C2fqW`h&c}ekCb*pD=Fzi;8KEKXY^fuKgdF;`%F7(~8ty(mN`;r~ldHo*C zL+3p=B{e?Fu^Fx0-fWb}ZFx=FFSmbp?R(d*>U(DW_3}Hs#ot~3x2X4q`RgRle0i*0 z37jFtHE%m-{K}PBH48VZJWKc9_0^{rP8EM$-~HH>v8Az$GO2r}%zt9ThKuH0`^&Bi z-aYn#>0bTm_2bXJK-F6yn|%1~^Hs(paPL5%`^3j(JFj0J$p7JI&-tG`yyNtr->*<~ znaY-Sp8oOiUE9hRbu|q9bmJFa{e1t;+wL!4e|=aNYWlJ@c791oBvLU7hQ4A&M$n(e=zb@!|1h7Ma>cjBq%{JLYE zs$qDbw?Xeb^Z6@Iz3hAT^K0{-yXLAZ);TWPa`VIQoH6~m-Y<=NzTA0?=#iJ3uQ=o7 zy1!ia@VD38yyT)er+?6lzWeN&^E!Xd`tbOdPE7e08y*U3=B`p)3a|KLW5J0he>d|b z>za4JjQS5h{ipRK*UmgLhNYLhZaeO&N1w0biwCZHpn%&G*}d?ni~S2;^)IEaE;;MXZw8gk@8^H>{#4Wa zC$0~aeRA*l1?}tq?%U_o<_d`wYyeH5SIDMKLEEsheRW6?>>M$E0DWC#BM>4M}&q zJE8aWk#_Pxv@euM%0^OQk6V9gPkV#Tc6Df=JruF?0cp5j8jt(rsfesg;_;e9;daBY zv0W0=w~orx?Y%LT#}zPmWWJcOCuVAo4?6w4-!8Kc@vX6VL~ZrEMLmNGT_n@y;C(5% zIivA+wxcoS($e<<#fyLp30p9-5&v9P~88kK*=Q_-X)912Q; zQKQor^C*0Vc7N2_?n@5@`GhNEOI!OKal5R|r{*1UkBtwhO^Oh2iumH){eFcgC^e^7 z2g1gdki9=KoKQKV%BV5L%hZE*(W+2bHl$8vS|m}YRH?N}MfT{ZPwzLFEd9EGQl80Z z+ee0Dt*W%ktBzZ|UFm;#bTH}=sri&MO6a^; zD*P6CByCC=+S`AV@zJ4JEbWvf)c#PizdO^B?&a;>#*oI;*-8MLv6{@Ga3(J5utucb zj5%nKwTP_U4z1VQA+ok-h+P~BO{_!T5lhA*DfO^b7t44pc9}aZ(kA!S{>FX zuj-B`>RsU|a`bXwdZv#BS|^9fPR)E|H1P)SnBjNWYVNW8xG5x2E>MC5g=M4oh9)t^ziCAS4Rf=+WiCR7WsgTk9w23xW(d88ZFkaL)RXRrF(tE z{-Ko2EJ+z#LmmARpIz1JS0+dNPKPb2PixXi+hBjjozV{KJ^Ep%r7s#yM1 z-?v-5xI?kv?(Xicg%)=T6sI_BC{Wxr1&SA!B1MW6D-g6uDaC?IAp|LeV2Ar&?|Ihq zu5~_~d`V{K!_Jz_OlIZ!&Hu{ilT%*c^}`?wSC;dzaprLL_y?Zr#r`IkEkGsgs?Wuo zI96Zon5w`wJ*s$uz$5ywS5bb_3vKU9Vb&S26S0DC03g>LKTe2+E(xe z2n@f?ET1OFSi~uX#PP0f&ZD=987nxr-3={`4|)d zsRXWbl z1{waCrnyVVuUe6L*Q%4b8ooCF%BM1M0?f;~ z>Red1ux}=Fa|fzBJjOJC;kS>Kf4PtyaFojWSs}$rM_{4FZ_$ugmCV)d&~CHxBkjlS ztuWn#UOUI0al8^vrO>a;9j9=ntlC8v`0@wx2v?mA&x;!5ALh>wut=o^Zhc90A?$W7 zSGa^wtyrE-ji;+FIvtbyM&!(nE^u@FGf0b0hh@Q9m!qr||D(Buy`ICHSL4!mf-k*U zj)V!^Ws9)Q%*9_^yb}IUVzhf!rF`Y-DsT+Hy|Hc5*iOSR25oqoI1wDA{Ho}hl0Nni zoM2W|H)o{QiG9hYI$VXl>@+l`4ngOV6$2@%vS(P}dpmBwZ77_cZ9OpPUflRkLy$ zv(<}_Ub?oYDPHp!510%<-WbF4tw~&qEsL&Rn1lEZH@U>TN;uqbn8DARF=5CPEBv{#`PN3-1FS% z)(sXm1naL-$EHrg6fI1aPb>DWBD$_dEI;Qj{#ik1ZN))a|Cu8cEsf4<%eqT8=$xE<%NGGcIZvCB6K#vIR%erCD-R z%03a-*<`j|b1s&7)>!T=#;dgWuO3~xuT2xTk8SKHU0DRT))Lhvd;=gLN4+nPTsx=6U{INw#AevXs1YQ``RaX138(3(IlZ&ZF40NM~F$ zq3@w&d4~IV`pu6jC;f-?{1Zocw*) zX{Ls|&9d&3ENewaoH+F@4F3M)$UM@K8YnyJH`y8M@kYDhz__VG_^ zSD8QM8r3Im4dNgW{B^dqd%^G@tzS-EyhH>Ipaf~ssBE)F?2g;At5+`WS|>Tf^SyR{ z{ds}X!c@^S%z&WOj_WrWvW~0knl+DbPA~T+l@&>j-C*U+NM=&(_M}NSv#}KzdjM=_ z?F-1Gdx}N;D^(oHS3cHdvv?BM(Pm~TjVsVsVr6-Hva|bWh~rW_g}ZkOh8+g8R5&Ytuu02Ubb=ZQ}vEy+%3*^ud-H`8{3 z5ZVAtav@zVt`;^c^Y#pSF_(q8Y(BQMAQ@lv&*BZa%l~q9%xht=9CMz-^h}ADt?GJL zBa6jM_Fm>!QZ4UvlZ zH^R;dzzR1m$J4=&xN!-$cUKwVzB1*f>=b`NIjnawO&*#RWqR)B4wpm^m*&ykE8~HI z7r(w*TT>mU6{NVTLb9o^&VBKhA6#XvTUU2a##!!)?5s~{zr;)qRP=B&Zhvcs{C4XS za!O}MDn+F9v%~bRNs51x8w9UvHSsYr_Ho)?0c}+>V2Xy;DFw#^{aU48ZHxKiL_6`T zLK!n9rm1W_cI(@xcq~eH)vY)tW~zPpIa|$3H>D=j$=7*?YV-eVZs*x*pBT zbAV^T%cGp&xJ;Sl(JES_Pz^48mym38_T`DMAu3ufEcOXk#9lSiuXf5Av!--{@LYM0 zk}bh)SzuO@U}2osOuRT2J3~HB8g-)AE=Fvx4ct5~;_=+_KGuUB`^$5N@A)z;isC=q zl9y>r@+DrN`8rK9EY`LeHT>izVI2~}KLzqS5pUSa{9<)WO;e1;nb;#(DyA>fgMZb+ zG@cGgr8|vnE+xDDv3HB+Bc&BMrw;AcBN^A&+H(y1{dO@SNKVrm{DS)6l*;t0Va&Bhh}NR#*7UwVW5;4o~Zl|_KJ+GVES{F`lB`xs#d^_ z{hR|AH;3>vVfI2rsf4og?j1v>1U!h=)<&4+f@-KlEQ}Dn7l6V=L9Jyv#+>opVjL zF#g=e$jP)~kzwgR;V9+!i8#fEEb#ATPuzhi<3715U_!G0&*+?hL%6Oos#9jtJxsGk za)A_{uXOnI$IsSLpeDYf;zdPJ4x_M6Schh&XREtxL^zM#kumXSrC$*VzZ?$%y1gPf z52nhTV7e13cQx^klR>DSU2F?>n(4vwJlY3^F;$D@#19L51dkqoB4GR=Q|H@+HC-n$|quyth~{VT#{ zmSM?#jf%=E;GFASEw5rV%L&B_&^$+tU6)zc=Is84W7njbZroOjOa!9B8S%>XkXp2A zp0VBghaG-hVK}3Q#4q0Spg-+3)iRB4#vCufhUEM$_}}c;%JoR)k2cjsti70EaIBy_ zQI)VTjdeRJqZ(Zj*ZQWoC39)zFR$MB+<$N&e!be{`vwiOd~|~`Q5EmR6mY6oBQl&& zQhZm;BRQ*k*I-GVGOVW5^Ref#059`*EqRw0=T55Qi)R$L8$Tfvd#(K%XdJgE{1RtV zY?*7^ZIE36@)b35;w$H>jhx!~@}qPHuT6TT^6vTV!JXLQ+k!A>2;_UkqZm_i%DAwu znk|aD1O&_YyNLikS>&NDCQvF*I*Hoa_0E=n1JiFnMxc1s`Z+}ui2)9zv%Lh>h-l0lxn@7EiKT_5z2r zZv47Lk$-`SLNpoiO$@bc*=vJMfu!R5^A{Md=_qkgLj!Ey=n^DvG1a5W2Lz$7ylEvs zZ&BDINe48cj@~%GasFR%oz8!xb%p8XZ`Tw-lE&az)2mD7;_nW{IT|BB_ zfEQ}ojJAsDi4_cqDBY!;OI}LHH=S~ zGm$O>e$ZgJI2<*IxCh-DvnkSSz#aMyju}MSgRzcz8W}hc3Jr&&Ac(@yPX;De^B)%;Q8RUDI-D87m2&c^a@qmj*2IayqUyw z!0i>9`=)&-`Y%OdvY|?Es-04Ftx`NlDJoYfPHics+a}=qijW41^ZR)LRO>gMg)R5n z=sKv|Z-RFQg!r@1b(_&XmSULOu^+!*o5c*ZY&Kv_aW$}H|bO7VT%uyLw`OA{&-{vK!hFN0a9oJ zoFzy|2E#M9YH%KU2*(RzlfnIjKNGb-cmchE^Lx|uJhOhz|DJM48(Ik$3X<$WwZ?9G zZ#Lu(ZHG$*$@ZXl#)%IWK&RjoLENh-UeO&x($FF}Unl80{%I5tdp&pyy?^R{hOp;y zc=SgVw=C5mHaWE$of=UPFP< zZ*WmqR5q$EJ!#9{*D#AZ`01+DUQpxHUQ>quU zVQtTNRgw&_xm2C1X#%S0npn~^4w9h7Kx83h9Z6n;FK`nlnNx4a3q#WXqB*Nl@g02&T&K& zD94rS9z1^%+a;$esh2yd)By+$xz*F|TZ5cJ~0spS2suDy30zsqF9UKi~kfjczU8Q%StsVz%K8 zRyY1yDoi1;?Awz?PrMuJo_s9{rhHwFH5+}vcqtHqE}IBaPAj)Mz`kS&!I4e*q&QQy zKYQ_{n!~tc3c>D8wpMH^TbliQfPcvrg4>(2u6SB@J$rkAcFBl*9-b_xSX?$UyMKUt z$%@1|Q3KR%fO4Qj_JHP+7fBGF7NHElW1nR75>&TW*=%VLpd{aafaGM#6QT|NtU!*p`UOl89A@bLeg3J&pTR@h2%`Mv$-^4t+}6!06UC{45Cf$kqPT8^cY*xa9DQQ)j-rY_-Cd5wu}^a)iZckMBD+apAEDrZB-ibelx}p}cKwcn*Rq zO!P_FnA9}1v`qsK2xESlDal>~9b0q=u`uaAw2g$*LFuzK1nABzjK7a?Bkf7!xD^K< zLJ;3^MBvG%25z#$vk;tjA`zJKKvMD0%y$2i(=iFbdM6Zt(Vu8D)U+)QFF^3#iA7-b zCv6O!KBYk85X^UiPjRtC`Jv)%es~^&yNBkH4oG>7x`ukeI}p-$vJWVa@xY+`whg=q zA$}*lo-_)Vz~Ine#4#pQHO3n;qRmm?H8!rUSrDm>{HQlof>Q%t-~rskUaCx$Cf0N< z$hgV1N1AK!mT6TR)h2UQaaC*8Cf0s-t2TENY>%leSIN#d*WxV?(o)joq++ci%g!`1 zbkkCHt=Tn^T~uf&p{`+bV_no~H)t@SX-_oQZ8w(E(x>8Jb}EzN5Oyl9H(_5?eP=9I z8+TNRtd4MtY%zAPZU+{m++^FM{%A;YuHpoU1vM)Os;%(WgY z`xDE?@qON(yEwRc5>_(y#`BeG9}0CBHkNQ7a&>|M=nXaQz?Ghhj8{L@3~_0 zRyws6n$BvOtJb;VH&o`$|MN%deeYROaFF9Kyr$GK=W)puBD$vc_l>MaNlIG+tYoS! z_Ul}cKjoV4$^oc54_1DAi1J6TsdQ=X@4>$(Ehh6xNl{x;z&z-WHsPFdTiVt9kbfk> z9HW#DpnkwXSHA84UT=;wBnDJD@BcwAS*~zhg zIrg9I^HsAJhsKBV2lI!*2f~M~2d#&G2Y!ba2N#F^vnvO<2e^kx2T6z82ik`d2NQ?f z2i%8s2X%+;2kwV|5B?s~9GqOHT4Kz0njyuJfg${|YH7leQF!(O%7P+80z5;4!8&rnv0#Xf15W(#H7QXFm8VAB-7^@PA5pd@8|b5j>1pXdxYFFy}# zmTv}L%3lJD=Zk|o@;ktR`GMf;{A(~_J|Q?QKMky(uMeKdp8@md^Mjl6*Csc>O<+JE zG~X-V3w)Y?3Z~De2N&lTgKhF{z#I7+;NHm>!qcb}E%Cqz&&V9lPz%rK-j|zWvH&jW z6kgk^R^i`D0c_GqMN<@C{C?X9@JXi?&G6Y$wj})~`I^n^FtLpDHM7CKZkhUPuGJ); z-QQQl+|GF|6R$qyG#i=zfV{@2b9`C#l12f@MWz&<-{&@S?+5wo$bjnbpY?TRI3?JTk#fxU*p}c z#Q)m$9y3S}BVWl&Ph$RNps^o%8_%Cdn4a#>wW%rpXrH<9>;Y%M4sZe-0GI0)hhqsWi7`e3KQeVc zyis4;ywP1hROfYlNILh=HBP( z)M`wu+jHwQ_Y~}isoPd5%(sB>ZU^ZNYD!YE?~@f~8vD5E4Y_vhTFNecZ-7#Fv3asC zO}2YCSkiPPT1>V3N$Jf{Nie%?Nl6I1Y}Q+{FO9tO6Kjn7yNm3M@QiHrbMI_lmGYDY zI-*v_BqiAQw^j?|E_|a`iT1beRs|@b?=9nT{fPM>Bb^d?&`irjnoYGXk-SZUZGwF< zA9Zha--534&hjpYPKU1T&h0MVRqWM-Rn67$RnApYmA-kkZ(+1BOPCBS z4934I21A7@!I)t7FcO#%ObF%+18`tkFfN!Ij2dPRlY)i7Fg>LMnFC1!g#&Q|xjUl2 zrF<*;7X2;jThhw-+SJ<6ea^SMZ)x9(LnA}eL*qm9Lt{d-Lz6=bS4Lz9WXEMkWT#|@ zWG7@tWoPbFLZd=6LK8y4p|PPkp(&w7q0ymPp-G_yp>d&kp=qJTw~@E$z-|1~Vi0qi zeVcq+c>De~^EPp1>b~gq<1JQ4-0g?k+}qUKPq$IG8Mg_y;M>^SoZFP!qLqmhpY31< z!o5dm}Jh4(IkuZn#-1MZ@Yt?f^ERJ{Qp$vH@UO?? za21@s+ke?u@R>F5t-}f(!4)H6dhVm~*YXFn72Vv;ex)rBmFsI_@Iy$o4pzk<0B2&? z{7$>7xkN)E)~Q%Z?UIZl`!N{jcAxXOxT+cWH2CoUzwvm-c}ySiKv?XR*X)c*k=Iv_ zL7unbjL89r{$J|a<07mevJuMfRURAoy_AQ%3L(lwe7)&fBqZo8vN0?b?86kt_EoPG z4Zqk8B&INxJV#ATj7K#ZN!2>N+rMHf(AH3T|ImAU?X)g_u|EAZFjTzNH~_$6cveEE z`}_@!?7+zVbO)0Z$}{@PuKBrhBb+BsxV7XnJkF8{O)wQF>tKK!e&o;X!>1zXMbhy5{&`D0DSLqXW$=GQz)X$U_LsStp z{OPZ~uDkDX^ks!;+~*SD;h%_Y8;#s^358i4kvP5$_jzye`!E;2UoF6 z(9~z3(AQ~^8(2_m3v{CwkyW9G#2QJoXTkry|NnJ^|J4w99a$p#{Ta#MZ}ocqk_3*C zJO((viZ~o)?w8&^rT^$wLas3vPrsMtbOWN1&h~9u9dUnYDwI*h6jI$ZL{UXg`v|_k za*Yhq-CIX~*3A3O*XW58Xepb0=AW}&ljG%_1|4XrsjPK_!5D zUI{JQIGUR+Bq&t%N5#l(_9!bkx=P5)AeJ2!1RKWfH`N`AJyVrwor}o?ZXH5@0&m@- z{C)C#GAP&yyeTx4SyV_3&5{`>DT2|P9A*(6Zy%A^pH+K*aoqc$qV@x0xNA2jNPkQl zM@O$UMh~8UP?SziDla@ZQN_V6Bn=49urk+p8>QO>L|G{P9^UBzmp-UkPuFbn-E=kn z%n)41FeK$^b)HJ(`Re#N7?H=WqDEGwi^HeQ;WMQ(U7xH)a6MH>MN9PbDX8{elf3?T zdStJe#FeJ4O~^UL!5g2dgL{#NtB21ygN>*0@z9Do?~tA*`$Vv>d7*MJ^DjVC{8~yd z*xpUa*0fu@Gz|#ucGq;w)ou)QuCA&Ssgq%2=Vhrb6Pl5h73JZP<`}CK68f>mIy+Ri zz|6(R-P|cMC@Qf)a#BEbM6s1gEXK?h;QS+|?YyVC`gf1fY0x#i^Sex5etcqQ0;zM5 zi?cI3;@ju$kvvv49Sse_iTMoX;n6)q#0oc1-kKWcR!~5tx)X zXLpO1YQJFTWd;?9oIaaYgu8u#pK)$0YcKQg6h!^^a(F*Nh7S&Bg{O5{DN&vvT}?yB5ZOi!oTHL zwrC~$IA&+MB!mP8d3j}+ImX$!=h|m^#n~CT-OE^6mW4w?4BdiqPbaI-XScqeHxFv$ zjU~uA3C~+;g=gKPp|RiOVX%h0P81%rav{5MoYL@1)8oS7=s*V$BY9Q1pu!f;|$IG81bfE@~k+G3aUM&uo$aCvy|WFk5@aF!S1eK&db=RX?`F zCOruV&QQ1f?D9rI)i%;EHm)@Z_yQQjnkhPmIb|g2tGvy;)zQ{aGqf%VRB%0KdHg*# zH@g)BdDR3_Fau6!4-ixlRG;kRT4i|UoW3;5%}+{~WO(U5ZVP%Y7NyJXOLWzJ7M5(?F`cyMleI63PpD|}!MpTCIG5ja0^XIj?)BL_y$OwCGF#1$*17aM@6&Gp=! z1D5{!xn`}U^ycK4v-K}$U44DKIT7Gbt(L1Y699ypsS2y=_5-?#dGn(v$aANty z94hYGyfLW*DajDT_Z-c5&Lx*MBq%n|ITwle7V7vRmOW&*Gc}DnwH}Y_st9IAO-1JB zbA|)Q#W|b!WJqh_mT*1>hf@`2ygv9yW&S1sw>~~z`-+hFa+(0oUsnsiMuUGM;2(Bv zJaCD9)yQ)_$)WLyN}5?(VpMdP`=`gROK5$zf_8v^>^# zGb7@X0&~I;?$(y?p-Qz$fZE&lehTlC{9HAcV+u8rZ0xiYQfHEP^3S&xpl==x_Uq4f zM;dQlM?EyI%bjf=3gfIQmEAM*VzYjd+XPxI**;**=sd61c;{ET*k$Igr8J|U@1lK)p2y;n)MS&M7ii?2TmWG9&Zs!L zu6aba3ow# z`n<#SA(+IO`kH+!9r~(_hXUZw+ZkSnf3Yzp(f|HV#fAPfxvggw;rp1d9qp%`)WXc0 zyF>Pvd=6&aWCi^Bf|3@_T0UP=@Q6t8*^PK`+C?E{XE8&Xe*R2>X@-1q6zLNd=Fol21x{@~Qj->t z?`##&y%KTA)HbgV)H3qT9T^c76XD}yaKafk^$|d3vv1LIdOiCQdCP{(OOdJB=Pzl_gj+gN^e-E`T7l z_2tZW%DCIelj1&y1-d4XE;2j`akD^P%4x+!kef38y7%$wby^sy@10Vh&yU=N;Ly+% zm?SIL?L%Ln9;2U{TvqUHT?VjzxwKslu^#KY>aIeQ(dtg-Sxz?t{zcsKQT}Sr)9a=U z_gHRK2Oa`+hs$9w{U5ydEdq(O-4~U@bgR>Zy>)Mry4l4`R^ETForRqsT(m z48@;8Z^Zh`nY*WyTnRSHOb=}BAJKKdE2kzahfh6rw=|nDRY2YcF*?dj z$=`X^YPHmm1R@#snmi3__T4Vi-CyF52+0-ro8(>G9!D{qv`)2f*r=<2?+^WJQMWgB zXFB11(gr;;K23f-d$F_R_v@1-I56~E%%L&4Huqai8``n_kn`SjJvn0R zm$)Hu{i}}&e7Nf%*gYhm->AXZw__+^Il^=+$3#3)obnFFgUfi zDr})$cV!f?+>11}+}NJket81PBd09-L@I9@+Wn>}cr;4d5xor|~J$+pqCuYEeWsY^bYFWn&`Vn*y+rLDcv(VtfQyWJXp@yA!b6RAy$#`z z?GX0JN_)l}h3k#s*`|AnA`?Xk$CUd{iHI_Ux(QGxqbx;!v88Q(1`s_%RU~?j$;dz! z6Xi_=p!|r|Ai^k9#EY*CkHuyHu|%o}5VJ%%3Se8}vPE;+a&;2ul;6jhq^mXAV2)MD zCcYJ*+li!Vv&q0ZAJ8#)hU5BJ_9A<>PmPKLi`%o+?%G8 zZWRTF9vJm)fYzI^lX4XchD8{OHK1(EmyZSPMPoqi;Ln4|WH3Qk`jN4=#Q&k?6wy@! z!qC^v=rUNJu=pb>2efTDgQ%W(E=E(7)Bi^1yHG1QD2P7nnH)OzcdcfedQAE#QCr?u zSpNa&|DeXma4+=YC|z6O->7m}HjxcbZ8$lC`YqZ<&#oeS zZRvj#5=2Hr)xDqJp+{i$N7@W{K?9$PVc|UirKtV^VsA29w9x@VODOnQv>?R#T0%`rjf_fO4~ z$M{X}!)=p#~CoQbU{G=(N~YCEWheuvxSaCH@2a@Dl#Z=yK?y zw+Jm-QvP*z)ZwL%DKcg6AdWHAYzdX^q&8XAw zbKoICXg$R1=w2UQdW$^;6L9_qln03yqMb(lFHAlidjSpWeD*)I9FE;d#P?o*unKCA z5DCMS!_E7?550JbFffH-^TqxjV%~|@N3ap;HP``NfzttZF84-)^D=5j{L794Lm)z$p>jclZwkkCAbk#c+OvxD0CApaWb&21S3+7%n1% zHZutL!DV`$@iYCGy}y?jW=2WSP!cjqPZZgS`BU<>n$9gvswB0V^eDNzq_LXjC^e+y zQ#IvLN~2P^fz1NpKXtTO1(E0YYRa<)B6yPJn{Uvm6D-rYeU)KjXu(YUJ1Jr5{O8K$ zvx{#;sG}Pd9ezqUDn4*L!zg1QOI9-AzyXvuIZ#v7GdOTm%U_TsZOx*SrI8pgeT>gE z5c(L?sG9YYOoZGj?sF+wcH*3Y6hr~cf$LO$$bmJb(8WQxTMn*%Mqb8blB{LG$)&to zjXI^2a}eT>)=j(?o_{V6N;&s{W?EL}CB}2&bDOKRV zVFKA?kYZZd=bing zS;rGXqHCk=Oc0QNI0&;!kuRPf+^5`1*rF+|S|z z{!4MG_o-zL2NF_IdS%83B2v-QWqt=T-I09uk&J3D9NtS#I-n%I8Wb{ZP82W!IR$J3_=Gb zST%D848eY*h1&BUr-V22Uk#PR7lTAVPYE1{Gl{nY4-(I?wisxWmAyF#hBhTo(?&BS zaMZV7&?are(P`62y_r76XL$>KifJ0jIwO-Iw~4FTBr8mu_m-Oe4wk@m**=uOn)%)( zLAbvSfIFX2ZZTOVYkPC@4efTK&J5-tLY^We#2YbQKVAlj^ky(nc>Spx-@Udv;427#u7~!2$axTkb%NREB7(UGvuWfnd=x?20|FAo zp(zOA9&E247Vv!pZqHK?x_{7S+XF$LG0_Xf!p+OP!Hwl(CryY7|~-q z;nR$pK~UatKj1&6K7NloD@O3&iOaoD+j2li$VKUI86!mGqGy0DKZHzQBtMA)gCaVq zlEffsRJ;n4kYT)*$d<~V^sg0kuKH5xsTHJ$I^F4w6*Px>A?cqgC=YcTnZh+}=F%?N z(Z&>n;_=v&#|(s$C9*ah(Wx{oY>tVe$ND%;jT?jv`dbjf@WC684M_ zERpD$3?w>A8XN#N^CrvtWcCb}M3t-;B-&eJ=p_0i8cbk~ObsEhN+WC5IGIq6rTXU# zvP`Wx4XJSkFiVnS)*(yWBtsWV+D;a@B9bhV$w)^_gOihax8nUIQ_fC^FIrc|s){Gu zOGmM;*i|i0=8i1sv7#M5UvaQ9jPW}2cIW zr1LQ8XI72bpNj;4kkQUf-ygf!!8m6MPT*nX&oUdU+YxO^?$KLk@XG8MTiKy&DeTc+ zXFkm$9E)?rc&%xgvADzB@}Zvf@7U-LY0IZDEwS{J9pRRQw`>+;`#ZQTIboW8Og32_ zJ2WjtVcI}I`svuUBm1&yKoyNib zSAb<`Bid5N-{E(A-QHGRo|b`)SW8)dNB-?KZXp5h@U93;!1I}SI?XWt-Un~xF1tcu z@j{w`lpRY6v*{GSeHjV;>7yNT|R}e7yGE43ViXndrF-K ze95@`Or2+zER-Xveu9=fl%u-PtuA!FjDj&%pYc@|n7OBrcx(a0YE*aIsMCZmMSEZ9 z=@2Jh(!}0pKgm@*zPyR;^DeL@irE;s&&bm+5hTZF*AhcKscxrn-xKP&alvVO1E0HYPGtyN(%$QtYLDn2p9@X5yt4rC!SU?!wUuNfi^+Apl#6pCn$w) zQYU*?Rp-d+{HpM3>naIM5*7@@fT_X&R!`1rp=+FLu50R!$>pB-#)mN!Kc{@`7!(l9D!XX||G2ddJg3hT`3YZ@Z*OU92^_u)zv?JyA!^(8{ z#0j)-yKg_h_gm-MD&Z=~lfNTvWrhw);4AMN*IC?I+-1{g19WY4Zgk0a4y_ii+N^G@ z62mwGlclGNpnASlo%5?yFrL6v=@~01-+5%5%$A^jQ0jhg6lHKiUT~~ga7y6T3f$u+ zAT0DL%9C+A9Ju!lZgt}s7TAZik##z9z1Q@#Qib0{gaHxH(!1`kl8wr61XoLq`#hYy%!#2vz|sjVl$PtHws^ZJKXs6#9r^CAr$1|3HOu{26D-S z`^<>5Fc$g|^$Wo;9{N#z==Ke|+|xK^KO4Vec`%OkuYo3JO(LR74tRLhaA|6m46dxEP_~g@yXZWG?d-R+1yY$=i`^8Yo^CSfO zO%-C~ZvIaAuJw-OLGmH^0pmgSfi;5jQRorpk?WDVKN%uR|=}sozmY@b;%Z=0C>R%m5HCsQ7vDSpj0|j^e@Z0XKsCk@b=MQM5nh z@x#V6FmVd)-|pWJJpYDRyCb{Yu)=MJ$x?^WRdC2EWUqsDUz zr5FQ7o#&KHF=t8@M64>ff=cy7>^ekSvFMD3`5Y|R^h`IF(!<< z8k9mYI*i(56rXV=2k{uq#z@a&!AemE9AwxdN(lyB+1R^Eu>#uFWQ~-bM4n`xB%Tzt zG0TIzgAIcogC~P@gGGaY)!^D7?IvjRsYKOg#3st7;wGbAqkw)sKMxUz0z?cV2a$p( zKM_&jB*n1DR>h1A&JPL?whoePN^S;kVr;5zvf9o(M;UCs;Y^qu0KGs67Mk*U?2J=`nTaRO8~{Uc&ial`@k=8zm1PsuPB;GZsWs8BJ2U5 zNC^X476OX6c;ykhvQ`O8TE51R<;>QD*~>j-L3QdA{LZs7@NkGqe(k3WJTf}@ehEU|8QaZ7!R+NYsY@9x!|iY0#pmnV^U zVsS#j@YEK?nco?%PaUEXk%MUO)V)(%<%{5k5drP`4t&J_>v+5un8NN?M`iWJ;^IKGB^+9?v{MJPL zS_P%9KTHE?p3DhxPvaPpWc&WtL^SXH$Jjq1tRb?V52A#4sy*A zqXZMK9L-&$SP|{o?8ZFLbkA(hOwZifisd=pxrRB9xsy4%xuQ9%xwSdkL(rl1q1<7_ zA01j0T zSzT)`TP_nXYcD^x>4aE?D2Et_XopyYsGIZka`&?L@`p2ob2OxzYSmRN&Z*B)yEe4x zAzvX?%=yE)JkrIqiZu%=rsgOP{SI+m>nuFV0 z%+FCB*8A&8@mrg+Wq#3d)Z24Xq;S&Aby78T(hbO58S~i9D~-XV2AZBWmf^b* zzCduKi~)#+FgI>YdDpI`RmSpZcbRSFXtt~ykSFV?zpQ(C5%+(dQMXQ$mt<*mtXTM$YHYh0j~hNp2)>f^RT@8`T@u;F`OZyTrTN zyN^9O5mph(5ylbP5f%~Z)_nck{p|hx00Y3$lx_y8+gUtUKc^0E=+S$4^`K(S4{&*< zi$jXX3wEZ?DQ^63aD(gaD(`ac+Iw^#)Yka`?$h-Ctf$k6kZ(I{=Y;2=;HDn^b$jT9C%&l;(~;vVPS=N2?aZH3-PDKa$?@By z^K&Ug;TSb5k?C!cD-x4yW{|5IlI!{y{o(M)3D63yjGi+*tnh!T&uW$9sTEimH)niU zd1=~cgyaa%iO>R^B83d7D)3A{a46^4CAJD#Qk5o~SOR2bBf36jGGzKA+GnO=WHuxE zRF#$u$)-OzmN*=8d=gd9%uurxST(Rsm9h<3b+FBtvd^?CNGesh1-0r)s&ovta?n`~ z!PP9B;}DizbEg&|RdB6km5#Adwh61QrkPN-4y*RK>1S?92p+51xbb-oSS!k?nv8Qq zE5WEX8{pj4iWSnXF=;gOH1IU>H1ag9&0dD^LK+|*kP`?UqzGaKS%c8-f_ANU<#r=> zQFaw~8J!x1^ubL$1|UkUk~>arIh>JVzDh8De> zS2rrJo5E_}8i;Wfa~5PzK`3_pc5$8R&MVJz&f8mbZ`76>!|IL=`i%R`0=T|quR#bQ zAg87l{pBWF0|G92uDI;t?BX1oY@3{o?2R1x>>OU_)sbv0G|=O!%4VO3 zQ0>Pa?P8t~OB#Bv#Z(K6B7eW^(PQZwhJ>dTk9?~GQeJr?t<(eSJw;>UeFQMo-(bflRUx`HJdWNSOmL8nO9TPjJPG3*XGvjy2VOq zH<&b;c^P>9Ka_oWJXCG?wcgvSr`*EH&9>4Oy~`Eqj)6l2A#Kn2>$n*P-l1 zmLz0sBTK0;3}R+5V|dSu=lNC7`+NU*{ZaS1&$WH8?{(exnfaVK$JE={+pH8hffhlR zqdn0WG&edOZG)adbK!V!wm21BIF1^pjyoGrpo6ObCd>o|fmy?JY${qyTMJt& z!?VJRDh$m_N|7UI9W+Nkd80nbf^@~EGQ7mgP_`tqI1Sm4X2tp87z0WP`QYu|h(55^SNt=04NfUAk&4T6$sBAQts^l?bDN!wnL1rQ|M*usd-N+1bW<(X)fzCwR zp=Z#?a77{4l`Ap~4N3};!)SI~S%|)JrLCbDR4tO@bCtG~{+zV>3F)he(po0cdVZf# zuAYcMtI+buQKO~2fYC-*8-$ltPYoAS8PF4r+vM}$wR*2Wl3otlU)4lxK)%glCv%EMt%r z8e1obD6D&r8b(Q?YEj2A@|a)@9YzZy;8~2X!9T{A;8W|bhuVZ{hMI&zLajq}tSef8 z(w4%ON>~=GsC>{2T3R=P(m`=}me=bOEr?gFD`6#`gEG)ex3s!`6f4FL!{}Lx&&Ma> z5%qdR?a2yQDQ2*BxOFTL+Eh1%VnOkER@NI#R&ozALsg+Mb(wXU2)jBv#7x}`Lba{~ zm5H)L&7h89iUO}IR-_N=LksJGVH7*2EKpyu(q>Rpfm(3k!KI6>Zss@uMZq;r#)iY zc!~uzm_L0>?vyu7|FgMW=%O$m1BzofQ8!bs+*@UR-P&SaBOO~8moX~l3E=8%_^j*3 zhMD6$hKvjprE9cYlrf)sSZ#21)_m6fW5Yb)2@``*@PxN=OG$zVVZm)iyMCdtkig$Z$?%uNNIV2^VMu(yDfxo z?>9_&^9eK~-NmiCxT~dYrkMpC#;|1Q6)*6u4&x>hRV==!nHXNqX zJng&u@x!kRjW=g%X_Rn<+(pdw-V5uux7YKxGn41h$4Lf#{sG0ig+Ce_o%V)nY-}3$ z+_o!3zwYHdnRGfj9LYK1{4j&r6D!y8GSJH@?Q4ia&d}TwCscld=S>{4d}!{qBxa~b zCL;trvf$I4f_DR)IPH{i?pV3pm#vKnp4v-`FX_i>FEigm6UNO>OrmdDW86!FJf*!j zl|2g!xv_PL8G%E?UN@wFOthNSk8DaKB%BcvLmTeU+ZiJt>WON4<-*lg6M+Ur#Ys2J zgeF&5q!GTHW=-QOr}VYMLmRaRhBhWSw$m-*M$87hy}tuN`2kTGx${9%>!E|nST5zZ z+Ju?3(L*6mGiFA5Rw3>*%H65nEs(+2=~HK)4sCJwsa~C{xHOsm^+;T3kzN;S7_Lgk#!uQv~yk^yg3Y31}qzwNx>r7 z-5!voD;kw9{je-X z^D5TWb0MK=*s-3dL$rbz1~9?oiz~5~?klBO3!n|zP#iNkhi`Q)M-$74#}ZVyX>o`N zFrCT#0{vmf;Td#^rHS~W<%fMkSFTw_fBp2^=H)!RF(%ByeIn3hV`$Y~C0dPdRNuX` ze%X2;$#rMfoNrVy8zXubA^I#I-}g+U!)nPhs3&?gKCVwXT6$D8s4U@Wd6J!V*O05d zvE#^im087mQ8pTYgVsMHuvl*_4)0zD9M^Sx_EqbdO^92o-q?5g;nNy)HK&c|C8MNj zPC{K`MkXp(d~FW3eIyY0?=Sw+)^}329)X+l8A)l6^~QQR6Au z^>}!Bx`TVv1nPW!{mXJ?2ls>t)S3FgllbF z0$COq)Rb&BfL6pixI=OZ@<(IHbE-|rsC(#9Y6Qas0vTPEoI1keJZ8-K$qH%~%CGE) zz+7A19jRAzw^@W?E-h^@1Q+q>;YMzZZd$o5MWcmFhKmbC&KT+=aG7SSc_Gvz28JY> zkxD}n>&U8!C#)Xe93d71^*noAo|lK_G||#|GiUO6I@C>vD-^kO5S$}phTOW+%Dk_x z1=uI;?$xi^mdqQ27O+Zd$|W<|AtEDv#k=667S`|AMI8!?OqHdAqC%u|4@r{(1WDG_ zFwT0TgGAfV{`&UQOjIEdrUh`__fREPD;k!zv5Z%~-7Sw)?*b+~=4k_MN12pbP9V4F z#|29`OGt?EV3Xm`OqKJs)Fdli4^ypj++tbV{OKkG`X_TfXUfgIaE*hXG9|NkJk`$>%m?$EzV)dCH#Td{8@_lW6g3fcvo)*tzS#9ah<19oX#|m8t<7s- z2+Pzo@bJlMA@Gy!fEuo{hr^@op{yHWNMNi8MN74;(=mDv)%JtX^$H3EjSkdJuN4u9 z)Chdpul&X%7Ld1}LSWQX<1jl!W!p&R45q?n%DV_(naZG}-a(DtLxxo(hh?$G%Wbj@Zss| zEZJFg7*zXVB~86bD76Sp!%*g~hSlBrAgE51%mx0HqQ&4O>(W8dyJ*2mh&qpv}X zWl<;UlRH-GxN!BQ<{=Bx5QCOgyAA6Ddqt{%K&Z8~x3Z+a!xSWrp1LkXd(TUQ0FR{JP3C`BMd%iG2bSLiltHu^mF6Ds%BGb_?+W-+*Mc$3BB8z$per$EF8hNQUy8AO~>`R7IZH-c*hqfF~kMn zA@wRi2Z_*i`&GJUb*(UbVxWH7&VW|5)>HGitIH$-C*4A9B#|12MmH-b3%wgHLig<3 zTMNCtC-MSYVHxFnyhH8PVuGW`?&&I<#kO!;3bx?`>&5Ry6Sm>-(;SX*79!HY0AiS< zTBLh%@qv(1P*}^GLwa8njSK{BzrIOyz3v=XLs?ozmh8)MN3VY#cCTFflIZrzH;Sln z`G!Gd)4P_!iHVEw@rxnX-R`WKD(f}9^D7*FncaOvG2KXLKt;AglKzzVUen1pq=a^}dm{wUR33{NDVjX=P6;OY{!>L%; zAQqevKqOyVDk}%yqVWM+w{v*F#z!l(-=Wdipt9|q-^?wS8H)h|VIBJYymHGncvfp} z8RF|ATjM0wu&`Kee#e%z%Q6vg&zP2>{{k_n{5;$mg0eGUKrh}>1|Mfs_$fp|!@vfM z)H6`VB1=me$LOr)cR5pu4V*?i?b2?YynCE1qB2Zi(Bm4-tFyb733yWak+6 z2zj3z=n2XvsVVCW@ZS0!I=Gt(Zl^2~>n)2ZI4))2VZy3Ts3j<-`mu*sk7!LEed*za zD1Y|D?j&dft*RKlMfs4{(gfZsp_1U)Rj=^*`# zp=Jf0l`C;{#TL}7jtog@8>SHs)w+Gm2|PQ}FmzW4v6`Q1OS5&7bHq-4&KGI|%+5?PWz&19!B5 z+`X)~zktC`cB;W1E-Kfb!c?zwf~oFANm9=qo~OB|!g=TR2DMt|F;~JXs@Lx z(99lop;xQ@N#B0knZZNa$i(@eTJ8KnwIyNoC1G$Ari!l#KzLyV?Qx=Sh6N0)o;EL50tBd)Z`a`Q9|jOpDjVMG5EHp)Yt}NXw&iv< z9of5x(PYVrk*DVaP$RE0)|u)W=@hM-oywgoYBDZ`l+-B2xfMe2wU05D_6m5IKv__E?d_@gk)|;#=z=^hV+0=hO1c`S%dyH(#q$L4Ix$s` z_~r>?n@o?ydHXkcWvUew8nhGCx@7dr4BA7q8p}5ixq?3yic53ddC(>1x`Qe)w^Ndh zKqm?BS#!t^Zna=6r~DF&c3*ahNQHOcXLRPg8b$M`?d)*ggDPh@X&;9-V*e5y?DB;1`w2JQ>LuGIdzpI_!lytZN-s zZs;?gY%Nx*dH3^iN3?yd~e>8lB^(TfhG4g0pH^BHd%+g3|-8ox`NDW zK<^Ry=4yy_N{MwcG_TP#!24E9`AwY1oxR45CoN0DlRr6#Qm=uT5I?|OmG&mdSqEl3 zGs%NDSV#Tbi3ZP1$u~C|%%Of_qGewLntom*#+$(tji1-7x$zq=891-E@8nvTi)(}~ z#+F|-f!24qOImxnab{P?eUP%Porn*-X5N+tA*7b6=rLJB@cM`c&aY>Ip#4L#s!Its;rmOH1g~ zH?4t&7zKiHu@_x{N7m2!5fpB0+^pE^khH1yBoq^kUQQh~91sd)&TDL4nRF$6S*zt5 z!3AipezRE#2A-e^A+9anI#QKpJeC85g3%8vU7-PpeDFiWrGT00jnQ1avOYxS_1D;7 z+R54jxuU(5$&gIZ(>CtCc++-irWL!*L)1$j0qJ>EBbTWQtcu6e!NzNAF*t4fXBTI< z#O~*b^oit$5gzD9rEgoXpc74nen4$KcGB;%yY93ou7*(m1ZKwCRCA)qz$Obcdc4jt^rbt=e zo6)%CjXv&YV3BNtdkgTU<@G5A-k`WoT~ki^Uu80*v{b*?H_5y~JgrXdHcUGHpnk9N`cz z%e-kab#2Ae{Xtc@hF(D0YwPl3ZwXhWqzxdG^P@9_a<>h9tvfI=I`E<>TX(#{eraAC z`Rv?sCUr$7lhMq$y5>$yqlgJnrWi&{jPe=n3}mRAs`c1RE%;&}278*jTgd;Kex<~h zHfThKNl9R+I)hk@sqozUs7u-$^G#vhed_k;cV{x97@G5 zOP19GH5sVsUchQ{SjoyS0~U{(FL4h|9eactO$m)akBpY;Z4eA63402d;`-?gh0jX! zjR>XkVt@w6V4*W+Thi85p3-{)Z6h|CW-S?7;=3wwf9u)`A9!O%#<31rp*AX|@v(~f zT9u_i6Y#zV(J$1qC1F&mZB%zMxmxNW4@T|Gj*Cbt0U`o4BJAfxSh(98uuY1G4kFbA zvBC>a0`G~s@-93Mryg2RT8I`H>ek8{TY9+^g(Y{{4*ND;dol_A-b)Htg}M;RN)RXr?r3;^H{&Pu09tR1S_aW z??rAs*%ExMokJ2Uradj#LM!~)epYPbjM~a!njiLOba`m+|L{3;m*N_?Sk^FuCdQnXBzTlZ zxrgkuGBw)`uIJ%7nSLIf?9uJFK3TuF=38eT7yG_yXTtiVh~4rdCg)?JW>=~@THI1i zI_&xq9 zl-jyv*T7vTbmTR%Im)VQTF!IZn54g))G~)YopReEX&Hk`78_aJn_gpi`pXW|-}GL# zTK183t7+TP%^!CRQblW-mRRwl{(W%tW}~;?Ye7BuB-0Y}rKk7;H($ZwAo(we1$|Q? z3Ne7l6fNa>W!x(_=GO1oE9<@=nwHYzaR{mCPV7Hx{}WN}g>*-W#&g}1R!ovdDB!^`kVG8fb0 zWj`pp@7;1U-?Y|wSIP3hzpG7c78^M1Eln=&MhX3r8^)$0ns>dO1#?-7I73u z#rB?A-(0;@&vT~iegw#NW!OiZDOPHt76&Mp7&}ncD8aNk5rkqwKl^VJYOFon3wHKk zyU~jn<|b%A+#Bc5U`=2SV+p)(!@ODIGXa|r33nxnOm|>yV{8yV`&#?Fs@qc5_cphw zh8eg6M^eR9Z3AO9`(Ny}4XBEfYC9?btBoJcx$AES5s(G2UF!kadkZB+Z>#{d5-}c4VSiho#s4{@1qxgT{ z=Q#vEk!}xG5qKzPZ|}{nbmr2!k=WFIDT7_wO!kBWGQf3DPahg44#|`D9XH>x3OqA9 zZr|ZQ$tq|#FR#%x5yjzu-}9Dc9-8&s;OtC0zRKR&DfW2JLFFp@^*gaAT&p5)xr|@7 zuGKo^+UPJ4CLX z$^Gz_(90sGc@7g{4)tdF_uHE37?2e&3SXKGYz=9-kAaMM0CO~%j=-0CZWELHvgKGTUgx%mQ z?CmYr=GgDAvY7GGDb)8KfmFT>6v#jt*o*BvR$5T97LWQ$g%;M1B2Br`EaZFwyDE@z=Tx0$N zb@OD^&vyBJ51W@^mAT4p(F2={7x{|cGR#J?v z_Ikn4HRsnRl{H`#TzZJI{?71U!_EE)4 zz&?_zeSR+FgD!N9Uy073gZ0xcxnwf_4ic>Fv-fss&Bof!7Fne|+>AN`*5A1W)ms51 zAr;AKHVLrs*qg=p&w=SaItM!o7TPlhi%Z7b7`+p)(U*a~b%OnCZ{ji}o^wEBP`S)S zAV1IE5;f8j!18|x3WKEf%)+u)dcd0K1jk@aIIXoBdOLyLY(2VAr4 znKUB7E#?G_=Ogy0PUz<&nK5Xv%+9(niwu+DKgXB;NUW8kh5L{dcztpub4;96P3iW`1+bj5 z4Tk9Jjv>HiC)bDMzia~k#ChtEIKg^DMgKuB2n+K^>ax?L5sVlL-NCZMs&Ztyn{~)^ zQ+~DbFAB~7L|OTtV|z-}zJ=ijr z=V12#1Q1#E+vD9Ld!~*KN?QjyhrFinz(=m8D#pO~UjI7C7zch^^jK@H5+fr5S0Zxx zfIFBH#~(q1n0R8qMfe?S0k|W+qmDlHke0GCF*_)XQ_A%yIYV609XWaz-8uQU zJuZqq*tKK>AgzK9z~2xO|Ag?^UhlmL#Y5}UMK{WdUPvybuTrm`O5OoEum?G){ZEc= zdVp)4bF-KSxYo(swR=tVHv-YOV1L+m5#NCe*;n6=5}^GQr6C3!8b4DoEaAW;t;KDf z50fN=Py*Zd4;8Y<)%M>e$j9@y{>HHB`1^QGGg_K$Ab`9y1@jDVP!>O1@&+4C`K8bu zMqnQWo5OD%GV`%yR9kM8M1y$}`%egVoxel)3TIk6wL`v`&l#wcAf-~M?juvZ#<``p z!}<>uYrcOcW{Z|`4A%cYnYw%G53VZ3%MgDQ+s-5V^6n)H6}vAMnJ83vlQ-9nv^D2u zx(2YT!Cc=J`ojWPJC_K89_utDCmx6V-?cn)qv=jc~s z2WP?0CJT~tuw!6bJ$y?%cTW7!YV74{Ht}Ptv8S8Ga*l&k9sGUT^ASkZ15gy~^Sns= z0Df*to>n^jT_`JT6S-s)yz&$m)ve@+WDB3uUOw2=I=veE^5G_+Mc^<~bpUJDzFEux ztXc89c1}nC_9*e>x4f42=}}#Y&*Y`Ug{{DblBU36kO@AX&cwS3|6thqPmH;L#Mn6t zOYrFg+unhE;R}d4thMT%`NQFZ(`FYAQFxGlvUrCAfwFMu@;^E^ln1U%Gl5% z?$+cGZ~mQ=ynBCJym%JufMZ?6b6_7Ii`>+@^zb(e-wAzQKAIcf?KaBZ@+EMlwDt~} zSF&gRbS68INc*DUB>-O5XnD0Qvjzd+Co$;(4yEJ&r2h@E#`>dM#*TZ2^j-dc0Q%0{ zZg|}myj~eRI-Bqh^F5mIDF?5AeEbtf0$nuja_~513)guWj-(*#CU;`b38%A`SN@^D z<|P?QhBNtNhXb(I+H?GGsNc2zbA0NLV@qd?%EU2Bg@s2h%2N0bhk%=3T(f3!BKQy% z7l51&l{0^*$L!eeqV3`6u!8){2LKWR7JZrEZ~26{XdL_YM+ywR>)wIn%_%sRyg6;( z_YkoAw@*CyeyfmO1|I$Gf?Og^e=tHOw1r%AHSum>SM^YLDCjaPpwiA0fE~W!7%uWP z;qFy3iXDw`fwq6knCtxCE}s6!h2Vc&NRnOrOWJgm=rcyj+HP0p#tdF16fn9#Ko1>U zU*#&mGM02uu#8&g*%ok2{ylDv)Ct)tWUEr zAMQT|8c&;->E99#LKNfP4Rj`evH9d9*_m7H7d)yqD>~CPZOM(lCpKK<1y2c`lbhr#q;3Ee*= z!FDq$_dVF|9WV`-yAQhfzR}t#D1_zxDri47Q6GZSRt`3VZ$M7k6$`L#P>>t z?k^YM&~~%fu@gEypuN3jF(2T7@+zbU4E6T6gTd4AH87B;S)d0{s@j;sP)=}OtaZCVgzDWM`9W$k>QRRJ1A)|d zhNm?8bfQ$+5v38<5kS+u;C4vF7>zfB%E2)DErm6{*@pHRWu)*ety|o;ByZ_}k0q@T zA6H?~$l~zlRyyECrFZM}Lzt6BtGNq((Y=iG0f}6P{UK;(#>jJ;&X5*i6648*3Zzht zzad))`JP@=Jtg?ZO9o3L&1owSl`)kucH-KhJ)8Ae!dYsS0yvp68CQ{ofV}C5nn;?K3}jOk zAq$r!`z(az1IJ;k_AJv|PTDk@G+Lje8prRU#Hy~WZZ+?7IO?*Ct|u1y^Hd&4GrX79 z4rLwFsY=cg$!Y+e6HbqE)Sbf0%$C2Mq*kO-q#g>gu-=|NRL1RUy@1JAiF$hUH5m00J?d0Q(3;n*azsl6EMj5EKW}ce-$_|LRBcrN$2H1X z$A(ogj<0UbdQYm(M8d0gvq)Ji&j{CKj`~w!)n{qn#!vw<)H+n+pQ_%jx416~t4FAq zqB+Me4`vU>KwymN$`=N8uE7{M=@gC=T#HxpY7f&9EY`$l=ORu-Bu1PjjmvFM+juA~ z$Ss`63qPNBP=T7jU%cv^s4l3Uc@Ed&acSY?!f;+|ydFb3J&bX~>CxC;GLkDjRj_H!58*{SN>=;^E z!<6sv-H|*RbR)1iY}MLBdEwWftS(8p{+K^)o}TgELr?mt1F%@6s-v}fgWAk_T;+J+ zpyy!FJ#PlpW3Nx#J$!UCB=CONYS8kP!4p}T{J6}b81;zo8YD}#iJC!lIP~VcZRLF$ zl2kFUwCq1PoRvu(uCQgu_tX~PA(A{he#g9ipyMswb`r5A(r(F{<2uV zeA|Q{5gClIN@QuxhT5ivD({Zc8mv9`-nQDu*m1h`7U@_)iDjAvwree-O$V_W3v7^< zvpA0ngJKCGCju`n2n;gjP2UeuI=KLkV7qSzP&XgHD}A(9I`B=HH)kN-!jHjCNDFP# zaeq~8Y2I{{4O7S|tb5*cqzz*T6Lu+YI>v@2gd0mcI~F-}u$ld?&{03#z{s#wszAO4 zra|xLgrgibS!!)sXuk3CtOm69Y{>C9I8Y!K}#-84(*$7Jnd zU@Nq+s!4tIet106r7Bc?H6lC{IbTIoUya1wf9ZUW0;Y+-)ub7fkB6xJobHCg-0g~3b) zfO$u2wy)hhqKIakalM6eJT^;A4Y-O1tjGJZ#MA*TwBmSaR;3!ChgO_e%BoZcG|^4t zX<6QC0OO9{TF|{!YE`Nn8GG-(&5Yh@Y8WS>$#_ODSM21%Dg-7*q{6}$c(1{D<31Q> z0m8U2{Go;JK~=iF13P}R@b=1xqL;2G1p32oh=0c3ph6Qt_5q7(Aq`_bi#fiBR5DZKeUvW+~4*0a5ep7DVjwa}ji)-&bM zI!_4+=5WGU(3qoMVi&s&r*c!ft=ql_kS(o zl}GDL>!NRy!%1SDwm_dEkI>I$lR|Fn>-Xo|CjRdc3-=L>O8fRhjze;iy)3CVrz6wu zfTIzC)iXHOeb9odHG$%tH z5$M16jbOE(q>a4Ri2ua`0P-sKVs+}>zKsNA5INM+^ss7V(7ugAFoS z!pu|1Zq-MRk%JKG2x~#ItT7E5*{sJIx21s5b7p%d6EI|Dx(^Nay{UBsdW>d#O#QeJ zoN!!jARDE?*SU?`;z41H%AbPQNaV81ZTzm7zk8bO(REo*Br+ zbM322=ItH_PgXzvH1K@CAp&{_5(w7&ENp_SKiM43k3V>4qcLjou~dcf`XJ-EaD1wE z=u9$fccPTvlO?F?@`AEI}9GXL>zQVKG=ucldlJtX;uyD2go>*1iiZibK zK+K?t z4R`j}r0Bpq6sGpn(Tbpg?T*cN1LK+Z`wDEunZ0Cc(srI9gZ#jBP*x=)L1@tdX=G3; zvv9?f6X`U{`X)2D406B;DolG>U-89Jc^Q@2`ba|?s0KQU1AT=FS8%?~;0R{S5Y$wY zMm{3XC1phu^fdwL!tB6d&`6`UCaEYp9LZJ8I|zzx>6<{{gnqK%NIqG4s)B6M8@f*H z9JC=%pDK!0Fw#sf%07-XoN+7qDTVY(E#uYPbSvVOM#fv6Dpt({HP+G#%=FOlZbc`g zP2s6KD&p7|WVM#!-qjPD18zkCIG;r}7m#Dd@(>J&5)b;rW@{c8jG-zNm%p0|YIFpp zT4@%y5`L;SOR6D=ZF3Y%KoQ%$2DjvZk!`HY~^1 zjGPpj5yHJ(Fky$FwD@BT1_~l5gm{!4E>6QyTso?El5BJo>9>=g6H9g#_#OB<+K)f~Ny?glNa4~m&y{y$; zfbWSGCJDPS{ct{xc@b#~*;|P-vyHD*10NlT*FICpW}c5{g@)$FjM2Iqg)$&oj=f#F zfh&e_z%pb%ged2TBL;HnWqm`;gBhW#*_oT#%BzPxA()LKOq|p74e-__HseXosAi!8 zMTA&kJ-jLC6gC@w1Bv(D{4}cuwbKDS#e!DLj^yIw$a9z0hmfsFDBBfVY2^siCa9{_ zaya-Bf;X>TmL_BbBMeo&=IL#^acOiL8U7qK{qXyZ>=a~pGHM$9xpBVUsUVL2%+CuO z9wnVZ!%5~DKi~XV5H(Aw=m|mcxeqnBoS&LnGBWT~=d(x@;k0l}WkO^D3FVUMaQqNc z8FxRA;;{H4B&f&M)MqnqZV0~eiqBPB+<%;2=H<#=KGy>A6lbdw3SPJ7rqAh1)&@&S zrt3KlT~9UY&t-RCQR%92#SY}LyNdRI_j3!(xZy+FdZs^rB3QJ)tk!k8KW`2WkzBf& zD&jJO`+VG| zH&T-y@=5(Ur2f1FX}GiD8!2Khhn6RYh@Tri5h9ril=*-@Q^C>A)Ho--9GN)VH&UFv z`EzisZm~q|*_)~M-#;&(aaTdOnSyB4MW=q%7VQq?9TSJIY`yVs_>@CXsfGQ5w;fa9 zwe(k!aC`80Q2eo>YHyB}LZbGsgWS0Xr;gPYJ^z%KAg|GV!T2rlS_(?4M0?@1*20eS z&^7?ZC80s$(;y~kA>7W#`5r^_9z#_Mmz{0#1oV( zEAQ$-Tzro!bjAt@Yvx0$p7U3B8N$7~8Z<|qH-)M$%tJuYSX4Y=8~kYXu@Ija-bxnB zzOB48-}KV<4KloZE9CJY^;6+|y!HDrlkXNG+&Y-eA`EwF64nZWi6@T&u;3#uQq!D6 zx}hgp>WzrRZ%Y?z(rrzDxR7p!DQgvdh&Kd&WN2;Fer)V4)`&M8N$)3Z=-dc;aB0!w zYo=;R9-k?l%kV4bgdmUN)hk6c{RQ%U=T^s!XC4{eNY#@})|#%)Z#|KHO)||{B(~WR z0u$7LiKhKz{%1@A$4A&r*|m#6WoTak(TDy<=rOe7v69Z3#qcyAHXpPia17ls;jh}C zg%;8P)k$(`D+TPP@>*mSRPTzWC*jpWT>8NqmnQth`mzQd8O}T!eECdov-ZgTi8#gy zz9PNM6WL%K&@-V&5Q~22kU{695(hG_d7?|n-Z&gkoptzD8o-5aY?e%?mBaYe{xN(|qJP7mi>!gLI&el3q63%=y~$7#Do zzl13vE^c11$u;7jt(7$br9Vq^-JQ+b~efZ`2l7e9Brn13FNMLYd0C3O5WHe409m*(#>u2VRUH_!0_UY-z*|(E2NA5Gw2g*m$sx%Ft5`6a ziY%FtFn0fPax`OxY0$C8<4HZa=7$`N66jkEdm)u z#x)H1YP*38;A9F?^ir!zE*NU)={|81DYx~6awh6&8+fUk!)DS1lu<@e$clwkUQj#< zSz#3h({6DLm31(6IAUo4&3E>FRSXNaDxIV!e&2BOI!^(=O9`o{ck3gInx4 zl?`g>FzI}xbGXr}2rF8xCK{HtHcf^9uA>m{?VdjB0?ntZj0Echi(*52IaqWC^d z=I@#$*_4!uHkq_<&l5F08&^QY4yM~bI*atiU{478PgZi}`~DdFxAkT%sc6FhLG8^U zim3qJ+<}MS4gR$VxxJU0>{2T~UKzduJ`#^`Z2IaK$i%_LS0!D)^kozE=%=h5rda5s|^#>?pB^Z2OYl41136mF2nC4!c8gOXy(z-KjMG`C@y9FiK46O z2-4snMf>T^Bh++g@oJ~GF;NB@x(b5g)WJj|@zY>W%cP*dXxAvi$lpUa%D^bCYvwdA z-GUyGnJW|5CXQCD_JFos@#Fv;L9^l%N>)6{(?5^}FeW3tSjevCjnbgYQBpizptxubMf~n*P+TbM_c%8^4T1yT+9wFw7e_a|2`JJd@&5$e zklucrTic-=xXCYF;ky~yB$pm=#8nnNM5MX$H_v$;;D{- znaRTWqN(nIOoIOMZ79pyMq%rT&`1(%u$-!TN4hNEPXPTs~ z$TGTt&K0Y@DfsHrPXqk}ql5G1c>^2x0H(N!$pu*2#WrdG<@zDzSt-nf8Nk=6;UWvnwaUtyF;QWu_`5!}DR%-LPzfS<C02ga3(3Vebzl8+N|~22V&OpW4yI9DxpppBl6slvExqbNv%v|^6=woyP)qNxZMXfJ$pPvELJQeU{si#?Z5oCd*9VqnG0_+^s_?qX9hqBZommPmI%6_JXC%g+N4i*by`NGE+_D z`I}l8mSVll3UUg7_(FUkvLKX_s5EePPpL8J6o}_F*y?)&8)kQYct75{o_HPp@!7{0 z!on$hmW@ug1%$*bwR$f>%x=`6pO3sKt9J?zC>68R?0uS0_QMVn8mFKI@a+$pIXvPxN76aBw-tS)(AShi_ivJc!9^~+JnMX?N4Qdx1sr&@r_#{43c%k1_li zl3o~SZxpTU*-6r!)~GRijz}m=cjD$>;L;g^k?AH!}Kh)D6U@efEUh!q-S#S-eD}` zkAr`!zrV^u%eY)=c?q_;mDy^tlbcUsP~J_?#j&XhR;i}S2G#sgUVg`03l&3_*JPgp zKhiSVX@r!CLNh|ikPxugSjUH)e|hr=35^Gy`dL0N=^06>D(X#gkzJ-%*ymWK1pW(2 zFACUf!)XyS{6ddwkHUrdQ=SRyNkAm5CCqCio+l-i-FHgjFFj`|-3!$xgJL>xjeBUliO0fz&Q z1TY00!ZG6x;}~&FOh=dwG96-KW@2Gt)ML?O>_6Opq@St(kjTM)7LmiZANXp@XIot0 zP>`vUsykPwRClRPqE5v>%+ch@cH?3a<%|Zq;d1YrE2>(Pjp; zU2W5BGY2dHW55=;0a)){-_zc^x@WU+PWS^l4a-fq2)=ms4MBxu3~LKd53da`4A0zs zxcg%F{%-2-)7>|_<-4`E{12+MWzH z*xcToI)yDKTqU>>N5FTjdJ?7xk%T!yEuoK)Mj(Q(PGupS%|2w37yCG; zphztBp;=Dk!g<0&b%zJ11q&WpIz;pw7q8YRJEi!3(V;=k?t5(Cd+D5H!1YY(u#R?uzIAr&*LOOjM(&a2)oy9+7>=gKR*r&WmgyXSuPTT^2$ir}lho=S3 zKXh|=+H+Liq1fW$Q?|l~lJDO*WWF|CW*d8?kdxplihBGhr*J_m`tguM&P&mskG0O3 za|xL}!hJLKN$xqp_L#;e|Fta=IMw}-H79-HT*xD8hnJ`M&Oc&z$mltFtonKxD`%&u zPyM)%=<%p;mweQkFW4Tfd$L)gzI6KT2InixBX|^`@FSnw-9y|eGANwx)wyDe|_K_zg+IqRsM%_i8NLe)d)RPKrgWQ-QpnJg+ zD@$OHd=k;+;g~Ew@X}paiuH6#*Ezn)9*N}B;*KdkWj?Q}-&uH;NsO|)$Julhcd>UZ zc1?6ycJVkiRFCyYib{w|iHfhsY2>!Qe)syz>kqFbF!$>=hDEP6UB*1G+o^k3cfU^P zv#6}%OHBVKXTjREiIHVD{AJ?HmVQ9}r>HsdqQtC3PU)Np}Qv z1iWKRW60>itgjK^w~+*Y3rz3p=Id z6JJ>Cz0v|xJtyrIrvfpofqqShsSjQ*4G2XP_p)f9OA~x*c*T9Qnqi!Td5Z_mguYZp z@;JuVcTdhOU&UVuEm3}-VQ7asn+KE z!S28h6Dfh6w$7FHvg4D>>G(yw7coq6ru9o}SL;ygRBLy5Px!mtcf0?GuD6bg>ifdR zVGxj(7KuSAX#wf(l2kgSrJJGVGKh3YOLxggO4leNf)WbSCGeqBItJbu@cUcqx8C*s z!_0lo-p_vaK8IOz&zy75;8oAd_&*|={(-gh4e8TPTXDy}7d97!feFE|;Hcm?!5@N? zgCl~gku}I-WC^kZSqXIKJni-25Q)nU*Ca2i9hrHx^3l^+%q2%iQ>!duq<4M$(C=LI zbvA5J+dfiYisrvqudia{Ie3E<_H_cY87n`0RzwK0&juf{b@zEviMMFRd%^2Rjs9@? z>5FpaGz>nl@9=7`|2?_5<=!aHCdwvOCc-9OCfb(mm0h3Xl_LoZ`VX4h=Xt@rYP}M@ zGM=w(`Bk}B`Br&Wc~$wix)X~ui8hJ(iTR26iTjD3h@Oa%h>?gSh$kTTdnN?Brzn8x z_1Tfa!}ooA!YS!-FP#T?V?PMr58TkSdy-@8wVRcKgo~2HS!(sU;u`FHCWxM11SI~p zb<@T^VH#=qzOfGo!Etu`pGm#b8!LpjH^vZ+@Yo$Sq#I&wyNqdHyc;OX&}GWpr;``R z{#wBLgV@Jf(}B!OK7&j0V`eIz*5nOJKRG};g_T*406Ytl;6n|rV_38w8+qItKtm50xmiEhv|g_1{HhAi^I+I? zYyW{m<5vIh>p1+)K9N&~P@K^#0mI6VEpVTy7H63$T6mgK6wy@-Q^v>6B%R=aSzE41MEsx2s<)+`>BNb6#D>pZN){Ho{6r1G}7U z4tUJ$yMe~GI?-cyq4C_F6;Yo_P#J;A8lg4KAYtRTsG4W?SSDN9gLTT~GG2{OIeT z@f6h0`JK=CJu5H(ke$l%AG19&3?2&+w27PGgY!9k&aAWZc4^3Ws-!eCa4|F)i*K-} zH&h;r^7s161LxfQ+FH*5XWQ%vsF#BCZu+I{(zET7EIVU}N^b-)y1)G^k+k&sxrK@fp>aIm*0D_`-Ac5N+c4NPaUM=9~$JS_gxq+i2Ucz+}nHM0czPW zRhwf2v9S*^iAqf-JpZP*s{2=pQbfa_p>Ka3nk`!;mY#HyfiUVnP>CP9s=gMBF!c$) zmX@Lx(L$S?0e|eN9uNJ^JD0NzN9%~W0v3mCIff4NPOU7{(8wgPWbc(?f8i%deP1V6 z*;C@28sI6F7y%a5L)24ILZy%0x~wz)W?#4R;#O&+EH0aY!>ZK&gDa;_{AOcx7{Tk) z9H(no`tjTcEC!2>X>NLp>xB81KVZnK-C3oDQr&si^;0`(S9E?r--Z5y5IVu83lH3z z1hp`7%h453h0dtnB$Ny*dyL8$`X20;SUFg-jC{JVj?OUePp?29x&%))XU8bA< zMj~+00|FRMAi2%<z? z>abp5L+b!GdWUXxi0%=fb#xsr8Qkc&esCIx)-iv+FMgu~Ai2EJ0Y;vZ-{=5vu5NTx zLnRb$(w_%Hx;Rl`&0o+-YUip)iSsIH_%NtWwY>%VR8M#D?ZK5Iz+Cjq?`5Gc>w^ zI8dWg?>gst6^OcaiUM{&0cS7Fi3}xMdbLvz9zfxJPPg_1h9)=mVo><^&0C1X(BcNd zfjWPqy@AH>LSk>^#UUrcgmrS%$&RboYcg)20pvtzllBe7Qj>ZEeLzlxH{Dus*W{of zzz?--73Ozq##EDhW0r%Qc;k0###xhf1I;2QUZ31rvDKvCKpn`5h?83@-kQ7{=xV-e z3F}nn^ki4$>WW_a!Sz*+TkxI%jWFbK$SWBF2P`v78cR`2Y)ckPN=rdYB1>)nwKP)F z63ddw(%SO5rI)3;rIV$JWgu#?q`jqqrJtpirJJRNC9oi~V7Z{Z;J%=;;ILr009jC2 zuvvJq;Jxr{!Fj=SA!tEv;n9MXrO*@V``A2~3AP+FyAikPnWgn)mNPo#wjwNZf@!$T5 zh$_rnef}$DxzR?05#@0IaHU!YLnV$eWq?nGaIsb> zsH1e0cBwij3DnUzn)Rm|ih5HuYVwN;weFG^weAwrA$X0bWG+__54-mma0nN6rJ0`?Ot)a~8 zI}bgE&1r3T83M!5VO&5ZSZbS(V(oQt?kAkr#Gz6O8!?mG!w-ieR3#(g?@+8U6*Jf} z$tuf$S&mAapRPS#vo7w;Mla-CD(*~*!==X!4jmn@iOMI>*Gf9y_g>DIL9LgJ``>!W zH#h4g!$+G&NZ){h(?+#y>SgU^^O%m3CryV%hgVgBU~2kTkB6yMkc5r*yfF_6EAj@Y zV0JP?Dd!AgSlapas=>Vf7Dp2NTO7&zdA^esJK)(ydJRiH-G0o z(z%(lz#6O8uGx!2t`2hv!xzhkJm>44tvVx;ibH=Nb*$wUemJ>#;oiS_(Kve4(MS&7 zQ4GjY$PTEu!k^t(XQ1ydn*J*KW%D9?hvAiX8L`W*nRjHs%Lj3052xf`@8G=h?jrt4 z!|xELUR3+|Y24pJKvJ`)%{Q`Y<>`Zx{*j4IDcMA&P2;EO<;K%7hlMQ)sc+1SsRvlz zKRbTZ;lQI~8%@2g=oQ7$-LAr$ss3VpSusE-SC1nw(H!M+i8|mM)z}XXNHk9|`LFlZ zrgP+msN`aOOzy%w=4+GMXgB9bVwIvmwAxc$-~|8^i8DwINBKOZ(%V>93?O3M3C4+& zX>cH{crk?X-7nBJ;{6qK4(*XgX*t@Awtys>kJ@w2p@ReP=3bOdr~W=O?=L6JeIK+* zBEB1n&KqgaJcDX;YWqBiLd}{eeNm3y8v2IYiUB{5^dC;g%q;^k5Y2sN_!!k*!dWZxLF z&jHy#_bbsI++1t=Wr{bP{&E}ZXp9%{}LbkXJV>AkBZEVcB;g36Hp8S;Gc1x1RDm8PuB2O0(A&a?0`J_$=(K;VhN1?rCL`-p|&))}QD7=lss$BcFeF|3)3{GSJ=8-SHXuIk=nr^HO(S zgfs#58=xs`N@HusS2(a(^0T?6{Ul%Dn+{-X&Stkpt9Iz)P{YY&`qaht=2q6W`1Zw? z@|MGJ`ie)F>sQb(9(RRvWp)JQn>AEMp-Ohk{ zlxRDSm%n6MRq*HjFx2ny1*~w>a#~LCgC34B*4pTTXZq|PGxdmPKPjwf+JzC=a4a( zgqrYk{xKDcfq2qXLu(H#r$@OqsQs+~JOh%6+9O&+wJ15J8}!XMD$mHN+s-A{6aL|6 zNP|FT-LaC>*r&B`Vh>&$u~`#tIzO{Ei=`X;Et2aa&{(&Fx&e(q-GIKD`4&LqS2Opu z60S9s0e72ffm=)o!htCl)ZOQ-v*pxl=eLuYL_!yJ4_6>Uqd#oAfBbfCZh^%CPqgfr z27-k8gRc;B(#`J}H#G*7BG_6PAUK8G% z5<=ar?*=~dSl6TOQJpv0g?a;E0}bZZ2XMcMpiQPm#Ca$;p+Fj`&_toTUK)+-SE`7> zI=DMHjh>;`^Rqvf@Fh-6*t|9HbFYkx>MD-A_Iq84ueC3HHkG?RqW-^QuEx(5-{QUA z*QaWlHTJ*i)fYFLcwm3uWb=pRX7*k2xk<#Bcv(G>rquM>%r_y?gt`G&w#J_APmQg} z2_ZkB=^Y*$@fl~|(6+FgHHKbI&+*!v9n=Fo13}_FlBqey3aq`!U)=7?0p9d@5=C=1 zR0IOFKI&ovJKukqRs?-M37%_m`)x$jD&$l<1t+fjzEOJ)$8`Gkpw`;ZdMr%PcEHeU zEVRMqgP~Ka(sZ3KTyhg3R;LLU*!u3#{iIZ<YJS_w8PB9Y-uC;1XJaURuYR4Lv!F@$Se?%nq%qgUl6I1{F~jAh z$)r$Y&i38-p=%MTIg3&eOh}>kZ-AZY_a*a!=KA{sRY7SQNVNCwGoUy#4}XTm%txwX zr3_Omy-FNhMb2=yD=b_~PEH-XYId2a)8h5#40G-?Zaw={x# z4{joLQ9*KU`A8%fZ@h#t+){4jWrYae5_2O=ZoP#Twr{<0_x@#fw_W{4#4gSp(~b8D zXgB%B`vOLyawF?CBBHnwKxc=#S-f$-dc4PX6C9vB4Z8_0jTfYL!;^<2b;~mZ%Dd%R zh4J3<#30g(Z;E8Qz6;rK0PpfvP8SaJmS-N+bt`8VCVfkjfXKV0v0vc5rQzIrd*gkL zb7^*yOpJuY%!^#DX#f2J;E(YPy88y@Wh8gd<6;%$@a3jp5=0JPZ{Ey+!k5sM^K!+? zX+|fS-G(^4eUpxv7T1Oz4*sH+XSa|6hJNfV#A5m1KL}I*pOv8H(JeHNF?MSO_;Xus z|HClH{+UTyB5xsK455EyObdJ-=w1_bBXlP7LyxnAQiR<D_3axA zkm-ZlI$6WMFWz)~CtdTSTgP5ZgMVCl%482F_3uSGSNG zj%(B{q>nle_GT2h;qFAX0qD_lhKC@(9b!;2cl%pfEu7qc6?hJ7yOjZbu=j7=QmyENR(R<0(faeH_J@_sXM7*uh`4=z zuQC_gNVUpsDA;H6Gi|AzsPdt|c>kk8@fzbKzrxtXc7jSKf8l!b*cDc{z0~yv?Q%U$@l|y zc*F9D!|qZLjuYn@ml&CcR76915CeUxhy_ASEmv0g@t}Z_eP8{WLytf4CWn7mylHl? zpowesFGDk1H^F5Wnc zsFTNOxz3`zg%*R@XgSWH`;4 zvJZl-V_1ODD!2#`ZL5AoXlCniMfW}R61#PA@sfoq^^&sneDPASQQ@!fnp*5Z(?o4j zm%M>(c2{qj`W2>GfyWi8xaME2HOIJvp$U$@u6$16!7eK&=IijPMUm_H56PFft%bnS zC0nEUUyHSk_yc+8qUElU)E%!(8J9HEqDrYjpGG~;*8wuwS?<}JEWba%u+2~bh~!;Pluv0zVon4<$%(9wp=o)1xM>PRTm^7T|dZY(}! z=sAXNsqM2wcOXTE6S|QiX^YkrY|n$Q1Ua{eu#RF(iYN5vdHp+`q=ko2M6NPjcgu2I#ogx2JphqrRkz#1g?656gtHHR>vt>M(6nP;^)J>-u|pG%}#iALM&6dzm%&V4Eb?-oEFqDoD031R8srl>A! zPFm!qsAp#=Ui;5q8chhKSV>1~J>OE;kh1yXX6Wb#&!p=z8xi`-<*m>f+3t zqGI-x?AhLS5Uf* z-k;FywO-V3DVx2D<~DQl--jKjj3rKDy%G`KcIe;K;UEq8|&UHydYnY#aje5+nx$YS_oGCY+;k^wDeA=By9KDLK(|m zJvqc2G@p*(Rb5DD+p8o$h24RwgSrG@^H~V6+Cl=`o;}%V4BlnKohx6^H6skjM0BYw z%(LxTkU@UF96Y+?%CdKO$NVA8Kx3hS41&Bf2Z+F$R2E#wA!T>wBw;723s~f*HFu=M zU|K2*&&f~Wcci3Y_N;p|cRHWK!0Cu_*1b5qAQO-@J8V~N!JcI=OlpuVhCSq~i|s8OSXcG0nUekJoMj+RZ`WGVc}O1-$@)^AKgsdl`5^<{*m{ zgcsRq(w)vnuxix>TC&rzJ5Vc-v>+@m1Az*BP~q5;_C9sK1qB5^3-}6Z3p@(;3n~g|3MLEu3*HoLX)}Lh{>bHR>R{#|@8E^nF@HxA zKHXZ>7SL+0&s&y0&bdZ;^gckaqt#r#x?+56bIs={ARxG-U`|C^$qg?2GYeQBIHC$r z??|0fa;t0_nck#7)C{mk9cHh$TY54axY2Pq7Xa?ao3jAtlZ@i7%O4h;KM8J@k^`3{ zjPN!VnT&KQ88MwNdI#rQUNACss z?;fIG!qFO5^%IX8H^6J)4KT0{-pq@1v1*%msCkbqdbLM=QExvSV$#lrB;Rj2RSV*T z-iuI3ETH-Pgs9g&&bug9XRO@e1>bwxhFH`#vZ6$f*q;*)R!;>oX}M$5lsJpxevUcV ze-swGZx*|w#9LI&hq!M=C>T!D9Y^}r&^nuM?w#ecr*;p#V$YPqYbPRs2kLSEeO0rL ztDT#$bbcyClNIOk)z>=0Bh;hNBibX=qtqkbqpEhOd7^o=`NxFYjLnSmjMa?ejNQyD zx~Dt*J3>2r<^txzb5G`;&Z&uWZf||``sG`;tt!szVlmb8D!tS!&DUkh=hb)_y-M4| z?cV!heHGt$=H`#3fuj{WuPp!2mJx~H65nTBRx(zzs58^w zrDtN>75HbIrJTXfLeJ{XGSA}9I?j^MD$m+VOkU|vcz&qUx2??78+i{{|86oiae+7L zi&u91)(A*Tb@|V*MgNPjBfS%MeVPd;oM=qRDY;>C%F3m_(L@|h4k!PRGuAi8K2|Zt zv+2D_xcO|8Ytz}Osi9YFyubd~c-4g3@B&WoAqF0_Nw%q5iQxFi(^OS+Y+_(+U?gnP zWaMY;XL4esWin(qWIO~I4Vmy7^BVD*R2xea5dyO>x` z_MoO;S^CI0%>qE^t0ZQfy+6oo|6X7^W0lLBKgZcVs{V)QpwTwmOGtb=n>;&buwu|? z(3NdSbiQSn-JQp;%Dc*=%Forq)sI;0MC3#~;p^=7maj)!>+H;qt5#F`^z`=9vCl;t z)(mWi(XU3lH)nIuYqgDFhR`oDYn{ipeuhqXJg!+scm?3`N$^Q;`94dzqvn^|Hf6R{ z<&)qy-bOnUx5Mfe)AoCI#nsQRnXQ$rMSM1S_W6w2&a0jE9hxfP*3REwY4u_(=31+T zmyXA_+Igd_dIeL0|%9@ye^PX}P5{Uk0Si643cG;#MlxyL9B_`0F`BVz# ziXZu~%ghkm75SEwfz>+f1fl>`OlFsxMjj~tQtQCXxXRKwVUN?GQ|_p~PU z65*ukr>uWSe1CL(|e8*Js|+Vo(ZTjeU!RZ_ca#TGkKgaMiNPx7${T z-|2ex^Vm8gERW<&uj6qi^vWgS_x0PdKfNENouxZ-_P~v+mk;L;rI&TmkemBayY|=_ zW#g~gMR##lK8y!CA!5f%3|RlO)6Si3*?tNsZuWmomBF) zqZ&RL{=&)=_|h@cG1f6DxhAzBwIj9Nxz@SUxe48Zu0uDk)~+_FP$#*LT>V-#{bRlg z%q`CSC$%Q^M{22ax${rwDs&P0A9VF&@|x+NLRhh;_5Lj_4uAG6sR<#X<%k)^LI8u+-15P-i-STfgYTSU#Uv zoYLBc>%-Y<9(%!ABs?upaF(gcwqbVDi2g*$u0^=Mb>{;-HxQSg4c936#B~hOkubS~ z1uwX`=d>)$Tso##$3T+oc$WoF38|3rOk44J9t-c`c69H{>jnb_b5*rm=`7~!4>>rZl9 z(T|8$CNWs$tcmECcukAWTABUohC8(mw3dj&16#ib3`y*@qj$4i*VYJ2+4Ag$qd=_~PO< zUKKlO7U`>xMK_eTS^t0QhS;xWa|>MpuffHq>s^pVmx_x&Y@5EkM=sRT4UJ_<$arbe z#->o06U<}1y7?Y0{_Sd;>4-csv6|5)v&%b!pVW@Uue`q(-~)|jm&@P&s2#VRR>U%; zI$!LOlPIU3H^$_#is<)2d-Fzx%|D^8LWOnupw!YYUF(uuz|er{QQdjp{p6peoRhn! z&wK4SCVcnFJM2(bqKFo?#^6)c7YFLW(>+@L#^p9$OIq5-#g?cmHeCAWI?_i^coLEa8r|o~GA(r(_I61P%`bl^aG@JTNGdJ$-f}tt6Kqg7k9ru*i@NPH=D^m`CM4mW z5z7TK8=PlQvrQes%Q3l|9>U8xdCZyAVZ1R7B|2?QLPEO}+&CtVO%P3}K;j6%57pbs6c^3vBDyD*>?HeFrkS<=@&c&-<;3r(oTHdN#M zMRn3XI7Av1D(`A#=-M=N`U?BBG6^Yl=Tf7u5je5dS$E44$dB$=F~tf`aW=WmlIB%& zpT>Ej(Fe_vQSSp9yP+Q`ou@HdQJqI`sMOc^{c0eO*C2G7hXkH))5QtmWS{i4mDbm( z*?y03M2%Cin(!o-@yje}i^@AqX0(RNeb8}i)C&IXbEtE^*s5rb;Sv|ZN& zsh3y6C%|=9`js2t6+eHyq6WRrS~}@!iJre&X-@!Oa7+lH5Y98C8@jdRx@~?=9~X&| z{b`;l!22`W!@DpH=3Bq?!3$G$3*O-Xudr&{136ODt%f_ebc z<3t6AU(Sy4#ZiQms?2}7s)EhBHY8R%^H!x!HZQeSp}CtIM`rUw=Q||>=7H4>zLnJ{ zdEc&ZWPV)Z0L<64@A@vm-!O2ku7pp=SE1^I94o+U>7;8S`1Pmb>n{=>jQ_5`T)OQk z|LuZtUDIA})^}mvJLviZ?z;wX(4ORz^B5Dz*W1@o8H;FQVqkfd3T4nGbz zMYC`d@X-Y=1|Nzc@zSkk3+#NY^@HO74sCNbzd*7KVEr@vpMtTQ07f?f(8?oGW?Fy^ zfK{WjaxH@+@=p;;P*cj@6|ZztEHlZK3{G>(FXAhOW8t@C!)U=*F+9XK=nT=-QOkT% zeKd+DVHvnq%*Fv2uT9jv&}A`EQ$xR8@Z$5Gj@tuR?0=}yns1~eB8gFm4I1(}D?^-=x5JY;)8z zR&;$^QgnE16P=<*fKy8X=B~}l=A(#9Y&uYW)sQ+YZW68cd)W%YN zx3==v<YkpCZLvf$V}NY9G^e>q|^;-Zot;4(u>nyQ-+3=sGs0`0elPLs58mkemvpcdsEKV;6 zbm}kq?lN}tG^b?FDv#=Zjz}vnQAp@4yiy!sc*Nv;NWP>irwr(*S4?6laF^JTP#p0( zHde)EN*czZF!>vdvLPi?^4Ta#vbF7~Gd&+qiCx0IhC|`a&1hq_0S5LBi_xtpen;T= z@l6vI+FWT=*YVg8t(o?F`Q%bhGpzhb5fy+IrEVaX5#{1cKqDBKbRU&E(M>}Xx`7ML zMZ@pdSc`7ZK!?{thj-yXH;AGdTF?#L=mryX^hPqY;Evc#7jEEd$>`R4VVZ8e{Y{V? zT`c^L$IfV3(`c;mCKY9LDpjZk33S5{HJYEz@gi^Apuc?b*veFG!1o>s>(EBqZQ6`F zE2HgrsZf!QacBgmRnetUS475SZgUse@uEuT*cej|plaRpt$flIO<>N0*6V_bfsgjB zMwit$KQ^<&813t%fb#87R~j&9LuqyPaQKw!K-Ax^`=&&zQu1aWEH*|u&VX>Lp zOk(VU(*~o`6_ejyqDmKoE(B5mnVcE-1*O}h2S7V(+_ZZz%cO{Zf#jECDbOF*53naL z;WJrD7>bDcCeU_KVuTr?X4tvo<8O`iGK?$ttM2{3J49en_a|8&qe9eCcK3 z9Pb8}^mH-PpF#=7uO!i8rlX|N(>772M)ygVbPD4sjtcTzsyic#FO=ZO$vc}|!AoN77qF7h8O1ASDQXRd? zbD2ZT-D9%4EG&Pnm~&jO(eiCp5wNj2JIrgv?>nuKW=sb*v{Y8K%qr){jt#p$^pTyH zox6PSD*$q5^@YLbR`=8I6{=gdW1Q>W&%;GJ-OnRHn%oCK!8Ebz8@n$}<4No9b@1@hRnq@eA|l zOa4Xkm8Ftf(5Rg=R(|+PuCm}rKZq&6E;7WYuY4ZhSXWow$oeQL^Tz{% z#30^uXT>Nk<}D~I*~TPD=uQOf)ezg`(!8X>RI58qa#B~huUQv>JHa5;mroAw&LdFK zPjml|VAS@=bq^96_6r;3Pm1@${XhJtwntKXBJI$8UU)YRwn`PZsedSD-8mzKP72TR zF1$MfTSec_{XgKYw~db(L;^QJ(lBD2NJSsD2^jZl|3*?Ox#=V(mXTQN|q zeJOWaoLF0*zJ8pl_K*xXk5LOEm9i%3Hw!0uvnNQv=E#WO4NEfnH-c{MPb|)gEQ!5< zC9Y(4Ux?)4FQctp=>_4qt5RSUf3fS;qOitQX~q0gWENlt9ocd__XExChIP!d2X{Tk z1Eqja0~gy>b5Y-u-zqcij;KzSf&n zxhQRpcFO)RwSsdu_CP@Xz9J&=;jdMdzox1?etlU!9X52KE1ZAVycHO7Qr*c4!k*vd z&XyJV!!@d^%_g6N@AF`EUE5wRhv-PJ+)XB!d}A8Wo_{Syy%7{fflq1*iM;pOx;#$~ zNw;BDuAa~H=3H>pt$^qCx#Vc7wt+m7bmKv}G*kN?_RFy9VPU!XJHY~n+`~-|V?iA48@*5*d&02})}4~hPqs0QSb2Or zBvK2EA*xvx#u2%pc0?{XAB~2c^9Nu;BxquKa_Fe z?~xJb(*!Lwgt#^7?`e!Z=xi7aaVxK1m@X#@I>^SF=U;vJy~G07Is8(rs5mdBI7m7F zL^#+6S3S^ypg>g4-f0u*o*UD`#X4|363mPoS0&ox1mW8(CEGAu$M|v4pXYRUv&*6MTJL(3WPcjm7a@P;YkPRH3i!pM zwo)Z|J$XcuL8V-uchVmFIi?(Aot!a1cjZ+^uPsBezuXFY1}^{g$xxCgKR6?N;t`Pc z&Dn;B-|T$%g>+g_b18HRM(j>@GOvdDn3*S>Vhrwaf{1#cSYoIOR z3M%n@eB^E8+fHE>k-yiJb6e68LX`mS{GJk%_1oH->#t1bk(fb6S&`4=2>)cw*x2A( z#lB;FPWoJAGo#yRh-@%mWC1QrKNukJ2QExI7|`fGmPKISapulyf?>~(E0W9|Dllm! zk}Ucu;|I;44Uapk*K2_c@j8%E6kJZf`@)91j(A^Yj4AgU&KH8oNN2frQZNJ{aZzey zghoo&QBHj#RgqwJmnJh|<_+dn% z!}49S*IyoaeA8LJ?@1>L%T`!SeE#j#GGS5(^CSC2FBLLR22~~9w*)F2o}{YsJP+4Z za6D=H6zbkOFXMYswuGB1yE2M?12mSYJZW2A&nWIZJV`WVCh1ege=E0)`S+fGn1oU; zqgJB*H?QKm>`La0EZ@|NDg58GE6p*wCHkq*=*G7zbG%h6#;;J4Vgx5@sSxSL1SxI2 z<#q2okABJ+_f5DM?=1c)lk{7vV#-&^&b1&4OAOpQjF{LC2n;Is5L}QpMl>LU_Ytc< zUs444OmWo`w!s66|4JS#nO`G`^;1#JCg6 zSVMm2wV9>xUCaVYk_m!i7?P2Y4&%=PV zA%d;>T7VIgIkbL(P6f0o%ddh-EyK}#_ZNcYEipgB_AOqWj8HSED%5E~tQpf2q2W$2 zgX4!Vb0?X>ZDAx?eht#T%McQ=Knfwu4Jliofe=T_@If%u5bE0a=CJVvA_&18j9;60 z?lrzP-g_CrQw*t4t$Z9{G;}DRI0*A-fztsaZh_VTG%qV~ifJsv=^#%^k^eZlKtwH{ zS*_q{e?C`#fdofBe)*&KVU6;sKab1t-$(n(h!^Gz4?0l4AktHAE1VtPDaV<@+KxJw z6Z|>n0DeKR9phMp9KKq^@MaXdOCL)t8&TLj{HL5)4D?%3xiDZ2cJW>uZGGtYQQ?aZ~w?YjoZ` zVk9{UQw0RtfuopakvwwrKYP~5M)Ay|#frXbQ;$;m$fpHJ7oK0R#^BA{ zN`hM2UVuC7e#rO$rc|i2_VDn@gE$6R>tVyE#FEhr@(D$3!^sX30r-+}xw7QL3Wr<) z#2Ru#MSTwV0hk(!yoImUSf0`k$nX|rI8bHAnaiRNJlb3%0-oY_M9s;$75NRftw|nA zWyY)&oH<|`M@q?n3loNW*T@gq&k2L$sS0}52tM8kj!G-69v)w#J>)(o=9d5d^TYw$ zI7+|Z_ZsdY(>dM;S*M>v4)o{PAC$Wai5!^DiCpBmiU!t5K4QBlPCvPWbwB#${dm&* zQ9AeI`0mGe+)n`T-hoOZ*U+ag4j~j8P zW461GtzS-HashPWk&2dyh7`Vc#bXt%m22*EQN?t}TlLl~P2g=YQzhhl*0i>-xx+;& z9+T6ZRC8d+pB8F{(5;OzeBg_x-pgO}-H}$ZSfu735=HP&b3xF-I~Ydp6k zQJWg9^b7@$F)t#6KRebKZwcr}1b^D7tv19Oiwy40tl2dbIL31NWLzuMJb^0`Z7mW{ zE)w-zBu+pi#!DoD0QDge$@yp7-L_q_DztKuelH%v)-EuIZP5LDzX~GUE?xyYK?E*# zxNEcv&jGmOsIwuaAkyv9QW)S!lFztH@_PlRPl80MUMC=Y_7j^Kr0~IU37>iwm-hCX zrCdX_5NwOd?(#Et^J29=#d(kiakxfj{aIQN| zmPJC~BCR`b5K|}K$=6_aiy(nc?2~Tf{)bbcAn{Ht5(L&hV-Ood?Cxj3rH7Emow)Nc zyWJ;CFHbQg=%gc+7ZM>9(7V#H%1g?7_a&$jx)TrMvt4j}xwp%#ee`!SFQP&}<(fxYh#*4#JtO9p$Dr-GMaP^_U(Zi`KO)2H;8JW!IZ zgw;iVh?IE<^&-h$#3|Dy-_;!;TDm)LNfE+#1>*f=u~>4-c`0~>1H^Q7f8X=Gltit2 zSk!|EUSVEG0-v4sj4uVuBY;nv`_&MvIUo{19bvQ!5xBx~`(&~&bQ+3#HwAGwoAGW^ z{@qN=yJ-t|bMM{7mP^!rG)3C45GeOXn?>v%eUzqxeIY@CQaQOk^;p;mXA?T1;7e}@9ljBLe}tm@=-6pxXVS{mt7-c!jrV3;LE%(AItKUbO{d# z{v7g7<{2|9X?PeZU&cGR`{b-&UVKh@!t?`=;B!*Vqf*kbFWy!-e97+=f3P~=HL)V* zOMj>QgKaAkJ52JA3>PyMY5W%}E4)7nTrAm9wqXQ+)S5}Z)@|Dt3?{zv2VUgsA(D}q1Dr{sW1l*<=iD_l~UJ7lt7G#|a2P~2jbi`2Fv zsZF0y-eUV4iKQUo@ivn2QPktbdmis1S>x~VDR7Z0)3L;p_C}F^QGJvvqKMjGat}}8 zkw=<{GBawUiOr)o%`(Mg)KO0t$r3ef?xjaPdld7Hwd$Thl+zcVMVv(W8D>|~rYP|* zX22qYN8UG+q$fxn?R=+&)WOe zy3b=7qMP@Wk?k#cpK9^LR|=Y}WpBS0-&l zC%A0vNxv>z#U|NDR7~BHIHM4dELF_gk})H9o_MvakNP^9Gb4-h7G`s=C7F=bFR`uf z9)HS={0_@W;zi$+zZf){49ra5RQRJM6c_;3qCO@YLK^k2iOPM}%N~F4_$S4(X(g8R z3D|%#RB~B{5>=P|`7@q9ujp$h}oRPDSqb~DO2Ffg*C}_idmH}t#dV92NPzQ5n?n=~H_N&Xdlx=+b!G`vY zc8DB%>}U4SN9@ss?BQ1I@r&#*-FymmmiP1}&l<{JJl1=U^*eDx!KbuU+c8D#cj|_c zPubIQh8J4zsY_IkO3$^8Us$MRZJ?g;g9B(|RmhH7I^Gpbd7wm8=3P#j!XudUt4K+w zsDf|Q(2-6s_g5KVIo_y(BbluVjZSg}dkUYeoJPqrc7guvx_mBnPR9qf8X9GG+5#0u zqt5-|btNm>UKReMLH+T@GLz4VN97zz|5M>EP1DvK)$PwPR%+3%N}+AY_AJxa=Bxnp zMjaiA8q$oF{k1pQwH&ejQ*nXfqC>cKtZxJS6i#Xe$?xIBuA;aHp{5``;-91j?y`8 zw+g=(GpUMHe9-hO zY5O_*il`NLHhD+U=~u_P6zYfL^s&;5pU8F0Lz#eklJ6MgNJ=7pcE6$zxbs0hq4;P` z=g=X5P%@1{Iic+66;=R9GBH&@{znF#kVy5C(lRDZ6)5a*>%c8 zwE)VFOw>}hlJTDmhXGT`b25QHY1cJA3Zssu{FSxN{Smyam!ptZmb^}J4$4upC>~i;_ZG{MwI~%>=Mu~6l(Q(Q{yDx*>rEV- z+^INUx;yN*9(WimmOfZ?unuYk-a=)hi~kQ*Ul~+K)NGp&T!RFc;KAK3gaE`*=<>3rG;Bc;m>j98J@_0nW2yrQY$js_CZ+N=vxZdUy<2@v+q_&saK7zl*2GkDLTlWIHW3PQl{ zf@K#Slcz~p?uUZDr6__hYLk}-q2@g)A7pu*VnPimQornfbV>;YMX|EUGGY%Bn*mX5 zgQ?hKQZ!k7{TZMMRwP*przE~XDmF-}DNSH=*I#zLRL*^@_z6?iK}0e$2ce>Y-#=w{-gd~axG&AXQ>&fEu-5=HeiEOPkKtK zk8Cs=h`^cihF(=d%lc(B;PjJTt7;!D+XgalHc1z{DMGdXGC5Sy6(11Dm^YHFYJvVx zk0$Al0u5G~EIUHo)w8(_X{)f8rOL>y`{Y4|RRd*60*U`Cx?8d=;}Xcs?4B?+uddZ1 zT1d+5oiKw`Uug-rzPFy_uR>WCFQaTt(d*%_meDeICHRjh5BhTsO>GfS91H{ zy1CP`Aa^#CA<8lWRO}Y>DaEHp*ettxa+#tb#iu)|ie*{(_R~|EPj83WMzxs@-&0n( zA;U6#L)uH1uc=5imkrZXYPm^g)eTgm;kT`6XSE#Ets(WLyP>MwhA7zKml$6}FCXAX z$rqN#7i7X0wZr#YWfO;wx`L!|tRAAut5)%0G4{C6WxvJ2DuaJ9@p!-m!r4Tst5AVg zIDE7J=%B4@AfJ9bcmsiV_|Po6YG{YZlRz|p261k}%wXn;o86Ic%xh*_)wCn#$(n_r zHX*Hkx5F|YB5;gvrpsV6?~&V+CU$fq-9diK69&qd6)$FtC z%N!xl73hS}jK~}pzK!k}+-z}*h}YZy({WYl6yGgFpgVJSyIEz`@)R|>i~6T|vy(2C zTb9heaubR!y<4oz4zuH-F1%an=x$Au%_;If9^-%>#Lj_lRqhnmExomOZSU0au348k zdK7}(^zHQhU5rhupU?&~{HugX*;c=fmMuRGW`yXg{WOteGjo1`nk zO812w$eI;&(KJSV_K%uabcOB`tv3mq?RBy5GOhQ09hh_(76&K=He}tSKuP^fw_&aa>8w|^LT?;?Mf6|IGsv zZo}P3Ufh4WczJmL?;!S3B!#R8V=wrk*Mr0twsJIj_vT*d*}@l9B#CS=8gk?D!52m( zHoK4LQsUXv7ukL+{anREWj%ri!sITq9+o|zb2a-w@GR?#E0W&0W&6PQtm{iElHIt2 zcYfRUp)?o4poPrhJoV>laNfvi1zdY1P6)R|_`Te-J*LHg{u9>3A$ zbwTv-4=6B889cA{CI%8j2FM@^=d=&*uQ&jZCellL9{Q~HN}S!74T*oi zd4zwi^>O{XPs9PgMs9$vj^mkxXSI)2aIRQ zS8Rjc#Y-Ujf&Uf7U=r9Px|et*+UNry=?`SyC>tYvIRo{fw z{|E~ws-%duf;95YOH^F()4!fxp!_%UobW$1MJRfKcHi7Y#s2lia6FOHzS-wQ|DnGA zR2S&`4KVt}s)$d8iW`I|7HHJtAS#JZet=8~Cu9U9uxjH|MtmAT+JW=w{+jYx7Ka8Y z$S;;vD}@3dg{DWfTa^`i3=XARxeBWQX`#p2D2P=hg?bFv23E%?id7?pb_@?10O!}f z`I!+17b&X8*eG<9it$rMpqXFzCVdmqD4d&7V3o2abs6pgqIIB)UvQQFISx0XevgDv z{3a7{kJ!-zG78_My+_drwC!;<3jX*R7Fo1Mo?LT@8jAZZK+!0=N@Ix@iq{kH;aih~ zV#r5|z%N@d4w@mjQHX5c%0AK(e~LmH48%Uy6cltNY>@kiWpqMZmKj`+vjtP87f>%# zl|-%^RL`i{3S+$(a9ox2!Mf4#B+3DA;j~xVkW^6Yy8I5bK;7fzaFXo zd9wI^xDhBC&8hg+f_#Lb2>7+&`ntKCx0VKXynnQx0)k%=uFHFr;J$~bea#unq0K4W zQn=k3gF|PLF{1Ukf_W`*zZ?CFKsq5p;!b5c-@E zSWl%XgKJ$}l>~2nXv~DYP-ApbqS^Z1n#bs*L9-RXy16O|V^R@u^891g4cnYTjxV|k z+Z?rG^0yblqejJK(HGJq>7vq{S40=Ix$G^sJ2+oAgB<&S4x~rWfzBU$>?pc-K-eEOEJNUe%O77*P-`>&t! z2@pnc>A}mXC`lyA{sbvleVw+_nQFO%zZL| z{dSxEq7tn&m>uU!MMXl#qt??v@awbZ4uIMBMDMp+^Yxb}0gU%N=J}40-(w#|iujjY z3UUJJn7E(u>8rc9BExmbLvnWiNoX1YTB0Hfp622ISNNasm6E7N{Qti7pW>T*LGQ>( zwx#C?;&Yki>0eAkGd6L<)-HUC6nr9Wu}TVnEiJ&z;j6}b(J2#}AZ$<>!XPs3gDclz zK-)-^rfNo-^^tZ)i`yf@0i&~C7*P^{@7d(B4^34P;PFm3IAQBe4~Mt{a+D~f{o=`2Y)?K z&98bKhJ2i zz=z*Q+cDK08^0KUm7-~Oz3|&*^tEz%ysGufV+Vr5(8(kJ?of@<|K>|?;&z@qIM)bN za1+wbiM}hH)~+^Bpinw~unL7!4uJ|DhW`rtIA7eDHwnFu75L2JwRFW&YuyZR8^Nf9 zQ;ayxL7lDzgA(#bdLDc~QwZ7%wJ4F+V*4KXA0`ybT}q?VYo{b%bg%kHks1d+S&{6u z_W2eeS1_G!Jnhau)_8)nj0!W*mdP8|lWG+b)uTk7dY6>Rw;!9UXF(^(6SE^x=#B&z zYt3C2iRz}1WVZpDItvu|FXzD7g3%BiEd!&GdU3DCg5oG-I+ckmS1vJ~g!wc|nLc87 z!nws4a=-OROQ2=G?h@_XGScu}1FOXPlvF#n!~<%4Rs$VSYZ!X=YH!@r)GI6z@v>21 zaR?>NJNqd>X+y|uuYAA6WJG%d&B8>P>o6$R``Iu*QhC@?>-I1-y#`E1_}*TYO%LUf zTIcQ54o07fgT+PEHSa7e6l;?zJzrvxI(BP2e3nwztUTp@u(OJEwqIRMJ>O{PH3nv? zRId7hTpwzA{8_9RBb(J4EJvm}HjbjDPHnI$QF{AAZ*^XOw-P(WukVpv6@tmEPJb;v zHjzHEy4UD9mVj5Oq=3Vu_#@>uJK3G~95pQ#nREzhc7jXg_&D#IQS3Z%bT0XH`~1Fe zL?+bdYX77T&gd-Id6H}VMrYN;Yj3L=g*I|g`)-1FQ>T@;7fdpFfL=X*eX}sXph#B! z^8EdYAH3wobx@v}b9Qexx-UDmunVs}223w8?m^iDZ;!|Ddo3x8c-6FJ*}aI_c7U&Boy; zN=d|>Fa7!`G`fTx+oyRMy(@|1pu+k61IES9r1}?Vb5@$E;v(MK710t}Z#~zjj(lM0 zf%@q@FOfbwP_zN67|jS{p;d9G%|v0yUL7DR464jFYVVim5^jn>vAf{4F}SQ>-gkKA zz8enCj-MOKkTF8`-E$i3Ypr;BY#9vVUoew5n8XRJXvLXib{7~`yt37ef&M%WyNV&gm_b-OJM%SB2pr)lyrd&fqFGn~+>*(bfcBq;j@?LS$e!yS(L}N1 zkqju6jh(#GYG)@jH<T{1sww}HY=98IcVytKMH)s(VXtgU^#LnK?D3x=SgSCc|k4il8lR$^Au z7mt^G-0V6XHH8GHhuLmb`lpHr7l-X@2IeP5;b}ZP7(nw0%pFkP60i6$^~T=jywi0d zzBSLDo3O+U)XUm+pRWk@bJ={H%#Ir+e))jid;ZMfVr*KvW=7NERD*bdCc&+5jM*53 ztea}<_lZ+_8tG7P=jbq>BB3Ve!bX9uQ*(ogK;kd zJf7^w)Kb(_rnbh@yB*C+G>j>FVdPAb+Z^YLJsMnezFo{$>?AtfqL!*HUXbl6)fY&v zb!pMiG*7}~WSk2B5J=&kc4b^@Z@JvR3iNX2UF)#2;BnsSjY$zYYtzNk&aqk<)#hK4 ze}x}vYV?U*SRfW4V5e|6IufAlbRh#8n#SIIhIn>6pX$&Pgv+1qjJJ+xG8?#Ban1D( z;*Zq5A)u07qxlx$#(U7p)G&un22K)>P0euDFeJ-XjWu)>@oxAuZd9=x%{5 z+uFu@uP)*WIpoaT;`n=T8tKN>=IZRPo#;}o_{_utA$6X^q%=^muHH{Up}&APP2;PL zzdm%PKn6U>FT!uj>v_mJX`Y6VBzt%SRxS^5Jg!Y{T_hQwCw#lPqUa3cMUly0)?U*y zZ?jc-PGWabwh@P5C_LGCCJXL_wwL5Rga^KldRp>sRn>&|si9buK8UQLj6qG!)gF8wcAGgzDFX;L+Qti`Nj&u+bnT^oa@5MXle9HynL^Pd zk*sm9O+oqss_f<4p9OaV!uD`$X)B}z*^=Nwj1Kih(p3XCFa6UMceT5m9fSGeRE$M8 zof?qYbAX-7;CHu*8dsol8lz3@DGszivg~r|V{dlMQ{TT>Iy5zWX)@3*wF32b z9>?~550MkCJxcto2_RnBY=lvpk6=$|7$*;}_UgMGbKX&%kzKc!z=U(`MxhW)Ay#>xjMv8Ys6Z9J83*bzS00w`rHpP^U)u!#zTR-M# zbMsDvH}4zV(tkWqnE_&JwH|3dG2%{jbb?cthV&NmaM5$2RghaxQez`t##DqNaaD!E zP2$ZSSjH9o^`8Up^>MYR84<&5c zGa~j>%cWfzkiQn3>SK``5Al^bm>~N3xisg#K1o3jAv>0c1<*FZ*R(5YEZCvzlm$nL zjHPDMdOwe9K&x(~v)T^s>Czh)r47U{zBJRI{(0@F-Ct7NKAd$xma zh-R3C+n!Fbc+Oz;&m4{&KucdMgT|b!r5pH;8+}<`p+<`jU&TCDMkexYH%Qg@VM&^@ zn@>%Y>g{&FddK_pr!%DMP-F>}G&+x6NfE71x>@1@bdQR?LWLc@-u8T~g0CoRdeeE^kGAxr% zcJ1;)7=Kuvhn*K%s(tAC+$98o~P^cs{2R8?}|<`6%|`3g!_OFk^! ztp6Q(&wTf43f-@;dmk8XXN5{8tPA(xyHNrxw#TfWe3Q7hvSB;?#!!?$w(hdGdZcvb zdr-!@>}u%gqVwGYy!|*tdeVzVCN#N}io-2+Fu{|gDUSm)br|h-k|v~LL=a|U71DfS zpufT8eY?-RGeWKnD-sfL z1hr>7$X&_UOpji>L$|SgS+ON-{;=c2MVraj-c0j4^>Ojxxrj{)&pV8=U_5IaZch`h z)&A<#kWl36`j*FRsLtvayO2E#9Ni9=X8~s#p-0sAusC*&fFz<;LrW>wgjFm*sg_y* zMf;6ResKGu#%#xIg@KaN9BSmS4)-uHWPuZA?9~B5Z{D_8IFIDN@Z~bOfw4^97mJR3 z3gC2sNn$3YX{*jJ-nda{w3J8eAhb9N29>4x{^bOaSW3>m zN9#LWH|_tmWEo+VHd?=hiU$^wVgPY?Mn-e%PwqY@&Nkt>A9*Thz=jRRjg-vUXMY(z zMJ%qH3=dE4T7u`QNQPG7Y?x!N7z^M~XKse9;E`OR0$X02<7XvSW)S_hS{hx{g9>2-SYEMo-uPg^9Hj>@qNgAnN^sxhsJB zp#FJig&a}YEc$a^FXrE!u%c^Aldbo?{oFJ%W8<;DinEAIr_WbBv#ywhrclJMtlyKS zonc=*RQC{XWn>7mSc+|bk0VIIBer{y-7Tk`Wd3n3-C^^L+SdHw-%)9UC$Frux=82# zGowb$rE3Za+b?)w*&Y?ps^rTJJ2p+=XfwzOGu|+>gD-?jM}m-Q-RTh$E@?cN`nBlf z&#sB84n>^ix3po#(HqPy?X;d)SMh+1R^t|?8yJmLQk3Hl*9%f3;23Qx* zJJO;d99{vx&?orLU(&n6ZyB)VLmD5nBfqXOlj3|3Cg#Z5A6r)M4PD%~^q-;b|mCQ*v{!OBuDD8_qD$ z!bfi0S~2|5WghtJgkXhoqS}Qs`Tj7Qk+zdXtNGj8#{#GQl_&X^DBg(L#`m;If%y|; zt+BVz4ci5##5J9Guej{fl{pQUCSO5%-cKjo+F(G%zv0DU3r_gqTOsWB&CHnV^=cwL zck>ZZ1?p5fp);Ph|`@W7}5u>lz7}a?E?}`Fn5=D%L}!I{}#SPBz+!y z2CI3I)C|MdFYS1R+5qyCA}*QCVrgTO~e$3JJ>b>XGoWIHA?ZrP>QYOh2= zqg`ugrMB|+N)fYv$1!Z8Q;Ww)-A=X%?>&mwU2>@=o^(I1-P-geET7coao%Zq2s8N3 z?VKF14#Ke@L>^^rdZ^KUsc@L@Vi=U%NKy9{+`YXI7g7*TS(&&UeLQtba#=dT7rbm? zK>@;|`em7nq*?ld-0nt340xOwDv9RL1<4yJS{?f1G_n?L^AsNIieLWV*}~dFY-UcM z$9bp3voOE>>#v*uxoG#y|J!}Zw7LJEWS8cD!&|cDl*9k--TZg)$&KCLxcP;{wgw>c zdoFy#s1NV!dkZEMnPguWg0AR% z#69q0pOQvG)AUWgR&ZN_lDX%}yvvCgXl+1AaDa+=W)Ga7qG+Rka)2}1JGu}^aBTKJ8v5A!V@u>8ycsM;WeMX}4bko9eu(E>? zB&`zg$}(bNM|TT&Se)CRZe0aR<%aU|CE0aj&RZ*UTOMp!Q5(44O{1Lg695sTR*F+N zL9z^JtLoQ+PnpNZMlCEO!TdVoZAN8=2frjc=ZfTWo+{~&ss`2TJ?d)Dt4yENCOh`y z)k~7cHh!8KNOUsOkaCHNmx2kinmw$n2nnuvKQ&0_tx>gC3xF^YT0y70@n^Y22lx+1 zUdp=e?~;?6!6kWQvvy1c8Nft2fzXvW3j{&Q45EI*dH-4@X*D^1cc)P+3Gx;$0oL4k|B6)-bp##- z5%R1klw&lLCHgKFB#%x&ldnz|47`<~T)IM!t;<#RE|Eldjr!+uYWo}2{mE{)<{WI_ zohMV;jCRZqy>DvAnYo&7xBtwmGt4v9)3R(R>F>xhR?XF)X01g|=+}3hABZKe#!7OIOy|2sX^z(wRxI5w zElm^qBZ!>F!hSwBWnA@0@5h?=Mq_DpTX}YKOk|&Yx@M&F5dFDdGYD4!?l9&UU|KaZ zj}Aml%Z`^gTbmi5nwy}QJrum%8b*{$X2MJ8Q8&X#|G4Go30%oc5(`7R!sd7R23 zJCQ~Q0z5Ta8WTsOp4{AuNZ~T-=`)80;%jKw8>6zu#TfWCE?1nmB8Jcu#_t-~TDp)?& zc64hBc2HRR4HA*a8r!|!5eJj3!(YXbA{3yEezswRRBeOq(__8|t ztOtIb?OQBYF#t0GmL@4gkNaIXgG^vZiSG~X^0>-Qf!}TiZryVt$?3C}Gi%4Mj!Cn< zI!|)yoz+IZN}DZ9L(I$thhmF$i)?iGUvcdK`@_z4XkS%cs^MdfynkLUhkTL`)Sc68 zZ9HtZP-i2;)s=p2FaDrl|L4*5kQSX4wmcOJgMKOBY3xXWEfKc@)!0HQ{>FKGquDs5 z^@-8CMqthUy2E4eFaZSez4Cn_V#O--R*N2^mu z*UdrA@sAm%M&-Y6Q9ix?XX71C>*ehu_oRu7i_vNKpC=!}Z?CMwXKTiZz2;qYY;Se~ zyz0L#>}%Ac!*VD&1eWw?CXPAxLdBA#ew% zwI9yz$4;lHaR9^lpX9Uex9ls=>(2uvBCH0ytmKNY}(Co^mBy7P7dx$%&r zqa45lXS&T8 zLdk2e1Gqb#umX;|)-;n(PjtYp_{>Y3%%h$ro@4v7C>rXR(YHCUN+n#IVQPj@;nmNO zQFEU90owk|Bws=0EYef!@d2oguyKHIHhq0x-}7qU$nKN9$cA$pki$<40sHM3-1g%h z{XI;?K-#c7cmC4htlmF9Dx+JELBj7Td3as$D!$OT!J;X&u(RN5X8Qr;2X80D($;Nn zi_u1DZafd<7ia{pw`+LtMEOb&uAY!&WAB-@+@!s}OiEE6CoeQcta2z>S|*3qrQTjE z`nx!lxirI+A*>MsJU?Gf|6==J2FcY#6Rz3)v6^ZhErr=HPcL$1)jgD%oI3EJlWePC zs`OPWS>U|*F;-u1re+tvqj9t1X={`ZVNP5sDWQn}eI(A|Ca>=hMq1+c2c9aEEO~2h zle2`Xe%|W!L5b3(FpAL0B`A53=PKhcLj7?l;8!>&3d!@UkFi+miHFeYt5ki3D#+ zTeL4U$Pb55NKNY|gzLs|u~`&SurrG_;Dtv2Q0@PE@$B7gQ%l>vhOp)~JmgfWMd&^B z^!52hicTSmpBUBJ3UNsQ&`drm;S$OVZVycnyfLzQ^Tk^)g*(+)BQ(AiD)kx~9hJ2^ zf>6tR!}3Q47GRZ;)8^NN7Blo)r>g1Z9Oi4T2G`*;CpqnHIxpQbr=u6qcfbhs{KrfO zII-3_9Lp{vb?=qDC_BW1wCAy?C&Si#&pPR?rR$ByLu-0ZXRnBF1i@8BGZ9hd352)1 z#4arDGXlWs-=NrKCbCmbxKCr5SIv#f6-6nW*)iP!7&}V>7f(cJ&ax~E1qnp`a0)hA zb#gkW%53N9$I;d0_Ew$z;O|)vo1IxvaC@t`i(NW>oO=ZEYAd#{YB?!tq~GXWzExI@ zsZctghFr}`W_Z5hiWpVToV*sPeyA{=Tj~u~rM0>z;&m$?aV9ZL*eqzBWwkGNdW=?k zo#+L$H_%SOTz45JSNzt=g<@ecZX!0Ow-MJ!uh4`N)w%8I?xdO8TClLK%Q6(5F4bD( z^pHfWrTaKhZc8J7=lu;+B+VlIl3RFrHv5lC|NB^{)3qy7=lEywjbpMBa}P%%ZkLxL zP5vCav7z}-S|^jb9pq9w?rV;ER~m(M+0sDgzTQoWO*5E&>mr7pD}R1rU`1$#b4j0! zxtW^Z;@%)sP?iwdVRk+@@_8D8j%4W-UU>K?G}8L;Y;v5$^2TNrZT_e>Dx1_%K|XuD ztQF@jf9SMlWjvJ7uK&|jvwy`re5ODN@fvV+kr^Tk*G{a7D&~v@!B-=+e~PU~as>kI zTi;pNi_Xry#ABfUv;3);cN&i>Ws4sZ6#SOBZbNB*f^1*tD#T@JavlGKE{^Qi`|9N$ zp*%fp75MU^dMsJqp?CG{Iolr;b6tbJ*y8Iv$HXP#Q+ zP+IPxB(rr)!~ zNR+k8##=NSqLu3!6BA~=`%6|@(zC~9Lf9-r=U~B#1 zWcnISi}HGlw+WJ2Y=v}RF5w_AEuC<@*w4pP6e>vk`msyB2+WK)k@Dkr_mkC&s=A5( z-EDbRKB;$KWGoe{ndM~Crl3W48uc3$;8Ja87Npd|dDP{YEgTEIa$Bm$JM|?XAn&aE zZi|L$%y1-Hjj^|;VKgP^<=`?O*oi7HUaCx%98!h!fyf5~g``o@66snq zv`^W6R8p#3Zj$7ff)r0mgk6*LTJ9N*Wt`o?cc%O*66b0#Ub2&4<||k`Bth<#9ywy@ zn+rlSi_Vs?oNQ0mBJW04mO2K^yz$SINr2+ZZ-gR4|TtNB3{iKjefXADH_neqrOhQZHc#rBK|{ zQo)E*VIY+Kb+;8f>S^W|$UHolHutg?R1LkR?G#>47rnD@&tFU%GZztH%kJ%gBWxG6 z;ri^A&<9xh&Fo|Bo079Aw{x;>v#zotnIgZnd2g{&gIFJ?!gN$3#DDHqS}vWW{a_GQ z4s*3xUM1K0qAju9{yr97s$!Y~9ojjRtL@$1X-WO3N3+7=Hq+%$s&2KHUR%t~NV{oG zWAFRBz?OGA#)Dsf4WN)hbFfSTiTt062?dNF)Pw+9H#_Fp@4v{gDbs8^x?8tj@2)$cFE^FSC=)IzG-Xwb+S%oho(U#Uc-e zrOE_g9WWon4Bk^KZG~EiG5jw6Z3dsxvx9ipheqzWzh&@d<6-}mwIYa5)5cuE@>A$< z$bPh#N84w|u$>2Lp8n1O>;k9Z;ahVwPLlVwHj;J0`}h!o-#%-<<|^6q$)7GLGCits0rHHZ_0YXzJR{C?Da~P$>6(mf6h##I_(wy{&&q!sE31T48mrtn z0L;pz>{UR}uU;WNH$xjp*=?}Uu)keMdSPun{SLs4t{6_zkPA`u=-r0ERSf0cX8sYs zPbQvJE6FUUE0u`(j7!nDwb$sH=RWiCr(t;~=R{TOF}o9AqP~NWqiX*-Qh7U8hQpe>{ae{f*VCQ2ICdwrKJzKwA3O z^+8jW;nd;OU?nXmX6*;eXnxjmQis`1*qXK|zh&%AE$Io@I>CKi&;f;Ymv1nVg9TOLAqw7FeQB55{K8`HcEmtp;sKPvB83!kjt_0ygOjb@@s)NpvY z`u*>X>CPO?vG?S)L&Ubx1vteZAehb8wI(c<}@1UXD=i?~aO2Y85koXIX7)(Tsv3N?ZuuBkUycb)q-p2!uBlXk6|ZzqmCN zIJn?ON8ltX^Ucoo%l7NW6s=xs(o)$hnwwCb7^GA@+W8(Yx5IzA_qec6XF3J>LbcKD z8L3N`H^^JZgT$AXZ5b%g0ly_0TbTLx(_V_U(fc6;J@n5ZIjRey9`9HzosaN|OXA@c z#6n0q(vOZUT@%oUHT+0NfDt|0q}=;_MV_H!Az94|1(l|srNYL&UUM_*I#tF|O#U|b zi853uBjGnX^b+))Pr+(FJF2!;PGEF;<)YG~a{uJ;xE65anRnyaia*-fDZ5|fr;bU> zw+!4^xTOl4`(}5L zR}nGYcennnB!nm)5%MGU6YT~h>CqILk;3nD*qvevD81KedY}C5Pcv2P;7t2P!lHB4 zvf%XNWo?j?O1nfbQzdxU&a&BP;w zcD%5>GLBXq-23Y{ z436lL1wQ5{LNf{@>OIh)&`gRD8!>YLzTa2BzUy?P27xTHsu*I*Lc6f z&+!isM9b;;-@gZul8}W!_F_6ZV6TT9|43KjLH{jQ8imr1EPYymlX>GXr6dh&v60_p zT@%!K@<5}ziB`cphUFRI%6$JG3+*>)UoAN_QIyhSNlNOmI<1!@?q68FXKM;yztr#7 ze$7OG8((1RVUmkhqAh@SR_7wUZ$c7xZ8bk=cyYo zXVEIBGc@4Fu-+arSNs~4g7g&4b#Vmf-9?~Y@}U^mtABDqF_xL_ zY1r}Fm*4R2+cAG+p9x}74Y^h*%e5YQZC0_QLa7uN2KuN+by`@uazbK0^^iikqzhv| zdUpddGHkKpf705Bk|$CLOhj!0TAilTd$LZC-Lusk)NR|90#ellB|GsUf4ClMKqmV| zkGT=K7K&~r4+6l;`q00niPai!!uNR-xvYw-uezC4v!(X%Lt2{JUg&|K7hwB?CNB3 znW(f8EXx=CV$s#s4q~N>W~ls`HTPJ`&7<~EZkD^zIj|H`Ol6a((ziH+W~E3L?rx`jut1 za2B-Exap1CDBV9Y>gim|e@jA8TLcBEPRp8__1@-}`=Vz(nmYal@`Kc?VS^NMBa1{E z?>fw9r(b^Cn8Mi1$|EKj@0jipa_AHT4Y~D~Gz=0Gbpb}}#VaBl(he(s;i>|vWnFXh z@C@Io7tWnhDmTt1_U;&!X7n@dBIAdJrKN-?z&riHvU|Dtda{_>vD<~!>C4lJRss>O ze6_#SVnu&JBRoEE#F>i5Z9Nd?_l&#_+2m{-#HME(1r;Z&C@Ftc_TxU*F$2#4N})%- z&#I0E{IuVj`8o`qov3`;&d5{JEu}mc6+#PTPSk>=gsf`L+i^2_V@QLc0nW<860qLU zd0?YWa$w{QtG$=^#5YNYxZ zWT}E*w#AJ)f891Tr0UtmIbbUR<7qj2UHQv+MjRJ&J`fHz?$l)PX= z`HM|QzAWT?70%AqHZx@*`cx}@*vVCY3LcXtO8(rFB)RmWo|k0U2%Z#3XOWsW1=^$R zu?>xcO6M!%r2o8A{n_vPex1@Umhf>qp;%9N?xlmiHA?t)a`v#5#O|(l4F*Z$RH#On zwViTkf+T~b;ng6S_w6Tk* zH9EERyh64iBVl3JXefk$Sq~AhUpMO0=Lnb)2eZCBLnSxM{P_pbu{;}wz$bCNbnTd_ z{US6#DaV1E^Jpg3ut&s4aj z>Z2UrMt8t+ue#-m@Gze+C)TYq;d>0t|@(K#Zo~q?=t$) zvx}xyQ)F!qWO$M!7$Ydmju2L8f88ELu?MPE$7r!+ARNqM1DNM_6=ty_r>Y@{V75Kj*IMly4mBS#}TI6@N}rG@OM(9CF3 z(kzUMH#{6LWJq>cLpr};f%PX${uge1iBhrXL*;vmnm zW2qM~vkX}}5~UaA_y}H#5s)jWwTHA z=iV=UGmKiDY`wV7!i=HE{DW_B8EJZC*At6SfzBSSv8!KaW)2x`PmHmaSox=L)L5x~ zSjQ%wPsgmf!wA*G9XPE?RNi(gx6Ya|28PrYLl)jeskH1k8rYo`*gl*-9V0C9XW9C* zs=Qew`)CJjtcJ8dKeElf?oahCK7M+GW6!#yED;UjJ_c3_kvb)(yq|7Q-Xu9~H#&U& zMc~Fa`4rv%8`}TBn*EzV2JinQ8?OSGichx&Qi1>>;=$Vzt?a$R+cYh7_s|0a7WVd% ztdmMFUG^egU0ICCm(3w3YYD_YZh<)%=AJB>yT@QO_5n#Z=0(e}=pDC*J0kZHF|$_! z_j|w{KisK~!d@y|_&Z7kU;IX}xiK9ULODH4R|tB;?W5=6P2bH&FHCDA(^yYY>1qBI z&s|`2(6R0Tm*b6#$E5P~t;pjV4q{MSO=d~0TpLHe-*a$lDFk-|&-f%((j>q$K0p_o zv8ypZ(2PbDL&#KFw~!e-juSbyk8j2%{q(gC&#lOZE)|l-(3y|jRQBDCQoGNU2`c|w zfodGMzO*{k{*j^R@@xb6g3wfExuDTJj|1$aP`;bu>!QD1C6HN$kqi@Pgmmb^qvPk# zDta)Qdj?J$d%9F0CdU7`Caf$e1M#^RIhk~yvDgnJmJ7J-U1~0XFl$5JUKbAnQ}3DTw36Gf?(>W!}kbKRnjKW z&g$`ZPR_oKN;;=mKTB}**3D@kxRS!#;lkEY);q)08r;b+rOYE>nu40tmDH#byvE1(_?PceXZ0UprQ?p8yXa-1WLNcSk>( zp-1=Q*FNgzZ*oV;XsR0ie2O|JaDUh)eMED>-N8ECLR$I)O`L2;<@$$V3J7+C?Q`bs zAwCgRRi)ov=bK=`Z$hWPuq7J>A%%bynJ}B^c;NV~SwwyKd-_QK^v;i8ga8)oqzS{=0lQ1 zz7GcpPYs`@C1^az#xw!D+^gNkfRSG$FjroQxERK3Ag5f}`)`2?#21mj11r@Io#q)( zX?2dfGkZq%0|R_7`8ID0#cf_J4umU#iqA0My(x6}pE1s}Zm5;8x`U}C8#u9<4hTHc z_D2B-kovblw$=g0KPsgi8h<$@bl90El-uQY-2Dq0r>s>TkxKn~Kf$Jg5Ak>4YD)gO zTmE01u=rnhPDsyx?VJ}W7V=4E7{Pq3t2pLOTj~(l8p2Kf5o5$iT2X?G!C_Vf#py^i zI3%aiyP^vyAi~&9$k+@15yV`~n=`Od^D}eI;-pY85HiFoU}Uyf$bam2zRD(JeCfT$ z_i8y6&9BpHE|)w{8(K0Sy#yTyO;Ducyz+jD*9Pe$`;C!eIlRNVbXJz(mbQMMY6><; z4{hNUNm+-m#_HO{eHkc!oBWm*I^!$MtHxBy==56M??;)Oh{pz}g(5}NmE{An!HdU? zZc}PoByZGKzc>qJI)5!y@uj$W=qm+Af*B|He1NYG&!j%^&${;+r2lc(>E*k{(b4t9J#$_f;FcW?)=GkORT$6_|Qttxa6sR43I9%O&K zB|ReOP~*0bj??}~N};73vC_W-gkRuiz-H?hI+;#4mG}lnqJM)7H%QJ7E0FcYAE-25 zOR_@@uT1aUnQ*E?Th(e3;%>UURIr~p4r?t$7PU;?Sl8CR9l~UWVi2zwn*ui;;kL99 zgJdhrnjg^z&Q0RGNK1vaHi4RD=`;^>eR^1?yd0o&rkhQN5>%yNT$rC=ZE~{zk^{sT zMR%az?e6yS<$naAm);_$#e;UAb5BgugF_z&euZ^UnsPPSy9eSs51SsEKiv<_3`(V8 z;SWYib9;sK_7OMS_7k!+3;tXd&1$o9GtQF#9Z{~dD>Ny$;^~L>(};f{nqVh4DZ*_p z(GHS8_I>GU29pFfao!JRVrrh2*Fm(ElgA5GJ5(#aY#T(Go%(0k>BZTUt)os-AK*#2dnOdh;%o^Pm)4)w=d{tn@uR< zQ8{Yld(%|dRiZb=tFuxRM?=jmbI9&sH!8zXYOuS|yGg1`+5oWh%bAx;4K5<4u0{A0b zB2R%{3!%0an-ot=922Y178Vi|bhB*p#!b7SZZLLxyYHevP&u6u`RK4KJ>v&TM1|Gk ztzdg6C{FkRo7)#WvyjN35`wnZ7wC-hkbkvEV>QvLAI<(-8p-qkj2@V+k+`dJ zdHM6@)DvMUYH7CiS^0^gXbE9D2P*z0z?_j;^sN9$-w|c{ax1uR2;f)^pMzj=z4Pjl z;EMp3^dm@^J2osr&a^;RG1#~cy;N01Xv+b-HD4;Ozuv2bi!w+`CKOe3ZCz4YdVjV_ zA2?~hk0k+nJ9Y6_$kqqWZr`%ik|9b@=c8-GZ>Z3bQS95;W&?d=r07BL=O}}SJ!HE= z$t{04#tP$v($0Wh-vwv!xkVQ~DFswUJ-vp{QD8?OBj-38HjbYHsyE1Mf?GjhKXyB# z-5;-e7cRe^jlqPTvE4#^{b?CdEPq}@Mn27PgCazYuTzNw*d5adnu0PAYCSzQDJZLk z?l3USAMS)u9r9z0|Ed}?n)@!9=Mg{gi$}ywX9Zh%J>_3n1FB0tKojERwTUy8F3%%O z%fSR4;1xT3;>1CG+)uQ67o1<5Lq54yh4Z{)aFwTin3GCWvl&X`6J*?!%74uY#l!~n z3WI;(dypluMmXOS+GhoKMKEskvm2K>#+e%glfI>+63`*I6zhhNaB}w1;^Qw&JOs}T zA;1@faSB1ac8d?tbDv*{>3MQ47~|2MvE`jTJHS0`50G#Y^b3_Czzkt4@)wMsSIfLJ z@SK`JF*7&3DN3E$wgmuJbbofv2+!%sA;c=n5m+XKd&x{^8apC~$BJW@eG2jZ@%NX~n})QFg;3&>VSqftz7r zu60DfUuCmJ*PAYo;;ogD9FUQxogGhf>Uy@5UaNjHv%s%f7#D?`q<;|(j^PM8NhyNi zHj=IyDh7oG$%@}93^D}zZ-4|qqY7fAhOHA#5Ba)RO>^s=KB4p)PpwTbr*_y44N&Zh z7NO=V68~sw2#GpxNtz5!n-qd~5Es_{xr}kct+mLBF`oG9SJylCx*464LYFx~hh$_K z(K!T1ifT3|GZ8o1z<&<|y#b7&RUczk&lfg0SE!4ArLN^AQmG875DamQG=+Sz`$sd?2ao)Y;tqZ`8bU(wx|;$@Gzj6SrPR1^zMRb-LLC`1@# zq(z7-;mS}=#|42YbjqABk2nb$!dlD#FM%2%1jB6M077I@hJUS8GFa3LX4o!oP2q3D zL;FIs2l;F>F6t|3-k3mJrCO8xc6k}zpZdZdP& z)-Oy^LviYy!GBB{SoCzm^h+kk7c;}`5VcBLtSu4s^XfD2-C(Za6<#rOkC2*7T+cOn zCxvth;7@%)XfftZW2yU8LqI%~P6&Z9(dp#>x*#N+TTgcQ9#aJ^ z+*$Gi1f*7Jm8Pvo!wn)&_6>iQ=Vf=I#&(`Y&;|qf!G9`1V$k;*TCbf4NM>nXIJbST z$+D(e4wJ>=V`d*Xu(DFP<~)>%uZTlVFeB%c&SIPK$dxc?>-;JL;>DwE2}o`E5t&nh zlgXcE+BcB7$}7Bq_iN=sw~(Pai^R1Q5NwJ*lfotPTjGQ%(0ttejjqoaLkV!(U!kXo3tpcQIw-5&XX!f~dl+A&|P&1vOy+VVS`@ z(d|-Tla5f?a`!GfYn#Uk zf_$~_R1sYU=O7>W>5WRoJ^JOAs{NwpgM8DRlS;eC9PhIVvStQN8J~Q6I zPh}IPvxf)xP4g(g=wbms+xAq7ff4w_0)a9*!2Fd^nUZeU159sTRz!>a*=x;-i_P$} zG8EI}p6^cGUA5$If$4$j0n^6=f}i;cVSiV4RL`o2TGgd}dkmEAuP|t01Y3VqM})8lysyfC22vkxr#c{)Hc+m663u+|L75pSR)49~ zS#MN;pC(|t#cf`VJVY!KA$S3{=ixX1Oj0aEBkZp?O5rODLVMtyQ~x}SYc_s+6_S}Y zeBS;pABDk@Cg0eTbw-RCvfk~_#QCk-zEC^ax+FW--0aYkF%SC%J{Ylju$&wMBIYK* zuLm-uQ*@|AE~1z#FxoeuGXjA!l79#8^`G?QbWvT^2smihXG$TfIU6o|fOt1a+2k61 zS`h~Zf-j5-Gr+H6Ph@Ks*xn|3A@^(OAY!GP<`Lv`O?bmqgy#t0FFwM$(lO!cJ4gi^ z+aDcBrxQVXjobsrijUr_)YZMoO+y!&nU-fBUT>9TF}*_VC6kLU&PD-CzJHg#&o~&p zl^S4Ti-s$e``1`WJEAaz?2m%?-cYkToP>3`2iq|Ih1)OO-ZId77mO_xMT0*zMwo1* zi>b+E-@<$9HU|1{9JzDCgS6py6M0^1`G=qjq588FYSG63NIjaN1361I;v_^F`nsBcvW)V1dldN~^ybVQ zr<>e&yc4|*9(@t4l_-;s%@FltjK?z1m|K`#S#kHayj!RrPocxF5K;5n2x@-1%FT4! zoE()%Tt+afyMLnxaM>P0*zO+GfstqgEu2WP>aQSV>*!3R^Kdc4*Wb+*#}tkl@8VD2 z@mg6}KobOqVy znT|_>VL;_0+KfS#=|GfEmC6gtl~13>Q|Z6lCV}1_FMqUNp9%@^l*_Qk&kDJ>(~R4U z42&U1wc7>Tluh-A=HVt^Sq(mfQ4~T$+Rz>z9@rHi(L**QOIz0#M<+jdC983NXt&r8 zSEy7zZsbaNVf9R`I{Bu^ma=t}wRaSuyH{ACs4|A%`@r-E8lRCfHoSwwJS6tg7{LUX zXsE|S)qkpIK}W+kFthz^G~o;&uz%d(nBCgC^t%~6g1nq2BY;36HfBUIXgyKFbn6L^ zUXmiD#jUEzT-Xz}|Cuh-*=URc&QN_8TzgnuZAKWcSVJ^+a@NS?(_00~SmF@XW@ zszV1~kx=w1*+dA+^9lUinoqPJERDDFwBqL!Ofm?#Z?U2mu4P6EG_YXw?zTdQ5;zgk z0ZPFx@`R4C!yxtj68Mf9|E8JU;IUv?Cx{@FOyVtXt))RQ64bUBnPO7c1MSwYD?)OX zLVsykEdc$e=(r#KF9I;i zVyJh*vdthtWo8`;d5{Gkq>K>S{h1nF;X_7!EW*a0LrPED-rJ?h)X34Iof*K)L^}Cr z$`#QpoT8}55RUB8PWLtiVq1O3wvhe88h^<0DqFSlopoZh>ZFEZ5iFn!WT+g@_-f`z zA%&6Hdqn-h>B#q1srE4)!FQi}vu|Gf%auBeK1Gf25hJM65-b6B(cg z;jS84{1@brA>+HFJzi0xx@?mc0DnALGmCfM28?cUGGva0f8&;*x;VwBUA%bE7Jp;$ z9JZ_<>tZXo-e_UUKlgI(zmu_}BPI#vU+$VRV)OrHe@xB*rX4@6mnPvsk>XLo8#My| z#KNQwQUh7fZ+Q0T2&O?w%#fE1fT>)bO&?4ce#im9ZDQG)n;-x7fNio_U&3v^s26hm z6=f6$H>@J$wSu@wVsTL`lZ5{k(xCGcS_VmQDXweXDl7^1|);l&ZM zbGZgJmSQ6u75B+kC#D8`rGM6F*zBQph0C|!ST+gm@&d079k^WONlRRwXzdz^F;|F9 zx^9)$tcz3RE{WW9D$7CtY^f^Ox3GH``k{PzJOXnL*=a1b6Q4FReK8lM22MA9EK6ix z%|>t{Jr<4{kIw<6dsjh?typiqVVR(mo`CJ|(R#DqAD4^f@)FZFoPUf~c6(SMsy^X} zxu<1?_Zzuu3fVzr;B2)YPW3gZ?zEz;nI1-y87xO#KY{#>*4veS9(}w9OK}{YZOqw7 zo;C0Bz6mA89Vaukt~Yb|o=cr3NEp^Wi}@nGmt$OH05x^I*BvEq=m?Bct0`?LcBI$O4D*=ZfrF{Qn9TVR=e==Ea% z;taY>ZgFl6e7rkSko?E{y<U={<%7!-yw!~|44Q1f2I0`Dzvn+8k$cM zvT;1Vh`k>2V1MUgL}P)9117pi!w+=xc}vatBGofhs|pvPO4ZsQNh+(tB53mRV5|5c zy#`7O$QsEu4LuX@^KaXECDAgCwKAE{38_8rU)wxKIZjtTQJorgOPLRPnkK#%S!iz$ z6#hT6F?r}Y^OkF92Mm=&(jIiz&H!MUlVjV{w0ct4A%87^^^6*L6dd|TL5n<(vB`dj zOE$#QRt$m#J+h}+o}^A0HbD=Q5hEfygdkieqWxCEY$kA-@~bB1frl7cL{_h_8bf1` zdRBVxyr`>I^^t7yoe*5G7q~J;vA?6qzGdAr;OO}&aTiH>%ta(%gCK-{L}07R=0$t? z@vTU4tAAi4(OuZlAyOZb01-EMTExaQ+|wcF+??E&aE(#dhE*@Vm5Oqrd_QNEvc{YG z9rVwMGP22XlotXJ5dz>~sQ}zdq@pQv$;;S`GK7(bSuv?cFpwQ!mq)CHVb|fn8H6&< z#qcc$QU(J42{>Vf2#=Y4SuvlE{;GE05{hv_+JBnG?5oXT7(f)e&bDPeyec`oPFla%nxB=DjMPLT@oQ)J-?si9J!0nJC5UZ>tf7LWkqdOYQ(|#VFyoJr~BxQ>Q!9@CFm{c4>stnoP!@U zQRPWl5@oLl&2z(Ei;1(_ChvmmkHwV)o-X2mJuu{C$Z^Nrp1?xx(=Y#=$Xh}D`vvlJ z0$CF&37qbX4@9HlLk3KJf3b~8i8e`BnT0XT(Uq(qKpOjEOjpvQURRQHKi*9U}!}snMp@$ zED76@OU^Iejw@`SuK853O@~-Ua~$H+qWN_&kVDM3Pg9W%1xgPD*)~}8Hh+k^6FrD> zcwYMYVpIcGc_>3$ZD9yez(iS&xj6Pnh4l1?Dbu4Aevl_4Ix^mCs?Dk$vKBufGxqk$ z&eAl5CdUXWwF1J6bdK&+LK^HwkzsbTs%SpN0;5_I*b0$Z4YWxuPx>qvw$>I(481Xc zo(DIkmFcSTjI8gXaHwU^EPpE0Fq&djNg{go5vKOu(QHp)!yd*oFccFaUd`0p3tA;I zq)r83JDxu7b|zRWRxqkLDXoXYzh630{9e>Z2toJA0`lO-Jm4z8WKl8YxQj2_@^{K7 zKVD|IGj3{R(=1{L4020q;AucZPzdgb*KBgG%KC{$W|-t|<@bIx%6};$hWI9JhFEN7 z`C$}YMWJ;*JHMZp8$~HsJR7;fblOOu-nK;$h@O+>?2@rDXpybH;0878d-Cv|ubL@# zOWGpoZ&N6(si1+zHhFT+YY7eX)p(Ewu^VJ1G(782v7gFR=~vgQL!GGwD#``+e-KVBl!Fm9b79{pQp}-Y#ZUQDn_?O@sBzCa?NJW5w z)Ljn-_}e=1jTO0{4I7!^-^7nj1h&G7VR;Q4YoU3ovd$SundOjzOK&x0q`ZBZ zgd(QgT7vR^&JI=}v(9vbTh1n4FW9%geVDY*)!oqW^ja)cL2nZtiU(L~rXx7*ffxYg$3X- zRbZ4U(d9&7dc$-_^tcjxoNhV!(mj+e#xk;#1J=8ot0z zBKZm(mos5OJkv$pPvC(<)P&g=n^QWq5qiu;(1l+$L19}RieVgyKJtiLn|5I;daM{} zzq-)5;(t?HV@)K~HXxB}arH5;;353}{tk*=v7w(eKk1VP4k^lHWI?2SeiFzW9GVe;Z%&t0i zzm`yba~Y9}^Lu$a?K5hG@_S|@X5s-MsPA}%)qj}n5~8!@iKA+HA+6Qv`h{kNw(w`` zU~MroQ2mr}dAT!e<``mxm+&0Kfr(oA>WN|1i+ZG84#IYr2PvhN^h;^bbA>DrPlfGk zEp@XF4K2GJ&7T9vtj_N84L79Pn>Q)lcgb3EsUJG1Mi<6LhCEU2Q2wZ1TlOl-Y`=^&-pCvyEn>&en8w-E9() zC>{(w3yfo)?f}SlhphZ_Xh(uW*Av%C#NPb~)}$AhP|8kV0Ag1KB>p-hA_O~m(NCWq z!GNqL$*ARi{X?QoY8@#G)D$_XY+GG{e}8Hemv&F-ylBour(1oVRgzRy;0P!_SVQF_ z%MM7z+dNr|k$SEHsoN`JJJD;c+QUc-Hi#3WPr?z*BOdIQx5Y~637ih9zVW$$hLj#y z_Rt+J@qtC~aeO6@RLcGbQUYs!#uJbqB+Op1A_<<CJZE%tBxUt0__!2DejOz=BW`CrzYcn{x z`~*&gf6g`fY!uU?vb<>KT+3n1NI))8Fux+-nGS3WSpw1k=_9=kg7izfn!pC&DigkQYSi;^nhi2q z^&dQPV@cO)TUqhdw-#WT_J4h=m%Uw5n8kBb@da7S42sZ1&}ub$NbBHd}xV zMk!u)FnHYhVx_3tqv%E;pHTB~#oG_!7YsCWq%>8er-!Vj=F{J*}I<5mLSn;1`fWRU*ybi z(`|rI0K^{3D3w{i$!hfu?sRVQ4-?W$_ow<3;DyNW2G@8HoF;d~VqxLWUp*Fk1zjO3 zh$Pw`SZc_!&}r!XP=BFUQ#l^5;8-XxTY8oXu~C4NvNQTf9noBAm&je}ql4`x_=Q?- z2z95>L*~|E#8Hrd_uEh=8)5Qc0tU{M{2-9XIx9S(9%sXHB9l>i&n?d|{BYIOQuaQ% zfGOG^Mal=nZcJ?+KR8a;xqbZ&!*)W}%@9zaAe^BV_IM*X9DmvkEp#43pg#m(#UKpu zJ1YxLxUucjpNh|)GpI$N&pz{F9XYKZEZeQmb|T78Z%&e238J$Z`nh2;Zo4s0r*qSG zaw$_h+|`i0N)x&69X=8U^ik*EY1_UQ&U@Is!bCl+Y8mCWk7=GwvP4AUpUC&}4C zCpEs>=YRPAo!d@};c8HOy%oL%xF<}Q_}whC-QdEw-f?DY&OyF9(qdg1cQ@mcU)Cn~ z;5U`+$~$4V(eo+WUG9`aj1-mdD_ynCUQvQGq<5plq&dB2`+b@2@qycb4I)o()0p3} zF24N>+v{yzE`3DMxYedH3X@K4j%^=6C|g6z3x9A;>L=L2Xa(#icf9K~?4fulz&o6N zqG0)_P?;avpgm*B@NBK33~Bqp(vTI&0M~~5@wq}pMQC||d&@gr8tLqm6yrop$bP4~ z-4&q<&_D@wg-Q8m+?=UVbe}WN(doz`h!wDoE&z@69Wn zTYvL&_owa&>%EwN)jNFeSq)~B?Zo*w4SUJt8DB&1HNqkY@afTXVU;av{x9!75;0V2 zy5g#QV7rzmfxmS*;d7l*8$51QeihdpN>AI>l}{czV}Gj7*h?f#(|m+Nkg%8_eY$KNCb)8My_ zb4dHUUNUYYlhw2AxKyb6d%}mQR{Z!xxo@yU4Ty}XcCD5T8r|YJh`(m?pXcx=kJH(5 zqnCBXte0qUWI0!}{cca%;LvyID1QeiVTkS=kJr{@1^JyPaYC3`90$@AQoFhBwkkJE zRH9}CK}^guQsS!DFP0m~`6EDUx}&4|bG)C!HW=lPh=Oj z?MdQI#uZYc(ejQC6k4Wrm2=&GfGd?6YLesrc;T2v1c*Kvgd&YV?|O2R;(tLh(Wi<# z(S#?{K#7rLG5VfM^-#T|4soBKygn>^+#jvJ%>5Fmpl|b^ zD~#!bO5GJEzW3&f94gHz`5ORvqSKX(ZyWQ+$%N}J6QM`#oCrPE;OTL_1vUqZ$9n~>yG&Oy-)ck`boPu9N8|AU>simjvx!vsw;Geeom%*@Qp z%sysjW~MSTGc(&|W|!?UGafTDv*+*bxtLw;N~_jNJ1dox&uuC)Ga};+WyY7d$4Z0y zdrYCm`vLV%R)1z%UrX7E5rsfWNYiM{#Oco38b!oZbY!KLR2Ig0G`95l{aU)jBOT0n zG;V~7u0MKI2-|h3>%lcGx!j?|k}IlvZs^poH(~nl*R5hsB!@G^Z~9twNR=xv zUzUPEYI&d-S@8a2f!91a#I1TYGk*5XlA5aXpMe&>dw;sQhp%&a#@!-)kJ7Wj`?ZI2 zL(*UpXI+;Y+$0XjsY`;;ySo#l!}(@r1*0!8ndj~7-U%5~QE-xlO_P4mVv!oOG-pP~&C@gb44qYJe-j0ZkOaQ96H1bPtbEXHLt%w0*VJ|K z;W#DhBxhGm#Fi`g95_;$!_$xD|N7s4o>w$8r=H@-IOS}wBd9{BP2p*)=iU9dosO8W zEN$CN_9spyN>+F=hD_%nLPCexCPdXreKsxNsDFareMqa1x@-U93nrw#D~&|+D=X$L z+oABPigui8{aa|1&r>i6l~hW&^M~FBS(7R5`E*aDmJ9rrxVYM;Gigwhvw!!o!JGM% zaD9aq;&qRkf9gIT9u7~a@~Kx;y+QonI>K0KB7dQ;m{TeYx4t(- z!GCRkN;GVTj-Ni6e=2ih&eg%{?bw|+ z>yJYS>~Q-K<2mOD8(n>})*R15Wwl5EZbvO`{W8(^oSe*fn1hBGiy~%_SB+oSi zwoW&)kDASy{tQ#Mo@5rcU0meO=;}|sq~}ovth2GGLI@zgf^ycO!R%2PgJtcH_Zq)~H2!Uz>(Di}PzhMSo)T zABI`&z}2MQG(|&&VR~4vuI$|LeUK{$ftIeSMWjR%hxl0AXuEk+o)DKFA2rk$-%nN~ zbqRU!;k)Vv47EdRu!8L6@IUW9FVnviUd*O&uk7;-xlBwp-&?Y^5jTHJ|Hu)`QSyeU zV(g79@_QbDIZQ6}*JRO6Iyqyv{eOMf<{BX=E*r6sYV4-{+SQ-zs10K3mTNKU1hw7D+zeRudUr5lJD zTLc{vSVW5w*{!Un2XAW}I2?3J`X$?ocus-nwAs#A$E)Ji6La^DdnSXRFMnE8m@;8t ztv@M7oggCAi4j;>{0hE?NR0AeGx*in@}RZDkHh8kgp~ZMi+6rbQx*19p;Z z6RM_$L)dMAtg@gaLQL|mk(lV8?T6YSGD|G>F0;V{{gMzs?xfI>6F_#gY5}z?Q@O|_ z--)q~gb63Z7Rxszq}aDKe}8B$8bl4D-#O~7A7Bz<_lah?0~ESIN4lR$5rUyseCVgf zTcj!N4o`V09i$a&VA!>iMGz@kRgDWX)Fg2(l6|o>oZ%=Vo z7j6YM+U#_zxv#e@?OYZYircEHCo>bB^lZEzd>Hd?dz3_8`iw05LQh8F|5gZO24{s( zuXCA4!q7^MUX$)_(kEUd3uW5B@y?9xG=kHRG;2%=zki#4hR?Ij)l9u#b z=l0jP|3zTn*|7~3jUof~YHLb0x#YzNKKNCNAty+&x5W7-A5|iQu1&$~Ij`0gFjB0) zxEaxBlTs*;KY#j*ML)d{TL)!r_LP~Nuo$hCL2tW={OI$gSJ(>ax3dM^<9Eq4y>N)K zib_P%h@khw26=9R6+@mLsJY^S?bg|`uqCOo-|-Be6ig{7&FmnYpX$*B3&?#%r~?u% zPuo)>Ob=JSQ|vf2{%LdTYU=gvQL}Cvf`{w0`W)$xWq*a&KYGfD-ez`Fsaew!wR6zDMWWXS$4z^H8Xl=f67uBBbF@7#c^?#BpR1UQ z;5~04YK=+EPwV%!jcVpztFddI{C*?b$?pcsUVn}1R-*=*pN><;D+7EXJQFlg5Q%z} z$nNdd?x!FW4eE!j;#k0|?mv*B)~>H9RX_Egb_nvBwum~RGyGrqPoDeu8lIQ8Xshje zXXMqO6{bn%HA(sqHKg+*bPCrD4&1uPd`W7 zH-9r?m+tdCzzn@!5ftbSOVyMz;LuyqJMDl_Ge>wf-k)YMn=Xu%%R~vf)-c|^BRRBH zjyj3PjK;3YVwf3~+WLYpqwRvFe6J762H)4)weBAmK!Z1968|q)18Msa!#)hLO^?y8 zcv2DAapZnA!$@WldC65V9njgZrI#5x&woKzgC<6%{XhNPevIFzZr?W_zO4)1SM@>g zhQ3pD?^N|ADsB@`rEYy%d#yyPc=cO^W|E+wKl%>?iZV7?22KmnrFzCcY?8aZFFU^Ak4H^N_L;zHuWUV(_l;HXsbLf3}j@_#MI zvHh{O!KV-Vyzh!zUJ;r<6xNn_x2SpZTp*M{6Xq9*Jk_84r)s|M2o&@^+GQ?4_5z2$ zu&J-^N!ziYu2>H!v2b;JOHJ4VAlXhGUHmQtPf>Q>>gu1^Yyb~-#@_)Pm#%s#EH~W&Ob4&2Cyypw7UZ8Dw$ekmmggl6X zzi^QmJvo%%kaKR&g4Fp1%^zmcv%}pZ*@}x?P}*UYXQubQ(>?-7LD485?o-mfqjpa5 zMcVIQiUY}QAp+h>-C>t~5AEw`v6G3Dm@g@>koioq*Y&-~+f?%Ji2j?}0Do0jP01O~ zu<8>#!#qj`q{ijKZ z5sB8DMiB@%EVm{zQ;fYA;AMO0Szx0pIE=vrQvjOejzqG(5+U(Iw4c2a!xBZ0k(U7V zvAZg}zWTox@2dwbnypA<*?*MeM9JrZvs!BrmrQ+0*r%_T7xP8%y=V^#Fw)SfPt45t zKN)zi#H(Z~#IQC9ND=4DY?Fne+LXB4b>(Jg8PskvG>o3|ZEXHG~sSzq> zbxzUuwyIQjB7jDRx>1KBGXrszrG1)ALXGj!N1Cl35evetE|%^G;(zL#&O5uwKq)1&|2O4m}(6^qOEFiSp9gi(#UCJe~F_RfTEkbmzJJ;);(B#%G zmPbDF6=`szo&yAC9HU+K=nSPk??gqz~CG0I*r`jMj#y9_HV|8Z( z+GYRh5(ee7WT~J6nSa~8jlN)8s&#(~tSF3ME{rUoHfD<}K2xd7|E0EcMAL7I1uts2 z!F~N48DL(s^L)t2j->@VAT8;nih7}jsG!bCvkpN4*74mR=ZlC*=d~73<5BPT_a!*Y ze1}Ln;HM&BaK?tTFCh^)V@6?I&cBO6^wJ-D$SV+#BtssR_kXk{8)!KDTqpa97)x|t zeu`2ald85VjZBFbZgMb@*8^s3MHP=$ zKsEr>VL#M4csZ$Nz|YyLy?5e8nuu- zhz=45dp3erul)d}OHLf|X=oi${asd&!#6QAs<5cdEtNi~4S^>X5*i3v41#}K<6m9o z_+R`DjQOxbZY!0tXpzT$xboI}ZnBei|%HPLsTgB0MGNbI#aj*f?b`%kkuqL-4nsBkAUu{Jg zt!nF^7EAg;i&dX})pn(A-zin<41CCpW2>o^(5`d+U>W_8?}7z+BO6Vvsy{BGP@msy|KO5z+^d#EA5+Z zn+VCcM>z$>jishBkwPI1s6SN1HITzPXdU)BadA0U*Vlr;l@-qQm5uj^udgrck`&Uo z{eKf$sF#CeMf>UFa-v#@fn$f&r}*68w!D<_u{YZ{05yNGUHSr9$QzjoIV`u!u_zT> zSCj(v(0wl3^#|t8m3qpGrK(D`w-GstPtk=I|8}#su`x=DZ`skk zarrHM1lN}2tjzu&g7U7rY`Y(9t$TEsLw}~bS@;!O9q1M&jCJRGTu3S~*6jIJ$0QI3 z_g*a;9ZuLAZH5=uz=zfT{{H-IC_YD{?`2H`ugCM^@@c*d-Sqv@40DV5GS1|m02wi_ zpwoMcjI3-xTTk{WJ*V=;3FuJ4ND5i9^!zDXZKj6GDO;PJ@+05fE473q(9GI7IDh&W zHFS44*JJbcCXRsj>)H9ok#*qlbnN%Si>bc_$L`(fyq5r`m2>WAf?XIfS(Ue?P?z*a z_Epic3xT&io;G#J99W=6mXx@da;R0OtNWoAFm=DG+6M=hdtz5K0terxo)uw;px+Gi z&^j>O3dSy@h}GOF{W4j$UFhc;ihn+7D8z=a+C&HASMV^r;7C@kNPEd_TF(IyiI`v5 za%iChsNE?9uR~w%^fW_?N=BJg%_yMm$|negxKs>}0tPl5R)kJRLQ1Y=Ob;h1#Q>{aO0ssN z?s)K1#wD3`M<^NQbNg{TC1{)iXM{uB)ATpozC!>8EX&Z1MYk7(X@R;})oOKCtBIj3!VD!`O*8aaVKZVxV^W94o1vbSrugK?pTnBu@dx?5 zK@5yeEkX$dZMR^Waet>HZ;h~Eg)Ro;g|jiqyA)bME}W{3#Ew<3x7;M2h;!YhGgp|< z7qCBVNIC|*qHm@Lgeg-O)8jWz1Q}K@Rd`||EU2ZKO>rVx@+u6l#D>i>-IhjaR3TN4 zn5l?|0E#vtUet3!W)ghQ0vZ@{M0AnTt4UI$BQzOI@FXgGdVlDFEx+t0^P<+CY#~xg z!lHkcXwZhp^vwjxkPL$4T9cow1-qgb6pa+kzbxK+n|p^FH%8iREGT2h*AyaUy=K_u zGLmF8?m-kr)T#{)NAE4e&=4tCqZzcqUdNFv_PhV}M8JY~1Gja${BQbBnIKQfNcO(za*hoNvHi*Cy}-c;PJ`DwJxUa4Q8SHK@gHS z8YPvbll@npUqV3-dZox9(?Kk0#99XceB3nY5r6sHbfr!|l@@AMDy@7!&W~wfdGvQ1 zLtGxgSOOY-Y-eyQO(^J``lsi!U*^QLK7ZBZ07!U5JQHhfc~{pjcEMhr7EI z3&HQ#sl4N!6Z7?TxS{&Hah)JFEx_Fa6(sBEMZeu5hr^KFWKt8o4lC}_fA`Y&ME&i} zJ8H!Ez6`L*%f|Mw9??pj4eI*>Z^)HnY4v)vq@R0W-;=C4K@z4C<+!6EE9zo&j_;X6NQ^uk$}IdL);PCyiqF`-8xX zecZ3}GCLdrE8UkYL?Z9JlC!GExYQb%jH$|i;r@O^;KxL9yg;J{uMHH0=hy3T1kry- zI`pNg38e!gr4BXCK-h1u(Nt-Am^G)#C!&vI&AzwRcw^B!RLOvVZ_c{yj@u1D>)`Jv z#F)dko8UlQhqbTa&*!aYqK}@KF+!gY-RH~g;_J5ui--2U`&^=Km%Y$#wD&AcILDpQ zpn7suYE1FOuJ^BZqQ0Xno5j@C=Wl;dK3O&y&cR%f|INhs|NEMjRR5Qnmj9!5Al^sj zHUC9fqW`m|Wx95ZnKqNHm@_6J98^bPOq6{p*!$%vsp70`MG~7vY+av zf9NCG#d*4N@zwv4zOsHNGVbJm90n_Bj2{iIx~~Mv33j>$k^YZQ=h^|4QSbKdGc7->)yUTE0`DL|sr0Pk)Q+$J62R74{oe>pb#d@CFc_(6$&c z2Ay)5ix1NpvTesxH>WlfxOabtNEdV|l^I~brDf2>w9{Pic`UyvPT3s%4z{QBw{J~~ zRv;R>e6D0mPmAl)Sr})TIjrU!+9N|OUkMh=<6Sa2ki}DI9vdZA0}r{9;biMjBIe~>wLck zfVy90aTRyGmH@d^=}9woBjbo|0LfTZtK=7tm5gk#@8OrnIkCLn2qz%uwT1ggAoI5g z_PD!oA3d9C2Ka?=f!YE$`Dde2R_m3M1PYuYWU^2U7u z;-|IGpEue<@2YBCt^0p*gMXi78!;2mY9Omg?itX9cv+qG78EsjF>Gq}FkW~q6! ze%jX0>)8{BiqHr*sub}tN2%73sNsf!od&few4K)du!Wp*1JWKy(6)|8((5d_2e!)b|;pT zz+y-alV7ivzaurHFsB$#mk|?|sqcl-#->Iqfgr)y38qWL&!tMKUXm%~NlqWB-BE*r zZ@`*IIV}}0@}F93>bCJGJU2~ZEsdn5*c3V<<0=h$mIKouHAOm26QT)SJaNRVW^E!X z0$%N5!Kt-Rk*I&ehL$L?hUQXCl_T$PA}Q6eQ>jrn-l4;k^Zij(2R-PAwPd;_)^{Ze zMsdB#qgBjY_dx$ zIwY~6xyTeS%u@Fy-n$mZJfh<}@>cUosVROjSp|-R$zhq;MW=v~z;lh@6(^&UC4!!+ zWagDRFGl?tJm{wt;qw4h;ZCv6{*zkmdS=Igr6KK0lnbdvKqA#oQD7p6RhSHtJAA?> zUXB-&yT*U9zg;Wf7%l*nd&OoY^P{vxSq@J!gAEix1-8Uh$g^S(;!s`}H*-CjlP5%J zgd_p?0LA;pmZbp~#GrEUc43<-bqI77}cob>8(5TaQGCyB5pF@LC1 zN)@}cZdv1UL)$FzohaYTPfRTvRIM0}z!7DzWD3`;-R{nP(0Sgk2|r$owIxN|__rsr zTs&&q@O`)xh)OyY9Wn$&+3*0u-fD|K;XBq1FqKgIA(>R|LT29Rsj%tO-Vw_>*pi3^ za%F$QHnv&wdgmT1SiFLj9!dC1tnhvJPCUGXJ69h+s;y|;X#fPJY$`es#Gw*W@FK)G zBCxNv(}+TO_XhLT3;Mng0FxX&BsKd6D3cq$A+0Hr3#b~tCHxX~oc;D@5&>z9DHmHNdCE_yNp|0Ttd^0|17e<=Q zRzm-s-q5h$9MrxyQVA^ki76`n*os2~42j+}v?oS`_kB~hj(uh8iBcmUpu*TD{JjSt z?0AWdfhV0t!}(zqK8+WyqkYf}NcoTiiw@!pQ}QHbzcXRw3S;?v6xV@&|Fb8Mmu-JM zpFk%q6%zRtT{veR4?Ldq5RiNG#d=iHAEw^_>%(1!u_q4}n*v1*sS>CXhz3)MGKd?F zR}(k)2}J>)FwOK_^6O55TEjvq?r?V7kM6?-5@76_^xqi9IE^6Om@L)&N*aadHb8Uy zqHemc{%aF&XJT@8kQg1oE~+RK;I=;ninF{zbzCC9+h9*)cRG+*H$0d) zxJL&hpPQdtb8B6aQ^xL3xXM;;s5`>FC-iA2k9e^+hx5{#>XD#5w;OY8i%iSqeb>)P zWM#AbDJcxq4x$;flaeUHMc;olZnDq0SOzDxA<)_rEQ~uLI808*5jl|DZa6z1vO#Op zVhKjZroXWQJh|T^AbnRFYjB6fDVCSaha^4)_EtGl4xGv_3)mXN3Kod(OeAO+RHQr4 z2|CZ|Q*0ddz`-U``HD@Vm&$qgesg{nU%M#c+)lywOsiaruGjaTp?%p%Lfc%<5DS=aob*m>ld!aO8MPu^u zR^;HaMJuq>ljE*Gjk~|UDad-RluJO4K#ot#@3Xg|h_(Hqkw)|it-WgIyuk+OifRpR zKyUDDSUBT&>_~k3wqAG*0O_KRkFo6Ce}5}J6)A6QEBfYOzwDVQ3u^de z|ADK@`$W~9$n2VwATG?JGDVPa!JYp(vE)6&XIlTJ_t9rLqyBddLy%R^ebD{drg*^w z=CHxHVTzg3u9Qi|{LnCBu#{4RfqJFmI#zS1Z{DQ*UWOv~8S#G!?62X7pRn=yD{+>L zakGyXi57l6onNGNp261lTBhcGws6SH#9?>V__2Qo5cs|Hz=zFDxqlG3{g28xJ(WUL!z2VE*U-{g&HXnKlVO)G^1tkDpAu&ArVnEI8gL1jfPH#>3V0h_y13 z0vp9DR8)o0nKgohFm~!$CRh4&E_5HmR=yQ3?@wo~J{Ps}&e&PS*e5Yi10(W-d z$X~DhRs;*(=&fmXIl}Y&Z7SZ}`FxCc7DhjQW>Uz5u-YYu(1`qVuHi81vH26(1%kjqOh*{IDV+7+6WtfhXTPwt81;H z1_f*MY}-8Sg~S58^VFSz*!IF^B5A@okw10HjB$Tq+5;qyzj~LklINCw`a6r=}_$CJb}OX-j0Xy zV|4)+#Ka);V2=2hv4T9u0qk z+I2x+{0f)n28G}T|C2=63nX5sgeAArN?*Oli6;eJZ#IJXOmW&fbk!%IT|>7SNg0$0 z+#f6QcbP!F+pl(;W({(X;(~5h<)GaJ zj+h`n5o2D2+KtV!BnG;Q$_7munAB$+S;aHb4zO zYD%Q=c`$tYQcSwc{$La^L}s08vrzYJ_Buk=R`{JlQNmjcNG zTf!3>1kqcA8*>nMIxy#g%b|a)C<0|aA+Xr`!hiFL?~nYkkm83^=uAVAi4o940?Yeb z4<}5QjW?iJBVCVSzSd|WWXN9#3#78YUkx<`*jsi*1_H=0R>XVQiu`c z8f=d%#2g6Behvm)YKvd?8I^vM_nhK#SO3gQeYtt)eAO}i$omtV);0X$&V(4UpX603LtncLGxgMUXNrMu;T7&w0ktd!nwE$$OoljKkq|lVAOt$x%6o z#{ZsH5XO0wl+PKiL^serIFdvSHwQn2ckNZ}tWDHoYVlPYH1sy64y^B&pMwq@zGNq1 z%4hMh(sW1+m6ViHWvJ2OkE9}i>{83zy}ytD9NGl~7LTG0&aZ!fmpp;Yc)O85Fa`Lk zN{~c_CJwT|kLs^yA|Y?5d5XH7yR|GUq6l$kd__-?`$a5e2wB0q@~WzZW5`)`_%(D{ z9EGhG?95X__eGpAv=W$$XjtCS(TeshDO z;ND9t!X_m40p5S|^_6yna)gC;gur=OWT!p9{2-MW{XFu#cb|M(k#4o?>OsY4YBYS> z`D&0p?FUAdb@F|K2NFYINQDZ(gKo{=u2$65OT^u*kx6n|JdGUC=JkZ^uSmtvw;Fuv z%|1xOaojfr!Ng=d^m_qwF5#?PYY*(qVj)RV;%cEk{L(5<=jXu$uNAx zDMpn9wOJfAJaquKyO~}*BHZ*42Lf0O_~B32lF?2XhdM}HJEI<~NO#IQ{_NXY{td_SCG(A6?u9WTGRZM(XNO-=>-ML=)VU z6NYz+4@6jhgb|rfQ-s-k3Gh0&3n3uJk9rsyTbu_QAg< z+b`Yod%s4iz6BitbF!D|zkf2}Ug!QEt$23Qem;N32%PZM!=!^QPBE zGU0T>$?`KjIz^|{!nIZa6;om;q(UYsJT&jd9mVq&t1OwJ4$PE!7n%2e8k)< z|15uyn+~2rzS0@k*JGneknfH>KkZ4u@9TxW(dK2h(YAl^HrkepU>qNNq`Y5I_2i$b zv#@e;Q0w+s`$(`~9~I}1%oxCVy;T^!89`_k^P8>ybR%DQ=V{vA5J^Nt6+UmdS5^RTM)WQ9^(~a%b4Rm zP5o|}%(EM&Y8uQZ2d6$!i{p_G)T+wnlzr;mv5>+FKMI9p~BfJ946C z*pp+#2Gi|e2Gn1Q%&Bk&>`Z&rXy7@^=El&U8y5JzjzFr4E~?k)1ZI1b@y0` z_;|mGRot-OM0Oyvgn-Y?b-(;Sw=-_oQ$(QP#s)MssH+zl;oIIg8iM+SE~*XXQ%c;F z`jjl5IOX|jj4C@St4Z;GH6OlOcpc6~M2(@BELdf^pN=La; z_TLMd;8fn6mI&3t&=G&qM6CBVYzuh(hHPc`vyOZYW|R2kNL8_LpBE^?&UW+6)M-wS z@Bd-artihxW~OXwGfDUPM^e%UpRy%$-TNX-CufvL%`d5N8%!LQoMc?^{fF}uje@1! zT8owAPVFRzgS5!CNQIW-rGj(JUvi2b=(|8%J6^Y^TjI8CGoB*QF#(B zn0zxn%- zhqQ0SRn>ow(PCNgyiu(S+yRVPEsVu;ZWigF2A;P((RKa5;GHMa?l0ynnkGFUe5SmE zY4iOO^;`+-3R+Dzl0Z`pEv2fgPYA zvdWP=So)oUrKt%>w~R`}AQZdcUf71~YZU z?6ZG181AdgrgSR2dBkCj$Y8>3!0li#p!huZW%4?P#Bmxwh{k zGt`UA1RstrF8m2*ITbBW=aY5tG5~7$m6cuFj?d4S!n3nM+&KeO4^s$mnEn?$kYazt zUfM`TJbK`Q9}m^yq(#A?2gtVHzif7RoZSy0NqwVnQmKD zrQNQBv!{$>;wL0eXA{~G{PJeXYB&BsTqBO`BdkZaGWHIar5l#@X_>aPhUI@;qtd5i zEgDlmun?98y9qEY3PxJnLz#fgF42T=0{`Nm&+uZS#uD3R(+hquAASkssAX|$euf|9 ztaZH7sZFZUnsv*iaYy`++St^mLO5E@nPIKK$W)2?vg1E+<_^&m)$25k>JKJ2za60%3+a03^sw0>zq4gY9Pc|#}3NDnd)h{ zZ}{n3jVCjnIeXpi^b=3j^6u8@{8EZOd%CoJd-7O&#Ww^mIF~gfdp>_LNeOw}4A^=! zqAfFgK{tLx{QL6Mj>CYcibpWY#nE{dZuVz~v5u@2K-wx|)Ovw|hphmDi=cD z6n4H+mtl8UMGPO`X%BxkMaA}gywvvP=vj&j6|b6s_w%|=D-i}K#E>cwV|PEJNu79K z+1Ktn1jq9uG3~Y2K!4f4<}d(j?kAmuM*V;mT%X!c9yhpqqHZD|Nx=l&rW8#D!H|hE z`CXNpRti+Q#>J~H61+1fS@OHde2VYQdjQt`BstoEicQytF;suFxC9hS&DVp46ExId z9w%_g4bKsAzkj`_6|ub4?$3H>D|^{g(dG{E<3L#poal)RCaTlmU)GNgcs9tb4A&pV zwY6+SJ_v`g**My*c;ITR+Hf;`_L!C7Iw zFfj<#VuvlOQU`C!7wvK7L2SaMDDX7kRreke%q)jwURZx!#$hX!fCkdeB*vme!y4et zU3q2y(TI+Vv(*ta*gT_rbt>Ftuu4jX{g+h01*%gA)=)Ky&8F|cY}x-Cx}%Z}vvzHH z@!@153jG=XT9{&*?}cg9^YB*kAhFIz^4BpDM@*s17oSdONfUroihH>`qE*pm7QUtX zo?x}L^(BAs$RmSb#;-5hy&53HQ8zYv?Hi8>{1je=!KJ2>{zb{ls{mndniKha*~8d3 zV>83Q;i~le!}PC9d0J4~8mm>a?L!-(kP*nf7eF2(pZymsWxklI()XCToaE2hKoYj$ z>Xbi_@5cA>0fRe3@kL3nF)0P?=lI!q{?2y?BY}VBIg!c8+&O|}od;3+Sn4#-RKR?_ zCw_{ycGeLm$2-v%kWnKLeYYVxv!$h^9NzS-Ev$XHydQb1{=enCCN-Mk`3G*Q>x=vZ zbGSob*bu~v-bTwt`GZQkL5H2X7>;I|tVeQ?R=TL||1KugOH(BOb+^spBO)OmMS((t zDsg|)^0r(Vff1$(L;+x-D?pHXbcY*>$q?FD`yxA{I-uNMy~4lB)@Zl8tE8t0{=#vw z9KoS0P{r>I#2XW)!Gx+N84iU*;k^Rw*>4QGY4%g;sQ2EE2!!`SMFJrXhp!2+Ma(=V=(efRyY7K-CU zZ3GTSeUP$2V;i>!@J4f~!D3mXK=tE56o62Z>Bz_g$BL6U&}!eI89_P-2xHLG$3TBq zt3-{K>X{malbS`)oAscIc!^+4_V)QL-fQ5Qq=EZ=2;K!ih3?Q;OwH;1Z!RU_1OL}j za%vSkMNhl0;r6)i8KB;Z>6Q~ydrd%Qve9O@k>^$0Xt(h+YztA#RxJztE@5MDKRV~z z*UEtfH^W_S*%;Yi^Dg7v-D4T+LE?XaOga5xx!$-Zf#&^FJnC6`6u6U>DFhL~2g~XM zA~e)8Wm)YTXwQyv8r!f?Yne;#{0sKdc~EMW!!wGnbQ)Sk;25CF_vu!!8;^K$63@1R z#1cEu1yL5>wBtR|O)2fRoP2}$nri2*@_9sq zI{Lv3YSKnkR_(~lZzs7hV+-y(&UlMH;>x8vPgKAe-2U+>r&OVHf!Wxsj0PN3!Xu6OU~@gQ0O@t*7H+w1r__Lw8UC) z2j0KFXo-Fv5qd%0gBcPxTt9y*1=>(mHvshJ3=T%?8(6?G%(ww+X)H}1uC~DX%ED4R z2B2vn`z3P9x^MV!-2rE*?GNfuj?sPrV#FakdEQLQk8Ym?Rvo>CJkgX~(soO? z1DOU6Un5Zf4U0wx|2mp}!uuw>F7R4Ct^kzev6f6CxJ3XjGZ6oNa1(z5tmOr9O4N+$)?a&%_bY!^KyVEcRMAYsen zAp+mlCmSY#klO%mWzu!JEFSyPDIW37AR(SeYrJWYuigVtRSl>>?IHJp3W5Fr?P)dn zD+%)%Zpm(86pzdb^JS}k!*qrMvmTb<>EhX__aO5$R`o4E`euJ!MwE6UF#_eq_IuBr zI3N*|9lJl1%^^W#G2IOkt%&-oV98-M`fwe{e5Rw&8^{i~KQwLIOVE5&e1b0`Z6vPu z8Lra{qv5)MfZoPst1WBJ=`lQq)9SBmZ4X9TSY z+TKrgH5s_->e~#zWg>Z&cFgcu8bYExr2dhj*Ws@1Kfge9CUQ@sFcQf;QQw)a)>j^A zMK^fn|KWcMINUIO+>hMcJ)i^%ug<-4?qH-P5cV#2&SlUVw#!TY)>n%{;Qj{LLG=$d zQ#rp=Rdcbir3tu!9$|}?JH#~vu{MQ;u+U3T znfd9$JkK}{nT@(^;1`JcGPjXxw2}2`h8VnvGRA+6$^Izp9Gg<`xtQl|(r-6x-Pkrb z%S(;1{b@OZTDMa9{zzJYNK{cWB{Z=d@c4Kx#lr=f@?qhnoPgmDmv0Q5heF(yh4e@BpT9Xt%uKnnt{g@Z8X(T-ldt{T|a zn9_fQ8GnfpckR7R!5F8xR;}6T&$~19jX(QD-B;3X_xDwKrhMgf=y~{2b}kKi0^A7{ z5=RIe2?fxbi*JO;hu4v8R>10ehii4ZIhATqlci4x{bYuk^nOL>FRkS>-)}U5=+LDu z8s5o{Uyy=00h!5Zivr((b%AQ>3(H!5i#~s`+>PRyUAkB*xWSq6v0cpIWm~L7`m~Pd zc@+STS9i36W7Dcy@_E{~+NxWeBZC4xtdFxthh{9A5|K7jXeMX+^Zuv7T^pD310hN? z1dF;2<}u~gZQK&OKLI72vKhG|m``(pY2Rvw;eL(lz9s8t7H6rm8U4ulPnzF1Q9gga z#8(UW`h#s**#g8jd6q)~SK7%HJ&-SfdyV9a~i2Q4}u4wTi}0AHAIWx+!ETy*UgOf&(Omb+fNX|o*;_WN{zfr z3_}$h-U){7w;Yx)tkM)dGaxxT*%k!B>?HKeCr>~I`bf9;^n{>e!88L<9&vwT-t=OY_Z^o@eWQE)>GgX_b+TbB zE5R|D$LR}ny8kcaz&fL}m~bOTrh*&-z(Nj0$>LCXgUH@VD=~18FKaoJd6$TqLg8vF zc`hI_UY{MZ^UCOtp#N?)aA|+PzZR~=E57M+RSKAOLk#!eNcJn^NTRWkfA++2ywL21hRV! z?FC=Wcp#elaV$oL%xwo3pHhlSr@2+n_sUaT-4s8;io%8cpgA?-=AeIA4(;(8oCU3I zfCtrJh*g-9z(y4PZI)4BfuH>K;pU{li|82z6t-E3Yy%Y{o<4jB({kaYQ{W!jZsp)Q z?W>t9ZqZyOGnj*DTykx!(n%Gp3F`2$d`f0DgwYisL`z9C)`Lu>_&?aY%h*bSu0hOZ zUo*p)*}i6GW`=9#F*ASDn3KM zf`OzWPJxtuW2^W>Vfuj|Ki1{@K&X*2B>UrgNXr09Uyd4PQ*?hx5-IPgF&1U5Dl+e` zaglXxR2ZoNRtPwh`~Yny5z`BE!m$OeLkj0+O^3O;P!py8Bqr~@Y5V?YkF=Gy?I=Wt zz)pC~oDmIUNc zE?S)|NmOsfQ!Rh`mvE>9gdP2qfrHTe%bi&9DFfEiLz2yO(l{%Tmbwm+b|~fH<=tn* z#5rs?TAaUGUJIT_h1@kPvfF$6MyX7$PKLUdeFkT$mUfCm?NKf?N_K4>I?%OTh?fVf zP7XX4RVnyHzc(kU-ix|eEaImo`NgV`{YMA8eGRod&Jlmi0S)e($#)YgKU0phFt)Sm zel{jT*JhT>AM4xRf{u^~t#;J00NwFvU;}S>$ZAk{s+c#6wSn}Ugg5q@QeLupsW``2 zm9Q1DNB}A-pe>S*dV-KGat=BuhrabHVTH+)U_~>FNH@L6?Bn#+rr=_Ma8t0I7}=-a zxKc*fo`8RynvuqJWnJQ>hm$wjnJlH`7#aVPw&6H$gJMiEF9jx&6rOZBcGNt=1a`0-5yz6)8-iAhih3xP9~9kE=CwKf4Vqng93OwbjtooPO#PQxaNf8e&Bj;_H6}^Jj1JMySprNCM$Unuj+s7FlTX4*TWE@T z4l_m+aik9njGP3|$+VbuOb=pXQgrTpBkcXF$51AHDAO^xblHI6Y^Kp^NG(hHB|qY3 z57~cdLTfhEBJdmio>EeR_YQlf_*Syfx#YMGK-EH+eAKs*;>$Sl4^tJC5 zAZ_QzUZg*oY#CLR`t`xVLYQdX3T=^=VDdN@tPx2%gD$6C){rIHZcJliQ;zemfyf_Z zEO(FDd>@0=42(~G)VV&aM{m7e^Q;b2ie?_a2=R3II0QBgXwoix>cqRWpn94ZWM6+E zoW@B~W#?9A@>nwuP3)?wATKX3!!>HIe7Y(s&M$|Ch9b8SdOk~X?7tBbwr(=Vc=PgV zY_7~~7(b#QJ0Faw{K43_Yz|4E{yjz+a!uaJDzZUpYdOTMP>4!F7=B2XHb1{9=IzZF zm(0Dnw$>(u9sQ-Nt9w362jRH0YVm*bRq=6CNKmi~WnS;CC>H-zza87dIOen2poH~? zWoQEPpngOaZUaKrrcb@|WO7}F!OjvZKeg{kV60ls*H=K_W@!gjuvIUvt*uRzHuF{A z*LTxIx7ps;WfY9a>*V+K!xPFo&2?KR62rK5XGf@_Sp6K+tQwGHSn9i1jI)1J7>FhQ zJdK9lhO*lT-{6VL_z{UaO@cOaz=^#cYA{I0#m@fj ze7?l=WoBV=7-W@L`C%zVLFz`TwgItQ5B z+Qy_ErKNKjHoue@ZZ=)Me97f{vINuzi}4j=nPl2I^{)(Xn7&nBX@zRdLKGvV%9_HG zq5^^#{3E>g8A6KCjh!)5VCKa&?I^*jM1T^gP!#BJYdUNVjpiph>yv+V1=lxQbtag1 z(2`QaP4dUi%aG|PBuKy%D<}1h9qexD;yO5x+jlJ&`xJDmjPDsM*PSBP#vyqg2!3KP zDOrbNBw&H45NN&<1#no>a8;R9Y5x1>=FV&nC=cXCq{8^QCD(gkqSgVX6I55)Bota2 z4PZl# zKOsTk6{>W~tHrWws<@gq;7QkMEkr{Af|Rq0zb!geRg6dQ?AEjB`${-5%!nK1n>Yb{ zV&daXP<~Y&g=A1a)i)|jg+=o_qWR)Xg0KHUWCv6oXUb0aYB02tu$%k;r3GN+YZxjx zy)g#GE+?}xh~s~v%T$Q^7dP2JK@>Hnflda&SDILK-v*8wkVwr1z@flfJYDtKwi?%O zIUT5Tv_%lXX)7fRP3=B1+i9_OWk{J7Y@EP;!xtH4EauH{;2@Be6J@3&h?4wg7zXUD z3FS2y;ft74Iss9OAPPY^oPjwA0P3Ac1VH8q#F<`EFpFpHJC0%sy^;SGXd~eqJTbTHMSR@mQo6A5G|1WoK`^T{pI+S z#x0oR{AS5c#n~vO1Ga)|@V36WejaR`N_a}CcBI^kF(P!yvR|CfszGx|@EL!76!J^_eLy4uJzJWw@(agN29>5m z7P>)Fwm^%v^+f`lTc(7hNLUw}D1T||5yEBaF^e4od{I;#} z;z9JibI%i<8ZB0zGFtqgGXuk9>!3O*sdE@AltxTcLL<*%kmLe=h6^f0w&RQl^jj5< zObCBbrA{y>o;9hf0q<@b|P>?2Z(eyN)VWx%*jaGaTc zyWye|jT$hPK`U;pk54=h`qx7wz)>!ws)B#U?u+WEkt<2QXqL7zRYSm^sFKLUq`FxDT-+IJ-so-7=O&Dzv}*ifZG$J8p3< z>f4Y148lrRx4mB;GLOiq!fei01YOspMTqBfr}H?A9&kjsk;BFo5MoW(KQ)-y*kXV7 zy=Pr%4?D8RgeCUWZK$u@_-Nc70zeTUA_9xvBQsLhhy8^G%>MpdbQsc8wKG=}6O(NT zERY+HO@DKwbS5NI3y}!11%pU!+S_v4G40Z!zH2X4jI(8$Kumrw zk4%(}C{0n(DF_7vq7}o*CjNK<&MAE$lJkYh7UsjaZ=LY)#Z3gsLBhaJJN|#20Fwpc z;o}QUn6lO|ee1c}Y`;HsJ%hgVJU|C3hG3_Pf~SbeX>XFrG9xt*_Vd3Wmu-IvxNoa8 z5K8^zyf408)1xRC%ef9E5Oj?&E{mAUs?acO`~vkICxL^ZM-C)IWFv&`xcY`EQMrsT zN1U}71&|hePlQ>MAuX1a>3DypL;t!bn0v|(k5e$3s-*kLKLR^2e_~HKpQ!E%A z!bls?pYh}h!EC3-A9*_pm(=~jhaPSq83L{&xwy`*u;uy2+1j(&-Yi}Qab z%j!byfkffIai>atX#_x^6KdX?Z<+WQL-aHEFr$TeZu!&{97`3)67U2+j=rGyf(}csoWkcVW$G>D;Trg~w-4myAhSt~Dh`#c@x|n;qeBTr~ z7;JpBJc;aVmK?{d4o-SV(yV@?CJu&zZHuYNmZsVOFSo+m?QnnA*n6Lt<&*cXJI7Ds zg^c@OA5H7$al?F`o7V05{070nbaYtbt%?kIJlqqobgPdajeBkmFpJId`YWjq)RjC}&$XKb7HC1zIEvFGP!(qSh*cOD%^gdOiEpXo-sx0tNFb7kY>&P%qh5<1=Gvs)2`cJNpJA&XxgMW zB8XgWr(eH&*<7o2Bm{FyK(|C&^%m3DjGDt{kZK$sro4aYZ}FLs zTi%dpKWO?Z?L>-Fe0bRh>d3E2pbro{hlV7#*%4p%2Q9TQdpw>lZbi4h{&OL^IgT$72-D5_;@j+?CeCi|+Rrf1Xc*IU^i{*YkLQ~Dl{ zMf0b`g~@+$)M_K9(^PSIR(5-8vg(+HTgJY?e{-0G2m%J@2 zkFiD1C4OI@A0_UWYlm?;_^qw^qJI?0Q_J9VV1#-m;$}4;xY>B)l%t}KohCV!-=BM7 ziJ#Ytv~>T74}Uyuf6f2>Ph%LE(Jg@2W!t@!%@Kbo;tnN$L*lM$RcHO`uC^x}F5k=I zZmn`Rg|wTM7NdR?DJjWx-{;xzr(|j8KbO`Wf8@Ro-4s)`?uMOz`A+M5d{{X+)aaCR z9D*P&R_eqaA0GHuww69!xP*c&25*d!2j3C@EA)Mx;=5W|UtibN8{>f1-1+e^D^<0- z>k@yT&F^*=fB(YI=W+GEnC-E3+q2l&`BG$X9t8$Q!0p(>{r;EF|I*vwuIugZM{Rri zdMEn%JJS;UsY~BlR@?t%9`*lyu>j`(U9o`w>K)iRmn|X~7$We$CwP|`-j!zR|4Hy{ zsy=w%I<8u;Jx62MdU^oRu^CBgOG4t9qU3*NvMiq}S<=aPGV38iYlWm73hP2Tm22>Y zP0--PK!y|@IeGlbd`<|msD8xE58kZ@7=?^{cs?WM<<`I{u464Zw%5&42B8I}e@-w`yP~*TR2O zj~M`wwV~fu`zlZ9{mG{G9X35w|6bUA_q&2p+`_o{sjv5J(+%=;$f8i}7C3oWFX$di zzSttO2lfo=+Iafe__B$Wf}&Lma~H!O>6(L>@5BDANQ87n zWM?bTcI~0{){3h2(Y~fUqZMld;(Ft}iqU`dZ< zOV#ASECn&hqJv52fw2w5aN;`H`3cDlKRql|Y~Q9C>>?jOF^ML+pR?|B!0g@0nE2t#rtXU}+1VA-5$;re+!CHd=qdulF(@ zcrecHyzYR&x`I&+h-B7Ak%ti_NeNFNEwye4%roHA$}JD~s|rOlC$R*H z_g9rRyV~t*=DbdQgP7X)*yA<2Cs*v8%|j(o<6)*mJ0y#VPaqn*9kG8CXJ4SdFf43x z1Pkdq5{NQQ9FEi~v)wX`kO+FniSa_~W|L z59ibI%0HJ2oCmc~A|sX0*+Rcelq?Zxx7gqMo|}MKkd{u!kqXIIiyZDiC2uq)|7s$^ z6m6q9OdP-iVj(zeYQlfe>X%6Kp4d**@(tV)VxwG0@*+$2w+I!t{|Ur#Eo;R4(P;H6 z4^FXDo~cY&aaYkWWId*qCPWo-H|52M%FPTk1FW{$QoSz`LOyR+Z4=d_4b`SkBAQb* zQyc}Wg!vgfDiV-@6;d&NA{{;Xc48be%OhDL-jC*)#Ol4}xAA{U4}g`D?g%U5Y>%G0 z1Fnt#42cCds))o<+=XHYDNie-q$tJ9r%xMwmC#m_h+#mFiBn<4SUTC(>F)OW>WkfX zld{lLIpFc+7skR__R*&Xms$#NxT=Y70 zVu>qzEv>P}{-S@1#$lM_^9{P1tB-lBSST5WiWRIj6lo)!LqcVxDPTCDc;y)?#JKq; zX>lMC#=1(n8>-p=Z0~e%-zzYG{}|8H6@EvcCnVe^C<;J@DB};gLn{Y)$@R3{^PdmL z{pa?MqqCe~x4Kvf-}XV^-W`9O$#MpWac<=M?$PMdQQv>i1=SLvszG)z_rQq~Fwrc^ zNmnjrko6yYlRRf#lL(|k>^FK{shwHoRuN*NO=Y1SRjKZ~#UL1#;6*RP9J_bysEzq^ z(^Ce@=Ihy7vX8P2L4`P6M7yGJn9k1;|4ufF`5nGPCpkNOOT=ZENKxRCqH~{+_P3aC zlV~H6iq(IT(>wf}Q{B>cc>OrIA2#%v;KS;gUfMpbZM&CCljy!x%%MMvcsz?|J>#aF zU3185^JG~;<>-a3sESC3T#5FOyK1u9m>9K7@|z8jOf8$r{@oxyG^6%UpTSR%^C6lWk8z0 z(d=U~1&9R*g-}3f5PS$GfOL#NfV^2WdlUI`V4mq>fT;_UL|@qt7z+r2x1?ueZnr@$ zP+dxYqbR^FLX=HIu1#JVz=pB0JEaC6Wj0@kCsG45^!$Z!eRg+f9H;6uKxwI?ZQX;- z9Vbj1h>FdB;;99QMvaQ(Pwmed)l0o+8yU>>{)OJ5_I>;n0$d|6h<5Vjn+_Xt@Ki?C zBU<0t-BRE8hF(nQIqVGff_Ba|>s%tgGJ&OBKW(m86k?-p!$X%xWj+0h-icp@oP?-L z5J6rMI2uktv}4&2C1J{>rQad+Iz*8&aEkXQ_od-~QkUXJsVJwn3dl$JO!tu#iM7oy zP2+V`RjOKPG=F2pz`V?UYJ3V4WrlBkl)Q5VcmV@pbB)fIw}!apVhoiu` zqVubN?hD&y(`T%Q|Jc^o)3)F`RJrCE#Mg_}&~3l;%i3mFOM=(|f! zv?)3$47{va5<2N(G#TmG>jIE!wXaaDFyKx~-iraJWUg>2OA0uD zIk%fkPk2cpA2eI^t6dah_^*Q!O3UMrKe;z$%-Lht4s7J{ zwmIHeJD^0XkaV-H0MyAW?Z>gwtTykIqsuod)%WjzR<#9Ivk8N|f|uCEI|YZ47hm83Q+;4 z9SMqKxn#dK6{?L-e*<(o+pXx-+Jipy^E>sJQNd)PUuVUf}lI^Is^px^fx#JCjC3Gn_S44 zWfRZOm-Km-jO^p76hJTnNEG6Uq@{%my5HiC(NQp9HZy9qP28vX4czd4`}C07PP*)3 zG2)k`ala&UW;cTKP1&G_B)MXLvRTG6%ZO<0CN7c^w;ypf8KA856wM6YV>ZHfTcZ2Q z5J|*%!;RC;oMQuYnY+ECYE`I}RNt*r^J`s~UmMc7fOlvj%43Wve{}7_CKxp$!r{iJ z-L!c)O;_R~VY5CHxaZ$zA9D{!U3%RWp}Lxbx{gRpYz8=Rb-y73U&T~^7S2TpJAASR z?@{(R+>N6%rcM&2kL8FfPsO7d3Ddbj)Z``Jp)dQnC?=bF&e#hk^xvTVNF~J>Oj=8#qiC2otG7Y3Q2`{9$vy#-4b5s&}?;Saxvi z^ScUYyV_eUQ8GsfktF$T z|2GxU(aDCg))oGd&t7nD@l*HUUI!Y)_;93$p0&RvQn+mvi~ZAose9Y_W~{53EMN%XVYE{CmpkYur=MmNIPkKLW)1`^{HOhs9!E66_SQ{%GaszPF+79Rx))?fTW02 z-{#kGeLpao2e|m*UnhC-Q-#hE?7N~Z=dS$urY_McIC!I?O>zC}I&%azbhXKK42>QK zbdr$w+qdO!9A33Qo9*|5R)NPb%UGM13ERyL;x^V{LiX%`13roC;f!C9pXPJ%4*xAa zPyH)&yAR=mU6*n5e@KDY|CP=7=bwN6|A;H)pMU=O=bwN6`Co~g;y?fV^Upv3{PWL0 z|NQgMKmYvmf5pJ;pMU=O=bwN6`RAYimDm&i^ZzEFaWJs|+a);c|K-0e!5RF4e+~wQ zI{!b)W@PDq#^`H$4*PHG*j)QwxlC>NL{mGV55uvLMlOh}v6B>n)E=L}V zT~Rc@a7vN^C-m~V^ra4slqgSBIkT}$ ze$f2F1I1K4Q8yZ z8zH?sjQd7(HRBi{o?1nX`p!=3E%bbhx(Sh>H*A7vDu$cW`T5xtfQY$T`L_*rK|MYN zY(ud!v9iuBOaP!WNXy7;$f7Vky#4-ag}+E?92R zhVf#o$lRyj`wo|Aqu;^iWpn`c&KV_%IWgrgU+57d3`}KA=?X!cixZZ|0xI+(d~i^8 zEp5zl;t?VRgK|8(&585RT2}}?yEk<%m}C@xzO2Wbn|%rq+c7>07Ix$y7yxt&{9G3?wqbC?a8n&A z_Mcv&QK|60@5-9;wAVW$KoT9)WvogA$b(+>I*fMUJHXI10yhOB>vEGqTMX!4Q88VA z08Jw81bvztZ0Y3!K9(__xFk3+An1BXk#V*(KNDbT152`QA!&p4I0&P1@tp9Rl!R7X zqjnOHs8b}Ion#2T@m#tjw5Aad%h`}MKY~8vkE#iYQ_vRjI(Vl!*pVvUqn2FNdeK~HW<8G zL*ZOCwRExb7*h(u2A^e-@d+LK%w)mNV2gh zeF`!+sono_UfcpIw#P>9)xl>xB>W58<}=x+W5`l~yt)R0F2&X` zVWuE~N!T_|TddDZYA)9|wehc}*jF`1=;jxD?1zve8B@CG4K`~dRtT6M0B?K3F-uVf zotJ`$Wl-eKi6{HAR9Co)ax6^T3W_n1L>H3G3h8vBb0@n)tuXqlcX0WCvvf}AFLkxT z&q$dBs5=7oB0%zQM{s$2&F2HS5$$EV3PIWWxQg)NG6vU^Zj&V zwSC%6lIHsH#MrMy^j1+HvkOtmDY5WLiPwoym{x_J#`|M#S-bFkRK6~7%>I^LN5zm_ zr?a)+4yhpJ!_#+$<$U7cGLZ}gUk6@0#DFK&1WuyNWQKVmSScuf%1~xu!|qK?l5=W7 zs{A6M3d(EdD*0(XJ7{^0{-BvCdYkFlq{U$HXLJpAb~yfLq*Pb%-vk}VSDq{jvw)wa zg;R~umS1iMsn^DLZW-DA?eO0dCQ&hFFw2I$%LY*CLD`m3NbO>YowR>ptT2NmBJUg6 zZ~urj>w{_wPNw#MYu*Wfpcp5p8a$W|(P@8WJlL=00huV`04&Rf8xw?8JWK&CK{z3A zJUoUOO!=Tfu^6bn0sT@L*;y>e(>$`q2e4iEXU2ivnG61_AqqSdwGU>``J#9562Z!Z&_`Degf zvJi>)hm>@Vv04H@om65!vrx@GEoj|CgPlZ+B0#%6hR{HGPJ*2{s4AeML&6f8LiCTi z?UNalL;>=D(Al+Y0Z44PsNdq-^6I0S>7QXc5M>gnN*fqy_h|Md?##&v8wu9HqB1=# zG8U}yZCOY4=>tTnzQqgyOO!TukmpA$NJ+jU(Rt&H5j#q7PAFEN@0FBo_L)Bxw-1aW z=mOJKeqQnN6<_8|6=X%8)m@Mz<$2&NQW_YafFCY@nb3Ba;Gt-_aYhC+8lKUZobV_o zx)RBR4Qs$sK`m%DIoE7f%oFQxvj2q^LiCKoJpV~v{T1z>_83j99Ld#@e-VRZPXTR1 zyYAm7r~(w#+bLoCI^vay0p3-1zYdz}(#OR3(SY4*EN z6(>8?LwZ8&n6WGkp}UMV@`=c>=)wm1=7rpU9NlNk?_bm*_aX0?fpSpuF)&icVfAb{{_* z6)P-&jo5e#xqwqeQJ6pJb46OK-@y@S$9JEGFlQrdDSjs7`o)MffKUi7$%7bHbcFxQrGZK(O+YHx zGsf#z)bo_jK(PJi z_1X?7@D#rnUf{*r`wNtOPtM_aV#b;Js9XQ(JGJ?-ld^E6?2r9!#(plAV|M|{Y=Op# zfs`@Eg}%ENxQkwm7QA>H-ogKp(#xSqU#cGltl<6AJxA2XWm`hNvHREz4-iM$dF zb@sPCbx~F+>R}=}9UF*VL-^Uf=m;YFg;-q~l-veRTj0cTp?e?Iv+}8brgg}Ng%Dsk zyVgygjOBbyttox}Mx1h`RM_4-@qo9q^Ro$yK2y$>a8bIQ^8mcy^1eBg-)QZsJPxwN zbmB%K)*);Dl#q%(d3M(BlhYZw*jL_`(#m-UIeli9=#6j2R*<+yV2TwAQFQ0id0r+m zN!v8hy-2W6Ubpae2#|n(J8_sY#~boS``-g-;XlLpw{UPD!U zvks!N$^wA)H{;@`(W9nEXoJ*9SV*N5O<1YhN*QdaE76c7M(Gj08B^%m0gFO124eVO zei5`0K`t_>VDTw`?j#$#+^lO1I+~A)pW#J2bVHr01dNKP>vq9PCXX6~HPkQppYBbD zd!GbkW_uP$b36eHC8XyjwC&PYFBDB~fT0R$K^P=R!k_aotOGg}2qEk|RBDdRvjt1P;M!;VM3K-^C zSMaj3-!tS(NIu>Q(f#$Ph&(mCYJTI{BOg?T%L~S=z8Sr@TJ%cLq}KEPm1aKCN?<48 z=!%Z$cB>G7adBKk|Gg3mb*l)jt!W(}JG0A+YOY`MVpTPg?p7R!Ny<{O{T61r%fw#& ziK_dJY;*|G=Nn)7O6#_0x*yyJ0?id}C=$AHK_&yuL5z`};)4buEZ8=+>-2XEVhH?R zq{EJNa9Ont%+2U_*TdE~(;rtVW#dNW#o#xGM9qhT}86*8ob|D8xuO#Nq zg2WqtRg1UVZBf_`uBag;!om<~RZC4ZIRv^X_CG_4+X_#Tls61qIKAh?YW;{r<5qot zU@Tm^(*(q!vXNCYV)buD?p>rhl#KtKJ-7+1(Im=xQNUR4Rr^kWo7?da{NVbDHMx(I zU)V!A>*ivEXylty`v8x(tfHz5N>iLA-o$Z#=BjaWi5=MrjDT+u#;r=K$r)BdF^btV zLbNkAG)CN`7feonE0N4iJeWhFLvbfs?n}t+x|_c}ZJf6BU*M3zYF)Bsaj(Be)lfve zBSl{vZ$y5q=hY%r<|$6q`5_e_C=NGh3D=5O+VHgTZ5%FYjTUd2BszU=xy?WQBGJKr z8oNQu%5ReJM;^YHCSd%0`5Xa^GfV|XUog%IYk*q~F$VvB?Yy9OG8)Ttd>F=_sVINP zTN8Ks>m3>F8_*jD1ntm+a;yD$@936?X|CWpea~5DO!t&`i~gs>u@l+Or0?uoLw7(1 zt|*ONtW5`An0ifCHXU1g4`16rpg87#<_jTM(w{L9;v42ZnsZfL8O-g=VlC?xzNT)2 z#G2Ux!#*YJ$pn!!);BF&#{G1qK)XE7tqZhB6wSVojw~ z8&&K6hJ|-YZE7qtwiDcHCeG+ld|Ipb4}?#Crju3-yg?i>LD8)x6$H#nxIz|$Gg%Wa zF>zTnLy)GofvvARXnPk@=^82lut)n`&!qgm=grNqdT@y>`kPCzYH=?L?cQAhk?2g_ za$A3G2;V~(N}X`_>LdQqlNe`zvkqhZ)2gyS$w6km?FamFsi=iBek#0l$~(^4(!dJC zTLGT%hh;s!lM5CQlb7cSo(j*NbA1az_;YVuS4d?>TK0HW#@n>0E z!wJ+fMU7xUmSqL*EpEGe1@=B6##YT5dDa(-oX@6nURb=tf6asZKiHOkP)Vy;tLWAhs7W+vFkHH}$#d~7 z6;(~G80&&_rHG=XN0H@2$Y`;Hqm#hN*e|soY`tBrJMbJo#6NjOGUVk~vBg;&WqPKw zSsdN-9rI5=dFJFY58YIMuv2s!?=K5?!@P3L)CBr91`d1+?R!sGwh2p;VZ6Aec0lX| z*aFeOaMxr>Lnw^2<)OiUM*-W2npkj6A{xlp!@k=K;ET{hxm86r_PG&sR2YoUF4}nJ zulDv%RDHaQ*+|f48e|yMofTY)e&(y85-G?l>TSm52aoH8Q=VdfQe{)lz#Q$BeSCdD zr7j^-`o!rn&e!#MgOiyca*_dI!|ijFU-$mb?mvV6BClQ9=na4TfRAN{F_Fe4U7HXZ z_&P?z$8{u_a%AWtwu(Vr5e1{B!w#Iqn||6}5;xc=)2IuGW0@%ZamqSOb?r?zChAxC zO~SkLxwHuLtBmlKPg1OR0ZKVh?F@;-HFx(U|4HI}sxiyO{cCe9%+(@- z0EMWC!!s)K{l#j3SBtmh>^3A2`un*`qAUqtX!hkC0LG4g3OUYZmDDwD;{7yh%YLJW z^V@i$+)Xo76n+o2fP*$p#Ynhxuh$|};yd@&*FrLve2RI+=qLEy2SP3XwFM+=02%}X zlq|p)TnF&5!Sa&%TOP;StS(~S@}{S$YN4FNxz)Bt@bF=>ZY~d#HcD9~#J-W6sNs~5 zAZsh8O_E7}>qgDj6wclOjVZZk)ArMp1QHhr2ClPj-MO+{%v7O929l&mfe&y-lxjc? zglO<|@^}~O)aFCfZm~o=&i;b$a=C7%k-80%Cu^bM z@I}~6t-wA^6JpCHWB?K|$vOGc3>ZAB+GovXX$@EEb!6l$>z&#Q3ErMr=rAy0qW2}_X%uPaPy$37 zmM*F_()_5S?3HYgb>rSXz^B&@LL63x2fn zLfdAGX@h+lZ*7UPm%*U2&zV0nX`xG5EnC8W;iMW=!4qb6`Zxthv;aVbx@$@BLq~6p z>)9pGwD)|ai9ZYWUV-|`u`9}z511N!l zl$x0Olot^j-t>;=-I(~&;z>0pXQ*&~#5ocpmN&Weea@Qqqq!*u#S9f+j0B4AXO$3t zPm$V7dt6|g9cc)OJ-f1z^x1+cP|q1HQ{m@LSa>2FaRX`fvK2A6@MAb1jnF%DtbRMo zp==vh?w5d2X3I%LioZ_yx^0zH-i&yMCx3RQJ5@5V9h1IDCE{qW0Votxgu%Rg>uA-x zOT=b*{{hEKx{Xn#e(+*~NJk`s9@8;@StjK2dm)82XKAWAQN1tln91UR+g7yWumN;< zEov8Gix5z%H>6z~AaVUH@ali;;fRAMa1A$R&mA4er6dt%VN#ORylfqG(!DO z{a0;Fgr+LLsj@O#{&^0UT&D^flty1v{GNB;-;t7wT62C4n`ed?t>^JTIJS`vU*OZ< zBm$projP#FQQ2~uE91cbHXLtJBKFoJvL_2&IB*3_(CQ+vT6eKuW%eA-CU{>Fn(=#J zS;Oc0^VoT9V%$qs=?cS@KK$2z=fXH`q&`!CT>@XB6lrqUW6tG)c{#`FRjg6toU6O# zW4HW2y+X?mV38pWNfTWt&`Q;pS!}iw$e1?at0Uvgim`i3mp(TM%}ZvIi$sH1v^B!< z(sG)o_D7^*Owa6iWSiKyXV7_jDhLJ(5iU%kNMj&xe$jjNzqe+!S*qQCX*N)Ly+9)9 z_!QWo3^A<^NR|yeN5d_h)QCjT#?zTyX+}{6CRV7mSYKvYXrdr@JbEh$2pno* z|7IbCqz;({kfVa!^)nin=gwqv!$1vkLe{*o}`LgtibKKYI_--ePH+A{!|=)d)kcOT$b9f{7#u{ z%4I)r%9Ni<^(*uD=LFH&+Y{*PyxZunH%jgM^;cw|%ilV$mu#PQ4q3V|X^)cumTdR% zQWa{(Nzqo(^4XmZtnq^S^jJM1_mdm3qD)rYUx;{V(;s$JKD7hQg8^&-1{42at|jLtu~Of2T~Pc)*>$m3bvo;G8? zh6yM5Z}jmTx&qUEOGl4pvo}6wg82mm#aUNLEt^#)soFr2xfx{oWsaX?so9!UhEG@e z?e5#0p2jfKPHpfKvJW!$U(kWdPR>{zO*?H34dAn}8+}fH(zzVGLM+^_5vP3D;>B~N zUfCO-OvfqHTS59KFLk&_6v>#)dcscQ(3p&!Ar^u+I1O=vVRjIG$n+a72=Upt#f_#= zLgo1t91j!hWnS5u*-c#^ZJGu*)m~+;HU*1EMQU!B9BaQ=$R>4CZ;o-8okAu|9mB(q zsh5a+V|Jc@x%-?@BcaIsefIg~-&R=SHXnfH?e0bve=rRmWnui@@WL3|5w*1@2TBaZ zC?DCwiNf4og2kynb6~A&EY`;M%aA|P1}mloEZ(DBxH`MLxjeiJ7W)*6Yso_od9`%J z3gGTXKcc~qhHq)N{}7n1Tbi^Ps{t?6;NK3s`WN7TTnU0frUveKs|r8ch-wThuD!R1 z2lPG2Iw^E)hQ96@hpwNgD!z7uO*!LKcmzkbm=yL_knUcfuG?t#qD+IC8m13 zT<3nS`T9@DBJKJZ&U3%9Jj>>bGyVR;@O&A!vb$nKJbhT(C;}gtg3gkjg-|7f1Mj+2 zRk9=$f)yHp6OiOt1=~j>iV*0kAHxDzr>b6m22fKUQ|m+ybc8QB#mwr@Vk#=;r;2J} z^ImBfvf{vSYxXC85fr#>15S5UytaOPi%bk%Kp{Nb(dR3L$V_+WW5O&|lCK534HFTX zO;;=$p~5ir$!)k!{Ob#fqzIJ^HdDGX-5Js1qOQ*sQb~Xy527Ihh?$bjZYly*s<5+v z3#5*zU**zVzi@)SJ14cMoqcw>!p%L+s;tD4|Cw}MIV!6;0(cyk3OEWaj`klY>dWmu zs3wZ5HT$N&{)QY0B%QRo=N+JygX~24Ofvyu;q*MS{WuUV5C9! zSnkN$cG_g^kFfM>Jh9m-2A{OXn0QWj;`E|i5!zlUL{<@N;XGg%+$14K>aw?gN?cVH zjJvb*LC=RpXRy>fI#SnO0vMXC$mYEN=5#L*Qcn#gO-0d}Mzw62bOoG&LMG-OsZ;Dp zxpwN9{cig-FHgWDD+8b{qoBk}1{5FxfxhcWEz=gDJ#Nmqr_ofon2UGPK@%w!(R>2f z5MlQi9@~Jm0SZE(BfO_FJY8mgVWS5Vn}@$yj^Bx$!yvIX1cZ6lr(4{|xB?iWo-?py z>#rwkNp@VhCcwNHsH8v|En)C?>Rjvg&%E>+XVEQO`OwT#n0b|Cfd=Ir|9{Rwy(~sZ zFBx^*TOpXyM0A!jK~fb}g}YGipZ|m+>NVs9IOmAt)<;O)SW-q)SLft^$wWdj-OLHLW*aT$BT@WJc$ z!1uKKIsudtJ@a=%hhmj#vShf||2(6tZ;jPDMa<4Q^L4NeUlv$T*CEDve=BI7c4Q2K z^1+%xLkyGOX|ZgBGi~L6Zc9tF_;w}yuODRlhzOU-Eh7v%Il6{{58FM7`DdQhTsJgyOQ9^K0Vvegv|hF=zi=Y)w6g_uIK^sBMj zbAJ-zf`2sc?}!+GWzVgLYE)bXf-gC6NBeG&K?Du*=Ua! z=>9S=zy6>yRvca(1ZTB~P2#o_pxVVqkxe1?3mIbbMvH_h-|RcTwsY-=ifLt38r~_yzStQ$Nz4*R$*K?0K^`(;|+gLLvZwp9;m`oWR)}d5_C7XUr+ga zO+97`2!!m9{S?gEBMh2^u96yS#A{@x5c&fs!N?B+ zGg_Axk~tnhEAIZwL5m_3B>nuOzh5iI12iswOLC;s0+G-s+RP{K`!asvxlIi6eMbA` zLqrPI#6oa&{`LA>?{gn?UX9=%NyRvEs8l_HjvyjiacJSOW(XWOOKF=ufQ8lK;gvU z&KsWo1Zsrls!7E!1yvHwsXkN%o-V!rDsw#D7N0O|;1Q;Gf?X2dlnSz%Ew_+^Ap9CL z+P_vTB7WV8ALqM2a$d9&MAo!o>`)?q#B_#w|Jp_hhq;^_FvPBYz)ic1UE3YQ=c13i>Fcze<)ir~`vn+1c3;o9Y=z%PWMFK<@XT4Mj+Lr2-PXlx^L>M&u|m1;H1m6k~@C z7)3;2r7exL7Ch(~t_N_^6jSQXB@`iVFMz7HVh6w)2) z_HFzwa`TrR*=}s~`-$mnxA=#D#%l6YD^WG-SCkCt4OEM$JDVXXpzwcV@1A2k3*JV- zx9#p}+nTm*8`HKmZQHhO+qP}Hr)_`Redl-cX0yB5O*U^f*}KUk=kwP&sj8$Zb?P}e zRZr1xjVX@jeUb!U{MbTy4SVfr=sVc;vgXskZDK1L8)tv{2bn`%XZ z0;vGgA2%k+G9vi|4&mT?Qk8UuG^7MLIQ`6UyfA2_KOFYPlZgAFwBrey=f7MlZ{Bwt zpLeXjIMkFbOmHBxl%JNXQWJ_&;ZJ=2(SOAf9}SA0?i!b%(6158<@ zZ2|60sk*`x?HL|t5C{1Hev^%JS-*1j-x?sgu<5Szx-Q^Y~$WAYXo*c1CJ6+ZL7c%kpFIKS6VigAZM&W$880P%KT?6fr!uwnf7>tqS@cs(;9R!-EF|IO->mh0L@k zJEwNXgijNH4AkJ})iYFhj`~UxbnpE}i1h)21}FYTK}F$*bD{WzdjrNsZbCuIc@JXs zy9pd}7Hjbha8~Pykvei2z*oPTK4;G4AHQz@macrXEJ!8SG`&58YKde=0_z$$r=+d@ z`=0YcEWrP3gHDY8Q$wtES3<=%;;XTa#RYWNb6sbDO5PjH>wYk1g;0prZ=`IJ00Hqp zza9+oAgd_;q*rT9059p}E27+Lr*H1`1j;k-&&ZnR7s12O<#)cu2eM(R_;)BqzB%v* z1JfAJe3u}0Fo`I~fj`CzQiXfd!G>~G=dqcS*QTc`;!Gl*7{ja zfRiYHk;k8OaSeOaz!GVh5I;l=_@%7vV!}rFb zPQ@DopX0&%sYAVZCRsF}zMzOBys)!;Q*>p25G@X1$0!wG57ar0Tz1}9J~=iwhI!&d z)SG4GPuVTq+KrH-a`tg%WxYI_O&^6K2ch{n9yX7JIc`WHT}(M}(5BJ6ZiGYYqQ@yb zJ}?CkWn}^*@4L?zZ+Lhb3D50j)0-)^^2y|(H&Eh39({rV=T>AMvtZL#Gf$8X65LjQ zlnkNM6NS_hY_7g?aFV{Emv7VGFQxIqkrm>|?A^=Po42b=?dQAF)D&o7r0!6;zlS=p z4fY^rz@A>sO2Kqs$wS<5rA~;OrQ_!b0`n&YLLe95N)sKhqU5*wUop1B=bwY>Q z=E6pax+3IovT1VC&mJ-B^{>A<8PCpDTxOgf=j`nL2It@O>`ZZnl+&{|igr{|yux3y zA$s9Zi^>7UZ(xhE9<}x%Nn#5qKlH_TL-J?`Bg?}^{eYVQ3*hH$T{;4!XSEA|)3+Uq z!FP);a~+J%vcA*!3WrM9v*q^dQp&OXns)3*b1{IO_0!5_UpJcLq28FxG<8NW-GwQ( zu)E@Eol$^tK!Fx)L0L=M{qxd`^RZe3i<-KPH{-e6>1|#MaYghw;BMOUX5n#!CG+DE z{Gjb{MYqK%w=5Q!d+dUx6gT#NFf7F2l30cZ?)MRRSRXKB1-pd*q#s50^KNQ0AUH(JwNt?!yFPw&~K)B!#q*AFX-8 z&JqT=LXbuSHJs4AQqWc zGn4N}KihnOP>+UB-$|UhEC~DeX&N6#^`hSltWQr)P~Y;N-H-K!zksY#;a;Ibzk%u(4QNK84G%XgWa-q!^aizf~r?<Jl$x$Q)B2FBW2pn1(Andr98(f@tY0;u4|Ft)z71b`jyCT-sNL>V zp_&)xhPiEAx9c~VFv+S1JMA(WM~mMa$JI(e5dIWsjhnRyJ9M)J^nvg=FOv* zfB=|7z?w`Xo&-HQCADq8X1pQa*39mtXI+{d1bxm+E%|}i2=ilyJUo^G5ahNmp1TJ| zzjt+dNm{~ny8e*-ojBt+R9*jQnNb*Xz01wQW$tlHtC`Awd;N)7^O!nq|E4}lr?+rF zph08fky8QL4RV9pfHXbq`^-&+ukB57+znPDH1A6_+hlS;Zky3aTsJ3xH>hjj3T6N| zUJQwSKfYf+n}4s3HR;hu^gTnT>i)nk7&j3DOvwp)NSpN`7r73F2qE)(lF8V1Pc?jW z-p%6yG6n&E+vMW8Zg?ERrOeYkpuSWWdY(T|dhjUyT>1bEisdF``u6Hx2*6f_xa1JB za+FF(U~$^VE?eW5zCG*f^`HDjgLo&6-|m5{sux6XVvzN( z4fCvV*F5g|5^-h0F+34s-g0B^vU)P`OlZ7A9p&;S@0-2E3B(Vs-eW2?FEGo}E_*l> zs@+)%CX4Bt;nj}?<b5y zVwACe_$lWc#y?1%;;(-sr3#n3~)Ejv1zX|PKG49U!k(PVIjYA)Q%+pD~c}dca#V+ToU!ANIKI~!&{U9RC zlQ1r)UI;kh=+p-ewr!V4^nA_Yn20ci7_3rB@6w3^NDKLL+78$(c)_!I13%1;vqhCx@4-9|3~j4AcoXR58*bF}CTK=f7kwOb9at*mEJKP3!-h?8;St zKesJH-E0KC(r<|Xda!xG_wTyWy&ek*hTqW`pJ{=#c5b7Z@Y`ofJlRBraUOD9tZCKo z;Oql`(-Y-J9)LJJ?yol7cTXx>Ad$%%qN$2z`(YodJEDQtO0Wr0>Oq+zIFZz0rA_B& zGTc3@WD_7hmFgMU059@3#SHA|DDAX=qP7N>J%(h(NnluUl0<=78w`m`+K*TH{JAPo zU_n{EmoUeS;yOBx7-H&)noJ&LEH=Q2D8;Q>|01-Bm)Vz`<<{wE@tpl=nJ7Z}2Ga37+#n zy5fy~<2pazQ*(64uMg2j)#lBAEwyyC`^q%f1c(BTE|Ar?lo0TI3W3eHY z<|euzBo6Zs5srx?N+>J0erJ!CMjDnlCG~iW$62nespli&{=+3zfE@&S@fg1Qs$6|j zdo~2owCP71*c3=rt)D3S8nTQg2s@U?WRUP-EDTW-+y*C1kO@_>Efh9?N=`X@jC#R1 zN=I0fHe_@Jr8_yc0myr4kQ&$;A68Y3uX&1 z)3epG;V!ZOxQcLuXhYC{FjV9xoHK~$=_@sLaAI`xP?|{2eQwEzMH(at+t8;`Nm+YVv$&A$}-x7)XxqU#^MZ$$ky?MjE}qt z9;B4yRKg~pXsbkE48r7e(L80w-k3sBpdE2Fhm)R(`8x( z1C#;|v4WsI`26J=$Zq2_N-2h6FlFq?Y{6dlV78vupOP(GB2UY?DLR05VjH;(0PKOx?%=mlEzttPqRB00z|NO=azZT~y^`;Q`VZOfo+m`sSGn{3y4d@c+>0x7_>nLKf*jYo zavWWMjPxR34mw@Dn`af$!vWdUt}*Yzcb0?aBmbk4DAyC}(4SUAMISi|kr z_cM(DV~p2l)s>p531Nc2L%!Ug^ty`#dm9jY=O2z(1S!sU$mKIpjOW!Ge)Cv&MBH*= zcLkw%ry=7Ep|u`1G}tKd@!;m8OR7oaZ5nLdE9^mXaK32pge>%jA^*aD8*TN$Jc+h{ z8%hY6k&FS={EG~N<-&m45%8ntWzE+4N$p$0lum?t6JLQD{@KGW*HT3JX*bexzs9=$ zdGahi-u2B#)5U@!R$<<7LR6b^m<4BTK-aoFgi2OFL2-!GNQeyrxB-8IOTZkT+=uku6Jx%GwMcdk!8yg|l>FTgrqx%hFm9Crkkv9S~k%*k+MwX~mR*LQkDKJH` znsE3u4$szGqM+&%l>E_q0T57sK^W{Lu6=eBCiaA=^Q&v4IRVG3(XHJUgMNiC*ne0| zo(mUtg-{fLr)>3=LHd;oJ*(BCM{FqAhow@snbEl@x52$^vE2He`jXSlurw{U%aq7b zULFxI!L2lLJbW%^{f!@Gb)>gFzPR@d`X+t{Rhh){_}~02hWKAUv^8gcSXpb2I*2|XhU;llCsjx7(c!4n-rnEolcl=NcxQ8+bK!gk9MuU```SE+!5hoAmi%9r_S&3Z45{rhmHYYPuwG;x}?e5Z(6xSVpqfKoOZ;)<|(bEl-U)2F+)rLbvOqTgt z@J=<5&V%*|ypWQ~LS)ePxcLi7c|VZEkz;HS<$E|^=N-*vy_>Y@fB1KmFJB$>${*W| zHm$Ovx%x{l{+3GZZtch6ng_=GKa)O z(3YTW0$1`2gV=Y1w>+U%AM9*!Mq300a7CA_SPLkPiX#Zmi!e;S~Stcu>z#(or|s(AoR%FD zq9aw+G4TCh?Q2`tOw>vdOR@vuFVz~{wwhbfOmR;O3pkoNce*Ev~Ca%7vZ$=Hz~ zs5ue{6`2xDe~^W64+bq{I&~aM5)ccBKN406oaVDGm1qK`jC6yQxnF<2C)RFj?6>AXig%LESUa${LsRIktd!y8wOdnDpU|EQgwuahA64cfhs5S4n1CmKW;We_Bd)2YA@!I?6U1{vwD)l^&1~ zVbK&E^Uo#=B6^*n%nm>N4QZ!KHRM$SQBNP7p*L@KicH{klT#PBV~6(Zx-5tyB=hZh z0il4)sBAV$A|$^!2sb_v24=&s`U>mJGXGp)6(v8|C-S1GbRzWh! z1v~*Ie<=gPdCgjJI4$;pl{$k@Tb#CMhq$3Mvz)=)oIWlW#N%!Pk=PhpFTJ|oU29!O zTnsEBNi5jWxs{79Mf5U*aU~}HO6wjrm^*jIL=E2lm+EG0&)^}@A^z$*BN<-sg^Iy0 zVG%J3sH;$}ER@Basp^X?KgvN2&Z1?zqbt}1f5Q=wY;;M&;}yg3*M%=;0LTR0k=lA# z6ftux&HGM4d(@52=nmyl@gYk(z{Z#%Xk1$5PZYm{+SZ%`*Nz#R#G1~bCdqm}bwpZs zLwT9xW|#=W`|8<+t+GFB1)(kwS&Q;Ji;s#7Frf};DSqdZ*u#sVg;5HG{9M`@WU*~e ze|5V-ww@GWv4Y}ZK&DF0l3o3BzcrxDVb(AZ-PEAtijydUv z9>m2hN3dp=(5h!8MT0}Ga7Hkro&{y$X zOxue5C4Q{DrruJ>CE{~QIsAcM=;^N}$}FC>$t(tCkE4bvoCdLVGA2EZ2rWvge>X@Y zg=)~QZULWS^GHB(0GCj%!pJ28*y;^%dQvCK`QUGx_EoYc?4;1486Y)b$u%@6SvY~m zowUbWV3UT3Zs|&H&md~0IC*|C{A@}Uuc15m0{nTA_W`%M=V`;=uy45y-+_<=Qp8=f z1gESbQJf?j#WxTEWh@xIiJa^(jy zdS_}cTu+j{*gy^&h$DoWlOigHdw+jl=^*ts)~QTdnw(D{*DP;QSXT2i;hu3WrkaLZ zJ7-#1PfSZDYclwKpR=Oo%?|~VF%6-J`{#W}vtr3mjYowN&2&)=)kLeQe<)Z^S>Y06G2a({1%NlG)r|kw5(smsm~DvNXjx6QV)d`^g0LM!dnLk>jwMoi zx-qfDF%}J0+ys^(6)N-K5%Uw$?eZNiC+z_9W{J=dsB1U+`Rbd2Nq_)K;7-M#p_aIA z2a|L{C?MIMxZJ5D2P+-me?yL$qB(3EPnAf}Agfe{1h8V3kd;-LFd-}BIRPk1r%T;{ z&Fev0#6P7}4ak z90E4Z5d4yJ)S^Z`6V#55 zsgenpi!94?b9<7DES;c~xsy7SXfPP(icVd+xcbX9446%Gk}z_iMe_m)dEGqKp4U?y zd@YE}FvPOVgm?uOj;l@#+MB|Wk&#u^H7MeY-NOgN+H|fZn$-(GQXY8e&u=cid*3XB zE6{1%L~G-3Cr7p-M5~(V|Y) zC5}+1dbAfzCynOfl4YhMiLSaJAxlFaxs<=neKGqm%M~et-gwfeU1r&Qmhbdhy;6FA zJR?x9G}&k6;rSRiJv{{^lCCdcc}V*?rQ8b5Iul42hAlO?^RA9s7e~k_C#`7o3Si?n z$3NenvJCq?fAf!hu99H>9i_RmPCFrD%U4&4S2V&frX^-=c3-Ssvm|iB&)0aqLx4{O ztL{RQ6g*%hsrVAAoD<&Po6k-QmP$0Sb{*&mESXsP@yQ56V{DZ0DbX%GQITeU+spJk zG?`v%Z6U6YJjmHtf3WT; zoM@{=d8nbSZD{Ru87WlP)}WOCt5UIYxkCiTUIuqmL^0^*UC$2JQ%RI4N^cZV?Oa7| zm1z(jf7D`qoo^$>I{894oT2vBL_u-s!X+#=iw2s#>*yFz7%Sr<@mS1 zz7vwaFT5Y~+(!`hl9_pa#JVvwi$Fcc7wleri|P0$vOF7Zc?V!rFnTQs1bpT7CY1$*zOpP{cihb94pA`;<3#?~p$ ze{4twkxowh)rdX;E87GD(x?IGP=aV7JfDw%TkX*KdF11h6MG$iqtA>U!k}FsT!$1) ziiu77LLA&9;M^S#2CKNdt3p7C^BxR)*vM%c2AYH}-bu-Gc80df;wQ;}2sv zQ#&bmsa&?PiF{&>#O;)U8*(q$}b;a?0QZ7-6XrdYyw|44)zH7~JE% zeozUj)B?(nDkLFsMUku_wdvp4d>>7^gH1~3%#sN_9aed{N1i)_%)4I@H+L*|e>%Nl zPa~aS2bhXFlhoRy7O=E)9kkCU`hvx{of^-AS+O-+wF zi!42-9oMQvJDiEM1)lh% zmjvVLHSm^(2Oy{zGe+1D4-c@1_pj2OAuiqAv`H81#oFIh!U7B#;EmAc{?TO6Z&DaY>T_=YD>z?jWu z7c15l&Vvc|eSN<3H+llDZ>mnxrXRMfW^3HcDT-^85_*)*F08DqJPR0JvLsM{i6Ppv z#k?dRdM)yA*$r}k{ni0;HA>@Ff#B{)H^4-T9PW)7 zD0>`;r2i;SAeS}@b<>~{sT|j)A(qPsvY4tj8pVI_`viQa|KSKSXe-n#weoWrpu5;V z;6MVBZr1!8#c#kS{!$}x+2kK)~Y01$mo+4-+ub(@zhuha{jlhJ(U z|IUEe0T;FWkC6YVP6-pNs`^*k`*kP&_u9?Z%*|_$o<(y&>z{espNOAR*wh!mK@@UX zFT#@z=-AOA-+Q2le_k!>v@OTS$97zD1Rb1T1pK50qE*^gcK^-D{r~$6*)0FN4B7u_ z9gt4%)!*mf7yfIHT)Jmfv6{w+uT}L;!_7&{>{R=sOewRnsV3JNwdmnWc?l&McF>$T z?OG5Ja=&y`_)Lrs~Ho^u=QNBZKi6&pD_JdZre z8`vNB-_IuH>t~P-Ui%yAtueFLJ16WVVuPA>=*q@vJoDrirR#)T86(}D5Z#ww@?EU$ zc9@s3(Q}}ocfZ^00iNfJ%)Y0uswO)A;~03lrY>k_W@ra zrlU3X$2Fb!s=1J)9HYN#g#17m^dZ`e)5{v)j2WZ8iDVb)YkBdrUvE7%+A~XQw@!9O zYF@XscQft_k|`bs={@)O9@M@IVK#qMf#J>^w-JNj?aKtvpg5((BRC$I zkKLyOe=AYde63rR-*^%2`8Vc4a-jaP1{NYNij7mvQWNFqd+v9VTq&fTU7(Q7$(arr z_Z2q9tgki)Wn0x;QF}|1 z9Ef`5k#}y>^#0}-v0VAKizp7{8_R+v^V^;L<)*FZDwSI|Kb>f2?Gj(6hc`#x=1`A(+jlq zvWuLX_cWh!+qn`7200NJOPKowe^q7(e?#;`$sH}2OdhTi;hF?D6Ef2%65hHaWIXh7 z^^M~sZM_kc2uwq1PA@Wi^_`{UO(oN)%nlBV1-Sr1E`>2j(l|9;I>o)|yeeWs#1 zKVgYl7Btc_>IGZkZuBxmKB1%td(JhmQX@*@BAgcI-|{NYE(Gqkf?27?$49Ex#S)%w zGelWpW7rbFV#*n@KtypBA)o z!r&%)nwGbEI?du6JslE1-QhRa;|mssV>HG2fD_R`wNudmuSB6sz}NJpqnV*pjoWhx zOGVGU-h6#IF9HZmpCskA-V2E7^)Zd2N0_k|DpMK{q%M9i0iBT;``u=+e{485ZScXdXhhBT%SuR;N%KEN)y;tROR3g{RzAY>8Y*48)j2{t)J92tpYKC6{CL#SZmyd=X= zQwmqW2)#n_Al0aZP1lo;p2JzeRL$qX3hiFqXaG6}Z&%OpTE{j&6+V-g(XCi!(2fwD zB3QB3Ku%adLXlvM!yZS?f8}KJi%jMw8PLyBjbyGnA}l@m2W*p*kq;W;_5>s(i&-VD zMtK6CfN>^uATB^cS_lh+GZ%NBH7 zX1bfM=p%!z#_Cp^ka#8fqeiUNw}P4F%yCjT zlOME}@BDmo4o~k;IWEwPUYIGWsbCB)s+rdqKs?DflC&I8m@Fj0SdpZL9aa%o;a`!I z65AHkM^;;tg!@~>e{xdx$MT)z25jTYa$Fg=zPE+nGPn}QVM#kDH};@mb^m&NdK6!( zQeNXh+uO@vmhUuh4-aOW9Y@pZ+LoJW$@n6O4yIjRk$?vX5t&lTJ@S}h?3iNMWJSHC zgx5D09j2_+qorj`qaFYZ!}MJSLAkp@;^&f1SRL2AbFRQfr-mzir{C>+oH1s3MARsD1Z6+(jM*1MiD;H+K^g70U!DY)^ z+2vqEMykw^IoyvGtjrw4uIf`)Beq{gb=c*&>XEGImC~=0W|SdV*~4F!W{h7`=OJI2 z1RQ)`mk6dHe{Oo+)IQzocDj||)#Gs+>cN_gLJE}!Y8P$>@JF%Uy@xGhI!slYRZC%* zFudBMhl~bBxE~|KH{4nqO;`cfafm6LfNogYT+LF}YefRU9Sio3_W)E^kguqY&G3jC>6$xG2DBGaa>_y){N#?IILOZZpT^o))PSQ z2u*A8N!V_e_&HT~f?a0-7VIDolob6eI%BSVfl`G^kO(|L_SIbr_6~4!F`QD>RVS!k zyQfBDe;kP44NGC?9)uAhaRiKA8hYyGN9918@g+7gL4CS3f6;m4?0Mbl`x=Pb&g1%| zVix<}6Yc$^+Y@kTMtVSfA^;tT7L|2v$VeCBs&QjIF{OK1jcose?e4;cx;i^(8e;z3 zeMOEpT#o%VSvVoZDrN=E-CvH0t1`xbScc~?f7bU3|LZFBsQRlGbonHgu;&S!r|2jB zU6DG{Kz`BohGz1Xg|1|2T9a6Gx& zL|$ZoQ=EaLEN-T;O(0^<%GT>%{Ji0_H59PdH53kiZ!SH~v~v!UXO^P`oRYr^%08|V ze^d|>31n(7-hedy!42Je}FTiiN*EJn{e}U8=ZW{#8wq*IRgX?qt!Xv zfAc?{h0^1n`j83%*>?Hg_5puCcSE{fTVJLPJdk}h0}H|M=%plVM#%z%t;Z)SS;||; zE#%nd2k|Kg_@%L(%U5V~Wb8Y5eq;do>Bh}uDCrp@F{-fm zS4_?$K(x>vS6Tb#;)?fPp{v8=e=HjXpahrjP;88wHl&+QHo>BygDMC`fCkL0P5m!2 zh(-x`C(B3GPU%E1waxe5|8_2tb0}K4*uZ!?b*<;R-hwx|JD<^bw-@^e>VcY5fmtLe z(V1CRFVJ=jxRLqnQd*kLA8=szgavDP{pkG0HKU_PY*8jcIQR*itEVhcf9m1G80=~n ziLQ9N^Kj>x?69y7szHgxSdkQCuf1c$+hTs-kiX>%>2ZlUTr{&}qtZLZ5aJtpc*|hI zG~Z-!!LI5`+E^m`s1uzzud83>lSZ{xvXEQCc|uQ?a_hsY04b$#+g{KLmYGMt>NEXH ziHIIH;maubC|%iVM}N4(f9ZKxBEM}?>z5Dp{C(0=FStgDX<_!&1VtN7TDZ5L2pZ9dbELl40q_vdFl?N{Z~ctPOwR z0v^Ody!m?%BGB}gAJ<;}v^QEWl>}X-KDzj&JX&6dHZPFm9E4~Ghn!rUrmqJzl>>p% zE{T?nV%R2CS+Q%5pUGg&5bD$I6f-4ev9;T5ywk0K-b7KNe-@YeS*#sLyuB+|WuRCP zuS=vK%>opUeOT}oGG-Pp%ge==eUB68D&9=ur%C%_k8=fwdU~&P4m(dDd~%AjC;GX( z!9AbJJk(%`AQ_?sz5eyKyuP}*bsBG$wU};|k#~uKl;7QIz3&J4m!ofBH?MudzC$9O z85Y?K+%FWgf4+Yk{;t*4#yKN%z;PeJe{}ksxcQ$riXZudKE@DifuDKq|9EVQz`s=H z|NQgM{~s}R{PWL0|NQgMKmRL{xccXxfByOBpMU=O=bwN6`RAX1{;z2E{`1d2|NQgM zKmYvmzY<%KfBxST&4DV6!P&5KFEgB$E;; zXo`=a0&dD3E&gFmttV;G3!h3}$i8 z-hAeMe?MfM;JrM(JaNi*WRhO$;p68~f9_`pCQrfBO?@hrDGOS{4NsSitOS`gJPs^b;1mtme|R3Y(+D zmhk|CrWFFGII*2o8X@ni8MdRUC+CU*X1{+i0TkfUg{ky%F}@a-ie>HdDeNH$-1eCq zfB6{U&#b^#@p_N0<9$4c2dSTNF~)Hk)rxJCoC+uKHYm%zrOf_KlJiTQ%@|Lb_50yr zd}g=3tPt$J*ry9AIX+o)A;ttBr?2bHmU`V?UYD%8VWp>Zt1mzAeSAZ$ym`|$?XZ5y>ie^+{GOI^Q%omJ%~CPlY(I%{b{yD|zd&q+;p z-IVwCAqH4s9k_bM<{~wG`-WMmR|F#g*4fu5&H=g${Y4%~ynjWXit;eer7cfOoL^Y! zD{3h+94t6Bdi9%9$wz@o7fka(N9BWn-E-pZT>;qm=Pi>JcLh-MegPV01b*+6e|~}( zztjiG%}SxL@3~m5o~ftvEmItQKnvjy3B#nHVa1XG+CQ6T-VnSmuJgRk`3nmGp7l%#W|731ZABYA2r0H?wx^knjq|1d{}o zNTWN#4%u(mlJQzyY}yZ>z+L*Hf7Q=mtP!;_Ocq;D$=4q4LW`ZQa&F#HKU`Sw2?lKa za|PxItI0)nSoQRu;8$tgZh^qe%DXDZxb!v5S9j*R9#FbTHS(N3FJ>VVpLa9cffBHl zvdLvb{-7dv%?FHAhQOrk61xOT8r`;%3IE~Gr@b6Jf*e+!wLpSHhn zulFQNmKvAe2Lm^_*P-6Rl+`Rq6@NCSzzG~Bc8bd;mRbado!6dS!^^u+zr4g-=|mg} zriHjc$iOeF&Mh=PPm%G$lKMYnu?W|_huU=@I9f30x%g}-QCx@`<{iOH?y*6aHn>Y0KdfHtcj?|&du8i1(x zmQV;AOhcvGwR;JKRp+idG1rG_Ml168S!h}o@38K`RgzORN~w$#$c2uRC^>Pg8=R?WM6Jf9?~v`$w2Aw<(mL zOaGL>1+e9MPujO1XT9RY{z(!_v==V|f#6z|C{k=!gsH4Oo0xsXh@g15_ivYKY<_m%Vv z)d@nbU7f4WJ~d4ye@X5Ix-xHM)3e|a=}mE|9UIMC-lqQ}Wl^Jz0d@>9l0t>ItTF@s z5^7qNu&}IDl5f0(kB}uV=&OO@qKe|88app4Z5c?+Q@IOuse(6m*=H=5F4r7A z&5SmX{(+!Ind$Z$ktgf?yBphb$Rnu}i+f8;uvHZU)+VxY^?FK#>J z!=K<`O;~GeXV+6pF}ToT*qv5g0E zH%D{0R>n%U92d%;*^Y-nKxMGCIBG|%XPW>E`O^r!LO+@Nt4uP{f6CErhIoO@YZSe{;6pE%XkT1qxDgDIk*&{6S)V z<;A3n<)pFzi+Tur2H;xCyXSJR8-+U~*R;fEKX71&Rg;@#-CN|!R;Om(w(_FMz_4_| zDZwEbp>tu}K*`NbAooqUU6jxU0Z%q5Pl=y|csb*RO%4JD29@r$c4lR-4f?6H_N!vRc2&4GF}^`=f}fIY}ds5?gqY16$y@5=EDZ z3)n}X$-8aSx3IqF-tP!5b&^=zw4W9LUqkgRf7*tR$GcLoTJZcGUYS?ZJ4ZP^2B6zN zhGc{}g737_SOi5BPz*KlEUET;%02b~U!q4HskVAuQnzl*M`JavjIM0}ksjr?gVArB zEyvn$0705+KbVxezB^_0CaYhOdAQ;-`n(-)MAd_>ZrC0-2vDnC4&!lu5 zf5xr+*)0-Mz;mCyf>b`K5IEzRdh}e?x6~^MV7vXr%>NIjqh8MdQ@k&mki9Ny5}WV1 z%&A&gOaMf&j(~y%Saew1yz`iPGCl3I!KvGXly8SL#nVHQ#Z;wl>h4$SGz%pkl{kfB z0`Z0@RiG4n33_75ktdCskFD`Kh=ToGf3<}*Ii?=_H*-CpZc0pOO+-Vk69fiT22^SH z!|4p0coeiR0R+64bbhRBQ%y#Xw~u_kl}^e;x_w z(?{tfiCzl^-+Lp-+XP+Ji?o^Egp5+%ip_00vSm5Ifif}F0EPPg45{`A?#Xh%Pllh= zl-*_Wr60daSpzX5sUHanfJq$82C`fDeq%xWRuxU(Q@V@s`gPwi>SQt(BPPr1(CvPl zlJ>FUJFmsx@(=_hGVOh^u4=M{e_|+D=FR9an*hu($ZdoD&SMHNBW<)7$b3tmy5z&N zksD0kBHx+9GQ1gf(g;%x5sHwD$rJ0bCo%e5O)LGnwNTyY!WfSZyXF&NYE)C?5&B-y zSZt(gXaIi=-bFnLOWp{Tz#$73G&ECh;%+hqN>VbcTXg!6pklQZ277Qim}Z1dw{9Aw(zM``wr7 z;eda6yj6}Hy*jRX4{pzKQ&K7fz+?u|-*}Gr7T$&D$n*7H1X)Ea@d?G{2?d7n&Qk%w zCV*4>K0Z)r+OmAFMMaZJ&E_rGFMvYsMvYv>&QQ1k*?Z_F3mAC?e=6=|PGSQIaQ*n^ z*kW#19%f|HBIC2{+5UWwo#u8fx4!v35P-ZZH#FYca|!(DeJ+_OGybV$MZC<>r|Y~c zDVuhIm%zer0OC5;7MyQ_2-Np74r@9CxjUtPnnMhe&N7vdah*c0i?^ ztf*}!sGA>|yeq0%>59@9;2{9m?Ve9+Ux5`d1q8TBmE1UIhmhQ00$o9Gi>q4RXvVci z91&q{-6L#(0M)z~IWRSYm;dY|L4fz$Nm3|9DuJfz>{=DTk3i%NYpxPJHAgp#kaFkdJ__iG?!rl*}y@B z4c1}ln>d?zuQ<}*IDD#p#v9g_xe?VFOaQG5<*-xts(&A7x0o{CA++0sA8$0wCMWif2=M^}G4&7kc>vTwnUi_B9ku7p z;-J+Y-MS~iPFPjv#k25$%t)z91HKxySTGSaf7F~{djCFAhxTaI(wmii$-!@3NcLAk zU;6Y|-#&J!s~lxZ3(ZV1GLzr5l$}_!$}smzVg1H8#VE&&`f=%@2j|Kg&1`vSn!{y; zq;$zp52$FP;#4Vp4^yFl{Hphdk;+ZxNfpYPWAIHI9M z_6lNTFyi6&ui^G+aWlX2k`BnGw0Fl`5iurjew&vOWc)mub}nA9Sys}83_3W8<(bqY z@p#YBIZl$wt))emUxYBEVid|F(f|hYf7@o(2k+E0TJt{QxJ#q?Hd2qM^y_@#mdti` z$#(es6jwS^1)a!xX<%9&%!$pF5|Qf2@rjthSlusWF5-!;x|y%DWBmDkIruX8KZtvW zXkmD;N$}dXZQHhO+qP}nHr{L7wr$&1e}DHZ=FGA;v&!yCRUVwA7Ag3pjg?Rve~S{Y zR~)SBYK`Oe_|`ZWUm+dGx8QC(V0_=YCK3p~O-3%q)&(xqPB^gY5>aRdsUeexg$5u- zPZDmpMdyJRgj!%G#6aDr-oI=-^Y9915~vEL$S9G_ zNgX&!k)rQpp2x2}!WOdhnWUP@e?(i$p=x`Azd>l36ln#;NEe(Kl>PGitn3Ze6ZdHO zTHlDZqF3WP=^Ng}K9AY)b#ACyXeBvHJ6uefDa z#FVIa=Tn7+g&0gq?I9~l3=czG?7w$!AIgeplW`O3h!!!_#}p{g(Ut-Em=lsOjzum3 zGV7Fou~fU4cI%Cy>P+7o@t^s#CUw^sxcszt9P2rw06@ktj)el9#lfd-`I1LjtnZP4 z2tjK?=~F3e_GNGUwdVV$f7z7X&3Ff%7)sNsm(Z@1{x4+HUjZ$%>3vC6|Ejo}l-u=p zvtGH#m^6?7alYR;Ckhj{U%)I1a2_$SafoR`ut#9={a!LnLKRleeOmXT|^%V8I?4Hf6mB+bxEbz`^|M- zyx+DZrlx-Lo--8PsrMb8-1)^Hmd(6gl^zu!SS<~L;^X@LfvZ1Dyq!PDfU2k;sT|*5 zT2D;d5#Yf?L=if!5>J<6YPE$L*~2@!7k!7l;H%A|Xv~uAJ z{`cARsF|Yz79xy7RmAV@>ydMK&OnviA{#FWr7h}?{?*!+e{KA_d(<=5PY=lVWxuA1 zQPW7q(90l35R!% zXT(y8+~)H)e}>Yg9iX4t6ei6RmIjx|CPIn6qcQWI<_9G?c^TYzMGJJHjjQfO!w(A01S8}!ebk1`JG#SY* z!WQk2QyFAQR?dtX_UdZ4p`<16O>KMUf46LjEf3MFUP7Sx2U#06dFk!;j8=tgD zg^{rzl|1&>wO z`;LrtQts(_XrLs73}pBZBDfz*2K_N(_~_xD0oAZS=n@NV&vT4F=J~}RWBwbtT@mBn zzB+F2tzE{=H1$j|=CHDx9qj6&^C;e!OR#AE)ZP!ftqRM!WFpb!m%VTH8r~N|Gw~!f ze+BIGqUTqvRmTTX(VV%dcvjKQjAKxtZE^8i%qZxq8?FG%k9;Af++yAKx)T8MDt- zO~{XLdyA_@FznY&?^~|O2RzdX&=3mPe?4}##ou_irA9~48UF(%m|Yigrt|$taY13> zJx}JCoe@b7Sl^;3IANK_@G*J9k#R{hD3_CJ&TrZY{Hm!^IZ*L5!0n1S9u+*?kT6q| z7Gqxg0@#s3PhD}u^|qUJ$OX*bEj$FjX>3W9s1+RFz3OB=oayqzaBatc08_>{IVIsMg+_e_iuY)BCo4{l&Mw^V}T)TYZ7#BCpCRwe6V`HvWP9 z4(zbVa*0n`%bY6p>)u^f^O;}0^U^7T!6{6EEYnhTa}pBLLICS<$v%e+ITl_+=nS4K z)u_D{S=(7200hC`wsZG;oFwdXx537sqEB9p2|jZ1Z%U@DTo=fnDzbe=U%Z8AhAZ2s8)+HEeG< z8$r3}5?Z^uA%IQixC_*Ur;YJ_d|Qze>6N4L^s-BZ@!Bd(-!Bth*DsgWYfoI<@j7)~ zUj{kfgXv-_+*K{IO3zPte@TVe!9Wvb?vE{5(rQP7RM*DoFqH#5bBuPmiY`or(n9OM zS`-TyAj6)2qho^BUsw_;6%FE=EL?1^Kp4dvVxCv4wzBgnn6YWcXky2^T+^RlJny2k z(RMck{EQMeQ70_h4#1)2`NhpAq++YPQdbk?Mpf07JjVuNdHUhme^QL>F!CN%Eic*q zW@ZSL&2Fp;IC!F*NI2-z$G~7~r03T}SQrM_dcM3Dah|P@(3Fv4Vh~@S8)74J+(x=~ z&AKT-7vM0re8WBJDhJy+K0o~gJAJ>Pg=+1YE{lM-Ac7G`95B01)LPcqqOs)vT4gf^ z5-8KFsHX<1L^323e-Tkof|L#yB&u`^3)ps+2DZEnvF9(4OVVrA5~XQCA0-BE*TOnk$sEiV~|Ah0?>q zC2ey=c71WJ7zKNz#3u!HZ0vifEFULz4wQjGx~UI{6vr3-P{_qulW%J|34k<%$VB=V z4YJOHk>77`e+kqh%d34nPTm)gsRrZheUqAV_|w)WIm73T z3=6-mMNlFD^iZ;aH3cXg&j)nj?P9k(Sw=GR8DfBeF)+WkG9ae}MwbzB^9BMt|n>h}`NB)Ns)C z>zrS{y%r6Sv&of4#<}Y=Svh=EoH1PAsX|1NMgaq>oX8@2V=ZT7Ck^d<)`I-_ZTg(&eJ=0RbFr+`XS4uqtxF;%5wO5sR>H zMAaWPst|<39H9*qCA6(+9pe~+;w#D5Mz@aF*BfVHf z+;cQlf(Uk)h$wc~o{i4;?&$4%YsSnmN+4~z$^Y&59q0BHBVXntcB?0CIRv(43uVBQ z{x#RQ>P|8!6Tyun3IIb`t8ep+7?)t3^{_|4jcy;-3HY>Wif*2FOVaF&D6L5A^s*C~r z@D9?H9Gwz}tj@U3-LJt$G>$&b{}Ut24g*1O)rmY!Fw6LKdL${?TkfqJ%Sau{C|jro zauRS_%8hJy(L5;uK!^}$^1ixNf2q@%Vv|HQ`b$1et0l6tFqJ8RC!ES=3$)gho;~Qg zAZUOeNAkrM)U4L(pAZK^coS+ZisZxWo5EU{?ug-}YLN&RWpg-f3L--Jqm>*<)h zf)?XXgJ33{UEFB8f!}FB*m1)UFdlDiUGO@^e3yia=X)nu*iT^1yZ5CoNm_BXwF7<~6(^ls!}lPN{(He% zbT-@2BGO&U1IhM(Rvrul+)C0;>KXV9vmdM7%Ke}H?Y8b1Ud(jm*PLgx@Kabjbs+~F zzGv(ova%|)T44}YAw2L}COo#ESCuQb9U+Gq1^xLQ z3GJ!-;)uG)anm<{UQK_~`^LZNeevoF(R8V{@)K)o%Fm*z&--q@zHQLJ5k?iJReAXp zQoqb-LZw175gu-d>sT)5ZV_Xve!lJa}AnNxB^fWm8pUj8TLR?4MX+elF?q z_?~h{6h(}?LI#Xuu+8K>G4KDE`NL}On<;8c-@}Hv8>Fza6p)Zng_Rr@R`0t|xfld= zC;}3L`oCr}EbQXXe*oZ&w-x#YhvP&F0Zi5v8ORF&Bm=9kd9KzL!>uM@9B_8!iTlm2 zTXsbpkOwFka|M95}D0CWeeY}%w;?;2mq*gvQaM$f9z_WQ5msFfHhGrzK3Cq z+;shkQT)Hzi!92rnBXfq`hg`)dIX}8sN zuZxoy-baX6f5PY^BZI2;xbmfe8s}5I2Yp9kl39*-2EF*gG5pLHaf}@m#Idho0hF;4 zCr&gnakZauicSq6!UQlfUu)1{+?3|U2$?Jyad1@bTM0A0a9^T-g8}tz`48oJW%YKs zwy~yEpcgEw1wsG_z=cN+>c&HBf%c3~1bha>`!5$;fA3B|*9_mjHH+TjLI~8h!oG&a zz&BC{VTcfsfc-L|HM(T-V8|n_8gf6V<^6uJz4qjD6R^|G+LoaN2tnwVmwwLTwN9)B znVtyXH|_xbspa|8bZ$A+R4IDJfe;a~g)5F45d~-tJn$tseuYt)NP&pTb%<(;T}30$ z%?PhOe_%it^>Wqvc6K&Az!Z=AAs%mwx*ytqwf-Y_vUGyB$0Ps5mwGK?{fI#}LLOWc)bbCL7vTJ&2ko#pINTgG_BMD-zW`FQok z$nz!vmx?E#sU?n>vZM*fBaL=Zkg+Gl(-muMOQgsGq;XrQsQE7*ES;}LnC(?(e_r|^ zrn&&mkga1NzzYb3BODW;Lwq=7blVi?@>l4+=?3Al17NxrP-t%e02p%;AKgOZoPV&} zz$hw}8qk+>IOBTq!iFYzc>*?Q3i32X4Zj*YgKZL02{2YD#?+OX|FNHA{a`WpjlIKV zTmlE!O3xXG#2e@ciNEZ)p!}vQe{I7pC!n-q0)@-g)9MtMAAybms(q<%((lsW)(k zy0EJRgErc3c%Ou+`Wu#=E#Q$un}**7=^)#Z&AW1;|#q9f6-WgPi z*9N|WMZpThcIP-aZPy(F3h#%*>+YFt@`c=3LtxndTX^RDv&hd-lXu~$y?;~_2*pll znLh@}`j}0%(qnJ79~eKheig|cTuZc4YiiT6v{rG-C!^nV?x?*`6BtD&IuHn*Wu>(i#{;NM*m?_UOY#_tU_#x$3cv=3;H|*bBf!qIK$+U4es-i&hl)`Bge9X1=5H-0yAzDza=wb+8&Bu-1jvx`0jSu zmB0|%ZXCJUdA>Eg5X~z`;_E<@n@LDxBXX_FV`r^|{SF)bi6>k8iEg!ph#X9vzFZ56 zU!K;x<|bzqk1UA4iGb=SthOUiEA73#TGHtjO>^N7X1ftzc`IZQKz~^DZgh=0`!q8%ti?p1XM)1vJQvzRmHGtbVC;Gz@I4j1%DiPuK%J|b~Q zwl!;RG4WMtf1&_sR`n#)LjMMsIPQT%@B0+2?JgQx|3lvHQZqKuAB&<#8eHx#a_Nm= zNz}pQ)%Y`FMdDFD_ORIIBcSlf90liMS2#8ypvL!yYIhLKe}7e#jaW*+kTJ1X&3NjH zHzvII82GHiEvoQ|x*0Jhd64wi+IaZ=q;nVCdrIZ)KqW#V8sFBVEOQ`=Hzq~8bvuMh z2AqHAw3hp#tD5N`zTIig|9W5HU2}s8Xl%=dS4|h>Z*F$T)1u2mT+9J z^!YfsdF%n|^^8v4-Ro4^MlBXTjlfmK^|it4^>fVwCv}zMzzY5Ob0FQhUjy@qX2^*c|Bljg-rQ8|u|gW63;mDR!~QRDWD`!L<5+IoN&2uy$TszT4}m z=HAobJ)TqEI(wV+o9$u9f?23T8b7!wdF;oIBreuD6iWUE^z448(NvRpg>u~JUGKl` z&6=yy`1oGa(W&Kq18CCfW{yEEkV+fw=45oQhSLGgjln zb#sY}kLDiRSiU56CgN^AR9&~_`RTfQfBY?XYv>u9wdxq`T}%-%ukEEi2jQe_f1k`% zEcYC)ZRrArq(o3Q$c!f(Ti>o{jQWe!^k13u?|;sk%%fVNwzK``bGt&nc+$MTm^)Z) zRCt=_o1X~-$_lu-)G|L|Z{WrLol^0-kF2RU9_^I07H=HmzP;n8)cobp(s^aKUTi37 zfB{VsTH=M`Ucy>l?CHrr+LmukYqA*4tRhw?8c?(I&j^19bjK zjenn%6@^Pvf*E|&IseT7uP=A{#U^dNe^>sRm2UDrQmMBuI=4Qf2UEt1v}|At4P!n{ z=-u{ih({68Cy_q~2~G-@X3>o>gG3i}k$sS8ZoTy)lhuqc$cPcDz~W4NT(?^Up8J=;tZ= zpJ#0$3xo#!Qw})=&FDx-=xo+lBoYnW-kp;d%M^?ni`^srTj~OS&-l^ZLX9Iy5PvBA zN7TgI&xEW_khHl&D_ADEECV14y1xQ z8y0R_%vdA}oz5d>lov@8RJpT+>wl4vnE!n~UR#Owkwj?E+uvRRiwmN1dSO#$hctWl zr))J26~TiN{gYDv5~0<=&caLVS%uFSxa!}gUp#W*w$CSQr}4{OP6>yp1J_{e-=XL8 zxL17kQjKGY%#U)*c0X~SX;!hq4#XnIH|{=`GhFI?5!)bcF8 z?#Q{ReR*rmo^dZ|&)Y|>2q;d#gs`zyA@3fCo8RNw zWk2X!yiA1T6+$X|)r!0i27kk}PV=QNg}5-eddP+W5SXXKt}g03g|juhu}C2C+x8Ie&4$e09LwJ!n## z?}bU@!)iIjY_DyJUOKSeO}zR2flsw|^Twgq)p4R#q%RV@05FA7sq;)3BkW|26S4cb zO5J+6g`eo{%Of+yOJ8Z2!D7QBtk#RQwGnN^tam*&z(lohY@;c5WR{%=TVV^)b3kW6 z<97S-wJ}@s!lB1SrGH->8S&0hD`4e{Dd@aHTx_}g#iJFp#*w@p7vDQ&^E=`c0$>xo zL>*Tm87~e3$z54k;NW5pfa_G~3^?aGhp;Hps)iDbAx|((SXP|TbTN)8Xq;2DTU-3Q z-mCik(i!6+sc0alrtMV1!VVW3c0DPF{Ipr{d~mNEZg>p3hn z@3ff72N>fKm4C5It&f;AQ`9Ps32S$Pa)$g4^ha}@G?%m0@fh{qsf83Sj96ACah5nf zp$WMdn98nzRDZ-X&93+dWrpMuaE^c&YeiBq9K>I(1IQI#P!ABaz3nd2tu-;O45a&c z<%3qhkc`wCSRJ55VVmIfvJ2B%1JVk*So$u$;QnbW?mX4Sm$d8g6Hr2E0S-svoS;P_ zNyxHJ(0}5jAfdqaC=^5>5>pPWvm{syrU)nluBF{9HGe-^AOjc*jIy}xSXFknIedt(prGZk}Me6)P+aWZ~rbXY4+#i=k&sUORkJck`8X22w(x(Vy;kg z#u+MYWnvjcMOHy0APTq%!eLs^8cyP>V+6<$ijcfK|G-h!jG~LdqXFU>%VLg4*OdMz zhI;ErcYkjj$IL}zDhF;+3ZMYx5LA7R3J|z=AAgwjr7r1>=mjo_sZtm~m8x(uTSe!3 zqZ}HD+u45Ur5odB=I!@g=XN(zu9ZzLtqqFdVgL|Z11-nYXaxgAHiK*emn^%VL{-Ka zNl7bw;-&C`r^D1EbBXRF4LZdy=y|gh05yh@TYn(|ifB~}fG7x1Ip+cl;y1)ErQtW9 z%|Y6!unHs2bzO(tX_-qcS6$Blb*S_*_P$boSQe@Bk>|38AbLH0w%OmYD8wMxBA_A212ugZ9olhJZ{%B~_0b zDu0|K5Dl@Ya`V3_C;hx8a-;Z2Ida7LXW)xr|6V0OfZFr1XGap^8vzNR$YGOE>|=3? zAm!8$Sq9mbwHv`HM>t4cs@BIU%6M{iG6Yb)5Km0^knBDymva548|`ri^5Td#U+B;v z1NFQ zgyM+S2%pjdA&&^Ri~UggJNS7!W9z=o?R4*%F|#&t<%xDK_{w_*Z+ZnaM_aw~mw#Kg zWuxATWqDe+3by%FKxAFqSg%gNS(jvTgSuZfvoYa+O7dVR2Z(!gVh!_D+t2@0_4^WFBhgAg*SUw9?xluPQJ%1gku;pQe;D#FF<}&w%`pO!e7r>$ra;X9ML|xb=*#bZ=t?YZdIq7fBhKy^bENC9&3_%pu&x_`oA<4 z{mQsFxqQC|ZhzbDtEY6D4yl?>*N@2{W`Q+b_gsO9-iwP&)>0)$)eap@6~THRE3eKT zwd%;-ygVtoeC#mIaF9!SX^ByRDH$8&J!O5t?}{kZTx@ViezNu4ml*XcZ$we?Jry{ zSA$~xT-@9j=jRY=Ftr|KHMD=@ld9FV`b}OhEdr6s z0+dEuQE5^IiXu&bz$6-mFk6Y)?lz%Wc z$H&$$=o3Ot8G@sw-`}(Aky2Mn#WXL1s!2l?X&Y zoW?H)2v8yf`DkPJ^z?uP&b_a5fWuvzzt1B;KS8^=x+lt%ad{{1$oI1YawV>UDSLU-tu;G$DW(=wX#4NJtak zBi!Vw(EAgY#-8oZ$q=BQ#?%sn6flrP%t3&L5h7IvLVa8sbE8q~u>`oq#?)#~1;g_g zWE`yU5|c7FHO=<=zS-HP0xH3mp^_j`R=()A=gEh!4&976>RF?1tn5jWC4Yl%0ZsuC zvM`tvhI)D$ZbWoSA7+M2@^*qtQ>u``D~Z4aoJ)L*iv(myE`SCysb?WldkkUkjsMp* zF*h74)vOFk$P%zxf>Xe>+EfCed_0*FjSa-&_GE#Y6-NQd0F*PV7z9LQ=M(##9PoRh zujTp#-bZZ`IJ@u@F=CrB%6}}kd>I`Nd&FTzx1zO3#5QRmu$xcM&(Fg^#~gA~^+UqY zD3T=%tLl`Yb%3XNng-opQmnK>Mzd)mrcV`8pkEF837)Tt8hyBL*U$>U)qtj_S)y!= zjC|1=5D5sl{cpa-a)C+|zOyAuL1+`J!Ipv3L!b~d0TM*0jG4M=4SyVCTVy3-M?nnJ zOow-Bk~}WpuZ89a+Oy%f=tGOB6e{1>W+wm&54jnK{=$?h5L)EKYc&KAK9wm^rm7<_ z3`K~5Fe6=PPb96k5BytjVTjR9B)6ZO8~NXD4e&xxDon5y9t}ih*U&V4Se004`jqM^ zU^N1*T=jZ&(6|l|xPKKQMN%~JQpAhX5DS$91&H)z7ca<^Kr;}Wd_tdNf3m;W{?bk^ z{2UYSjXqvF^6zH;x1&xbc z0t%ES9l@g6!7z$=)EHSQ3lJ)!U?FhpDrN!r5)^2!eaJ?mNi!prpJFK%5E^OLjOxFs zqFW+r(jZi=?KWK@&k-hnJpo)VaQbbE&+Eb7j5;z&x%qd0x)h)`pbzdG&6a^iTieZjWZ4ay% zjag;HOn;P>Lhoqf&4;Hh&Qv>NdE-snJYel`U2EnADekCLiI419WSHLjpX-?2Y-6Do zNult5$(7QbZlF}j05w6DhzP<`3IR%kg*8sJ z&Khf8!R_jh2dPZVWwXTpjE)rPQYwWeTI`YnJj^~0x3vg#dOZTA^u>xmh^7hsZGl^J zeS(i|V}q>Pz z2!8;TA!s&wJrRo(b8^9iS;Dfoq~70b6T2V6*Jli>R8dYiq9_2=2d~3$9N{e)eL?1d z3IU7dcpOfqIzj4$8o1?`wxZkZ6dFo|G*MLzkH9FTM6)^9Yjib{NgFraeV)RVL-9Ys z&)%IfB^;9{F;kIbM4q%BNSQ}vw!=G5Jbx|~_%wQLw&MR23pblnw>lp*hWcMfV2n~C z1sh#HdLu9_q~i6h%(Q(;p$>uTR{Z$iJHI5J2M{90-8{vqqhJYV{Jqco4p}mA$mpJ1 zPH3rgx}3#4lu0$P>xruz1Y_kBpbvjRn#2JZl~bT11y*&41=7#^b5M+up;(5DF@LWo z|A+lAZRJlqhH4~o6}pMjzrQjYymvsQD2L**=CQ2h0@QIea5~LK6ScOoxUytQoUNkc z5(;YLdZKw5St-Qw*_kB76Hro>KY|nLT?yM0vHQyik6tDVlR%xP(8iU(Ib05ndBdj!HDH(QsDCW99iY~Y%zhGLLM*hMVH8wc(PSwEGXB8uz7L!z z`!AdmX?^JgTj)%rF8)$1jrC#e9a}a*g_M#+xpFwGd8+ICc`8e2?kEBX9{H$NQj}bj zz&pZV03nvUc)}GDz|-Xf*jJ^V{ge71p`=V4xsC{la>Z6uez6daFdJGr8h@oaY+#Gq zQ|FFi9PkY zlRGCR!GgPV0v(=V(Rq$(3lF{GRarSX3rdQEPFLmq`6{pbc8mh@c`8WCQRT|x_A~FB z$;M3iHpRT$Lf(5t!Xgh(HYqKQPrQi`$f)1836&W= zQm3B5_CDe8FbdS@GON_NHrdzb*WEeCgk@w4)SVq(=T1>qe-%9Q2J-++8kL^f1H489POnV6E5mv%7QvWD-~=Y5gZ2H)k?OoslsSLS(9-G$ zYq}x^dlDg562XQHVk1QI!-52?jIV|gTs&ORlnJ0v6vMA?wYcPxyx|9dx63yUIU}3H zbBw%Z7+@$>^h;M`1b2c2OYI3<(#D^MVC`+F!9h*MG6k*RR{2H$K=na3&rc z`p1uN_{I$!I}6_}Zp;Z61*$Y5ZG^Ta)n!a1tO5c0jQ{Q=arsF-zt|elO&K5(;}!?8 zbj^$~b`?D0Eqzv{gURwda$KoU#Y)N`nq6)?@+=&BipM|rXx8X$Y^!o+}s%W(fj zmEtfq$GnXs8(0{^_^q~SH#HBz~G~el>>1cIk#fyki6yghX+RR zjEoFH8h?CU-61nyUw{gNB_)C{F5%H%JQ&J>DAnWDa0!PMwMc<92c!Z3D;t;WT6aH> z*ZchHhLtr+)AlF*_08A+@ApUE%7G~1;6NmC#_V^wx6mGiFKxzZc2Q<1yF z>15J>d0&K3-mLLA>d6pS%3o6&s6{Dpw*}i{J#?V~lExBIgbSakA7j|~nR}W`*>ds0uR{Wl+TDZOOA~W-E;lG$eLlXk%GJo1v2Zi&j zCx1+qo2|K1u<|$MTD1WQqZmZ7un{)iO(+2u7^%_kovLacb9Ktt8o>@b?RR&bbZa_K z&Rj0LjjmH@Xw6g}u6G}(!NGqe0}}#y*TB#2-NK!YpZNt4m#%DfJEMuUrrUjg1g$6_ zB66}K7BN>S88GvWmAb!RQFUJow~ML!YJW#m$p{wJ{`^PA;vJWh)G|N(Hm4?ynSaar zA+VMXO#hv$$->IY3x1`_rCKSF4T`z`2h(kaj)8~I;xhse1R}Gb=#HT#U4a)kMc*l~ z3SH;sc~4qM`vzq|<%FbN&kLH{^?D)kLg~R5levv8dX*FUhpQPiSnA zGCF3=HV~?mhIHAG3KB)C^d<(K#p5t~_S#Cj6ouZbn=o&Dq*CiY>y-wXvv8~=^xipg z6%4He3q{1QSl#|puM@6`>NBF1fBAR%VFY?MuqCzuZvinHX)NU zs`%&+lzfPJQ+aw$=4hRbs{i?Gtxo?f{lw`5pOr&5VQFb8M-C-w#NS$f@mHKnVlZXo zims`e?MbF8n^RxG^Au6c?zhs?fkW#W8S9B_RlmXLzWOZJ`+xS%%7M%9=lAZ94|pm) zUybJGuFu-g(QxB@{Cw7`BSeqXPMv?mDACcBdABVqim3y{PUB#s{x(a!=P?x@MQE9o zBe%XZB?ofTXH_#lH!Ev4CMKp^dZkLmwbR;3yh$dV8^U#N0Ajn@3mZ)|Jt7q4I% zlb}*qV-`fMMt@6nr`d66%+>OTn{{oZdbMIj_cD-Zer?1k(srx$)^AID?~~4!1D%Bf z`M;i$G5mVP9ci&v^Ox{GK*Ug8?{FTwb?-g8xmzv#NC7j4I(!(zKa*Js zhUZJc!^HhC|H*IQ!|@8CuIoMw$N!xV=YyJd43mU`hkt*XDmX|q^qit?`%P4T+tUBq zT>HjT*iRSu!?(>KY9=pKefz%@A^-pPdl&eB`Mv)SIsh?6p?UxSq}>1Kb0sZs4Hfg% zU$7Dh<%Xh$H4JSTny%56j7G}NjSLGE8V$xS%_dD*dN<_aQHlmcYAjSlL=;xBhM+~n z)GDNg!hZq{K|{0Iyf+`_q2crVnfwgbCx`qqZ!ojd-H%z$JI^`q*&ZoX98~cUMMstY z?=n{BH!pIMz$gAuBBxHvbXp+Jt|eMv<)7Q9WAWX=)C!KTRhm-7_w zTi6{BuA1lW7VG{STCa5)6w#?tKM_tBwn8-nUw@hC?^g3R%UsPTLd=hQv{a( zQ6?q!(932b^~0PQ|DC!f-Tj%sS<}{SE^{f^2Jc#y-KDL#kmdz?CR{Z$1?l8>+;TR=0Ebx8(c5{j*L4kxGj|_wiB9gKi?@48_5v)rvnc@dF=|PmA-$SARZM zI`hEez$3vMvwX9*shUUo_c-!npf=VX*TO$HuGeTIMR(bw_>?8gUP_*6)V*x0;ikfa zzI-e$%!P9?e72@qECy`zudoPNnx~SbmO7t30v3O=?ixVkgJCF7Q59`Z5^dg8>NmOD zK1}&OyLvXw%B4s(ZZ!J>_u7A1Inma3l-sYe4;g{*{5wkhPoVO^?EAa}qUzPCX zL)}gVLlNA66(EVDKoxo8Q%SIW*6_CkD5{MI#p-Mal$J7rJ@-gH`MOs3j(_KTJY6~G z;N^l!zP-H@Q)^c(|53Pdv7VkvVJAguqZX4;(e&`Xm9o9_>iaLrx8{5`aDUZ>yR4=p zgR&Bv`|!g_1VRZTupN#V6b|UW=Sh&PE3^|@`*d7($){syPu64R(EGH&nJamkht4#7 zjih=j`|(v9+Ry;|W<#$F_d#WM^;S>!oz-`y>g^5Zr&u5_Q95f(EWTh0vs9lM{L%u? zD^|IvJ(KhC;_YKqE&VfCzRP6BUIEdGqOOn(P52q-WMeTfql zi3{400%_cgYvFXLo(k5Vxb|kihwJf{RHwnvMIfDvr!+6;8P(HpXg$|qOt-3P2>ZUm zO+?-xcw_$a+N31&l2DF=%^|Xp3njvE#qu6Cy9NRU1y0GrlpJFzpM7U{soxuZYL9fH z>s&v9^XAj$mu7@tfPb67D@ANX4B@A^!eRm#%vPgt{Gw`{!MBQdn4fX(T(_f-oy>PI zhJIrkssCz3BYH<F;b1p$5pko6zUUasZ1vpV$Vz7aQna} z0SCx{fE9r*$!2i#07Od9!8?v1_jiti#>4I^xW7P!W^}GLs(l}0UC?b zLkjuEJX;FaRHhtVoe+C*_JeB{^umt8P@Ro$#BAMD8MAd&17Qq9;B$ae#wHujypp9} z+4p@~3gWp;xtd2kK(%6AL~u+_NG%rXHA7E&`ZFFWLx0+1)K95nvvU679UmbD@MS_R z>6g|cUUrcaX)-G4##1gidf3|O=B@x=3Qx!y=HR%Y0PZ+KnHdD&?jg)K2lrUYVlzh9QEC8{LyT?g{9Ulg2xYGd&KHSu6nW{K zbCEJNZ-42e&M86Q^?r=D4UEz-h4-=2q<6r;>9Ss<__aFru3&F;m2)z1a6$hpwW8|` zd0NK{8hFW^YnDG>$VN)8gJ%=`nTziY1f{AiNxVHX6Nx)Am!lBU#^mI_qPq&BFB+A61XKA-xKWK8Ew2#S|gZp;*N>|-o#_K?=I zbKvL2P!(x_#?6l>NCVNHT&5lYwpT}nY=3J3PVHy|DEf3*wk2w5-3qUTtLKH(ekOc! z%PuC*)jtj?txV?b=BD%yv^Eu^jZLh_jy(3@v{4EWG{90lWqW!h;FT@WjDB0XxI`lx z&NTuZ8|S*ml-}>o=g+^WFN+g0T}|)ylBv4_o?D7ZAEhqBIyGe427|8NWcm6zGJnzQ z$q?Yb%>IkdP3*Z{E`VPEMgo};&0Su(O5fkgTbwGF8^esO_UZm}E7+%wRQ5vq6C7IV zT*PX}L^5s2o5E;#z|alUx!Pn3WVv6yRt+?3Ul{qJ+xj1Igsf6_qREGzeTeC}aTdpH zEcsxlnIbO5lMZp8+8b))L;7KyQGZao=uFuC953)cYG_=*=YVu8-kH*H75IN4ZQZ{qWUC?tWQgrgs0;a$2{L}7lIwpTW^aZC(Uk*EbK&&`VQ&k=3iS*REI^bJ}q zVc>-3vqT_=oWzR7P;+I}f4T5=RT5n~&-v{W5t2H4f_n_1XBzPlh{f%OqVupOJ^A90zi9`u|8j3bA@d7@WhW_MzBDHl2HO+h zKvO^?-q;PgXfN!=r_j@M^KHn2#W%F?6Nkh3xSY8GO|<$gnSLtj$tNe6w4$r;Mq>{y zN&jRX%!M%rQI{3IokXu(xqr%YOAwf9>{IrL zNDy8NnDK`u|J~V9m`RX*XcUo^+l22X=KMMO!EXOJ1b^~((bU`#mS} zj2ALzALeweE2t2BA%8S{6z}##-JgoOMbW5VK7BAtF^mde=*GNfYzsox*J5&PZe@O&GYSm9e4&U7Q<=(9v@@&3^@c6Ns&~ZRpE^Q?@13 z&fAd@O)RF;Jt(R;M7pzYa{f<_;T?K(YtxyHJ_Y`L?%f&RQ`Lq_BXrrQw0Fvrs))+L zyN2)$ft``9+p~0I^8%TAA^{IiS=5|=W2=5V8A~VQXIeXk&br9dj2OZzt?bMVWILH? zTaTq)i(>ZSI)AKx28r7}(9Dp$XxDH#@HvMBvgJosleooKi(UzpKnn`G1wsnB^W{l*xu7-^-G4!`JSCX;Eu9NbV4?0#H$yp7VW$-4 z&-B^96f#NN%7c-zCPY*-JkOs zebKbFx))yBuPc*_Y6&tz9bzb#ATD%!^Zv;n8_o%>TYrD_F{EA!+yD>haWr>}pYA+NFX>ra zh5XL$bz7smHgsEQ@0Aso5LCm@LrO2Hph{hZ#7YgKDso5T%NhHQ(ql3RPb14<9_lgM zZjY7K8{FzF76MhJoMI;IO@D;h<pM6e7(DTw|B44Vk^fYZsxCit$=mr)r3zA!N8S&FE#3eGX z-OI~h(z3P2wlfaNhpr86R&VK8KK&i}N1zv>6p5`+Jn-09>Dha^`G4$1jU#eYB%+2D ze=eDVFa~zC_TJ`ZXdT%MyX@R8ix1t~seOg4IlV-VH5`LM6{I0g9d5AM_$pRzTz&(1 z6byNOhEPpc8ZMe+i%&3*Bw-iEKlZKOEHD1ahriWixO_l>=XUCiif!-z?=-W_#(Hxh zV4zxx;f4hE>Ki<`aDNMI4oHnvnr{?Z$Uhe=heUh`RL%fZvaA}uy;V%Y_TaWpCrZhG zGFVVEmO^w&fJq?u>zsV&$~~ezfUIHa$k^NxuH7QIfU$xp`jUFD;xUAuR=W0S%Y#vz zbe;3*(cYa z2j*mzfo(*4&*hg(orlwT#+ehOr8~1+>R$FsTOEf@9?o66rv~#L{^4lHjlF2@{ME(l zRJ<79a(~36ZGTDj24CjyB{n@95*cMCUnZXKTs${WmM8B;N|(I5Dz}=Jy%KiHn27wn z7wcGGFeCg)V$n}A>HkC8O%EXc|Nj^C|NQgMKmTuW9sTpqKmYvm&p-b&F`D}4pMU=O z=bwN6`RAX1{`u#hfBvroZU6JnKmYvm&p-eC^FNbv?00>4KQkyVR{~(}@ zf?>yo)hfzOg`tP&mt&HWPpk=|hYu9O2yHY7gEI^T#~c2^8dH0*l1yT&q4~Rc;q3EK z^Xe_@b$`Ff*s@4LV%6f&QsOvPr+mxx`qkUC^SIqkXKLJ?gKk{)qKYeu=cb0EIy{A} zTFsvEQ%ffd_E`D#Zos>cFn3?JGEveO+3li(GX>yR`C#qRr&qHMvf};R&RAPM^^i^R z+W4K7%|km4lP5+gvjd%oG8z59vJG{%JOxvNJPQ)#P`yAvp{F7*Rfj1AsY1 zM}Hf0HVfFVJhcD}W)ltU$XuzrF9Ga6+@jH7-K7AxCvR1>ug5VJ!b!~AY)(($yI#gT z!9P=xm{(US$6~L)Glg2~P!jhFvg(H+P#%HSHV)h`!54!u6xSuG~%Xy zoeo$ePFbHx0zP@D$d5db=~*k=p$N}(p8y?Yo`nyU9e^}2w%{pVS&jDXxjz8XY~64} z9%BE@<;1EL?v@IWAij=1xANufpNDNk=>b~EPLOG@gYR?N--YJ^wGS1Y{CFU^K!1*9 z$NksEaSXrD-E_e!H19!p>&_o00$?MLf`18(Ojag%Z-!6ls?V#^ftgxDQ+^WxxOuM@ z%YYYCQ?S!Z%-7Tx4GV8V!_97Y)WttYJm50m5SVzFR)|hVzRH=s?RnaS-vK~ZPtC3s zt-E%oJ4_%EyYvmhP>QoQ6mZkNJb#hb#T1!N7nSXHu$N_2N_`A|HM4&4;86pTwKGOp zl?%-SxCVmdOWzKi>%Pf zY)9+q+E4;BqubFAlwpo429EYQud!%D@t5H`)SV)fH`u>0UP^WTu04y@%5B^o<(q!|SZwF#9u0)6LL~J!a0e`FB1AcPBUNdCZ(`hRp7L$IB|3FIa=rT8 z=VZZF&4~^O3_ytyp+IwC!#7K@?;;PXdT%~-Uqv2T+j2A*QIrJXlE3I3^-=`LOYx>K z^)6`a{54L5Sme7ofPcS98){~~e(pawx6y_b2MmD?`;!aLBT2*0T5Wr+-Dk%tH-EkJ zX}^&lTlYNI8O%O1s;1EiG`jZJRe+UU`(8Easqp@p8bS(2fOW=xB{m=Uw3 zaP_~-@Aj%jPPEBYn^G{|hS=xljkRBGp#}j63w&A5R%{ekf`3bMmRJMj!?Iv&8k>E~ z8&0LSFC*||OZQtXM^pZGphWmIy?^2;P+MDVKY7@ygJQkR(BiUvu3vb8)&>)cWLPi! zm}I(Ht9F%!z?-ay*RnxxrA*~+0ri1!U?I-Yq>}KoQwIgi3~;A5VUa0?`I|sRr0`mt z;pUvB6U6OX6@MsE?hD5eK;=cWjVpe7@em04hA;D^Fwe(->mTMb= z;OI~e!k(ZBqxuD8fe99<-8ZPU8Lfhr_#R+ef^AmD2eXUJgYF^nt}AQHk#%M&U?+@H ztJ`VS)aN3QKN@;{vy88Tisx_K<7hw|D#6tzs}NqKLw}wK<=~@rcSH+<oho1Dch(+Pt4V$Nt+9L`MY>j=HD{HtI39!PX}>Vi|IY3dnls z3@ys(;*Gw>jN$lEIP#F|gD6@$#Rjf=L@+KhSPdo$=F!5c|F~_3U znq2@Z2Y)Rv9vLb~-T!pR;H>VO?18*(?44GhMH z&Xco?Yca&l4u@5c65liIMt`XBW`8!7iQAkF3(7^d*>3bXp*R_%u5Xcc z2sWr)q7!cDMoyE#85h^P-D_dQ@8Vr!2;lEVj*_Gq18*aWKZM(!`{*Vv$B0rC?u6&t zAUbe;WIau~8=q}*d01qYKvu%gDKL637=_#I6THrAvC&Vq?prCHXDYq|%yncI9@L^X z3x6vLw45#POJfwN?SYM|45PsiUe*sw@*yPd79^{zV7NuhZa8&ndWH!;&|veG8tlZY zm8qBQ4fAWa%jN~QZKta5*QqKfy*(qP&NUh7gfyl?C(mI`RlSQvl<98mz%<>&>@%QH zhMpb52+;|i069R$zn{^O$g-iX+}9`_+%(O`g};A-C!#n+NJwu6_2|R`4NAJ}`g--( z@5lG+pArQ2HZSM3Rp3A!eJv^>E-Cw+2EMKO?UpgjTS`uLZvOPD_zo@D=u0FUv3_YK zZ=)N~l4t)E!4LKVCiNK>IIiur#4%riZ-+S)aIHlDi1i)L8Pz~9kn~F*b5@%KnRikJ z*Y1DM`b#c}m0-oy-}TPIp>%jDLQqA6!qTrN`&osK0!;ggFNdME_FfT|E6;IQT>Gf_ zlqXDxN?~Khw4GI|3A5=ThRSJt@`YJwC+dp5=6}MD@B@1CXCE3@RFfEVnQV2HrFDE(YE za{`>1@L`pclU@RvsuPCBMk|cW@AsEaiy^(cCs~=iVj>cdQ z)>CLnQi6;Stf2X;PD60LOKT~BIEWv`l)9J}j5CTfeTi0@ZwWjD6jZ{r1CRkoeb5Q) zVlx-T7Z0eoCk?sjfh)oBJV*m-_OpM6`}Djl`CC=LD7Qeyyx*Ctc&?=;`K*@^T=~H` zXs|~vU~WAibzLx-Urxz98#q`B!aLRahb*H~w2bde$|=lpN@0sic39%Q+a?s8~!%byRdW@N5>{`^_-r4%UO-HX1k1o4UchK3&U8<1H zyB8_OS!{H>Ox|F{i9+WP&-}CbFINOZnWkL2)-dtL;XHZUXH(StGf`q6(TD^5V1L4@ z34=?|TRoEntl+KHuDqrem`i`GPk~r^`k15M=N8uqb*ud`lcE-I2B-3iJi(iV zV#vAoUS7*=h<<&5_2=AbSb_P_9MHE~`MY|c{3Gwn-&0iA1*M-c;i-RFmoKTP*H)bN zBe%Kj*uZu3P~09r0*Vpw2)s-&SGtC1fGB-H@4q3Rm!6(PGH^O_45)%b$cOE=tt(46#6xWf08D>!ZK;a~8s^+lR?5Do z*fCq|%Ahtyx>}m=o4(n0 zn97I3C&Tl59T(#tC$N>RK0tbEY|QC)Jell6>Q36W(u-LGoInDm1UCfx0n#WJ0aOa; z!eCLvVTodbHN$@&&{m9 zZ@9wkIWHbI=PE*_QEE^uyy7}Gwn!Qd-SY(aAg4eaFb+Gd0fsQFAhcR}mBS{( zxl+=<6`$s9Z#3VAt2}Y;tI{1qx6V?8JeSwjQ6VsrV!32Shb;d-j z0nEW_vnGF18%fDYA$(kRhm)tRU_JNC;fiWW^%_O4^I7Ifz6xTo0ywmpYxV*Yf(UW6 zQupd}qWnLF_^P`1#bRm0$cKa^hQFXE-2w8pu>7drOI;L98!MHIrDpz9|}mc{rDY*vDLWbe3}KS?|BI zf|SM)mwfNLUL9cpA^H(S?26tv>x1?}wqNrhM`y9;T2OiH=RKvPG7d$swSyrM>31=O z6$gJQL!g;vok}zZKXZ&MF7p;~f)``w!+~LS+H@vFaG>GTIB89si<`e;^vo&sW1|(4 ztW229Y1h#GVQn_yrdcyXBm(aFZXl5gUf$GG;Z=1amHE}pO09F$T~G2J@^bRVI?gLV`$XVJ+iIl-?-ud}5`av=Y5W3(M zxwV6$pfJCAr#*&1Qrq4IP8nj79ponT$7BSIj!8uFsgmq(KaQ{T84UiY_HxYt53oJ5crt>lOy z3=}3ZQogzc00s}7g9I${>SK#bS^FUF>Qhxe7r z?@+H-9miEqSy?-)X~Mo{49ln;KevApbgP2=G6yGh(3yTN?r7AU7dM@wY)T{!lFL;_ z;L-yU!6V0=I7l@k|5OL8xlXTNhenn?vp2yVLwfaJ1raSoMYMq;en8^0_OJJ^T^x(* ztv_FP^Rkle{W|uU@(79Qu$Elxm&xE{=`XlPH=ZWsh>#j3VnuQ?U-IMSKL~&S6mXx)imUl(J>_;T{Q_!Qi>+4Q*N zUrV+oO>TBKIm(i$rN4lO2k|bk1{JZh*h#y%Bq@U0pgb_mr8et^l8?x0D%juJaw6>r z&2=Yi-H?%vG#tdW^&BO>JN`bkq**j+)W%-~y8W3&i$-OZl5cJcrHy}^CjgUV`@RIX zL$sToNTGexow{9v`kXxHO~TbtWeTvxxt|^JL_l`!GSl zxW4$j=^WOPr+l-uth=@kf8(ix;xLxp+yL8(q47_VIc?Fdy%^>wIUi0+#04M+|WWs$z4T zgLDAB3EkhWWj=aIuIp6(yNNbkvAlo^>v;!Zq0RBUuU(S;*qpncjknEu+LO)t3}U4k z%0sj4l(*cNwE@@-o%!{~@;K%)$+vN=dYXyOVKoGwz#|z9i^6{(vhvkqjX}-q^$6g4 z(inir2S^|4efA@=PEh~=VBL@P!vWsW*Q?>9R`7WKuN(=1^ITS!i;+*+L<|l|?5){#%3s){-s!Ed4FTxKT$#@8Hh z{Dn14S+GB5!hwG>Go>!ng>XKtsg_6EFM|tv7i3bk@>3e!$2}ZydONNJ=@Q3}rxy~+ zVXT*_Fzcp366(uE6+rET{-InmKrMmHpvf?2-X$&?Qu8~`-pF7U^O5o$n#*i2rd*fD zWl96!H#EhIAk7*{I4bbH+?_-HmhSdz?Z-^2VQ06q>3)AEB)^pyGp$Af;{l~9F)-a> zI(2BS#^xGJoA@^vP(my`@?IFi%3w-d(yY%eeSjcoXyAkckssAlD&rOg0UqsbYQ*!% z!S>xks;XuCsgloU3hd`U<%oFtw1Tc(@E->ONFs15vAEGT0jXc+$cSk3xsqVLJl$8ZQSrEzLgZ0U5*D|S`V*vPT; z18;{&3#5VekNRH1s`JCm%1VfI4lf4T_?lSE&q85n{}Y!|+ z0TM+5JdZ^!6IHQCP6Y})pdI^iBE!PGlLLPcsodY!fxt%PruvWjSD>)*&2$f03-rTk zVj{Kut(W)pl_KnT2*I31W1L?-28bG7A16}43YIkll?;|$en7P|QkOXNZB#dhI(f53 zh2!eAUzQd?x_$};QYTxq+uOJE~DB&kS$JBVQKLi%oy?*(63fAjmr7LrxH#uLdOZ(DAXMiNvldNVS_%^HE9wmq> zfmuXtU6v~jlNWQzq!nfeDnM1<+ zR*U#1#MXKk&7}?*_urxTu5i3giuaAYD6gh4DFKUGWM_C?+`U4n2in9l)wW|R5w zgIXW&eEzKGjaWi%$slVy@!EfCN!Cl!L_x~-)PwPoRgAa-b1o~PXxj1@@3^sWGqP4z zg-j5^Crw7U zS>CiburJ1UZl&%qslM9r5^AA1))%Vf0i(gfA+tOpSd3R3saVt7Qnr5_%Q0f?qG)Cf zeH|}QvgL+!Nn$nH8iULn(wbBhgHl7Zw#iEK*owU@6Buj6fq9 znFy1@-8Ft;7jEye|MvYhzrESZnqz6NF@<|9TL`uE$R4|_H%_BD8xAq65EO`pXNd?Z zfJ)D1pY&_aEE@m5!_(-Gzo*n{1?xt*54YaLF|4FFs@a^F*A;)8?_q?3*FsX{YCb3j;cfC&K2nc}LZ{l~?kvSK)LO@5z;G*0X~!*1 z#`@G2gW%R-?0kLkb)2LrnNDou3h|II^6Y~>XVwq$KgCidd0_dfj3K3Inh_XxT-*H6c{b3ZQgWUg3jP={Y}DEW)G?j(F|vMsJ)?=2Bno`>Zr zzo)x}q|e%?RZ=$XidNy**M3p`k?04|QKPuwkbwVHx%hwFw0)hI^%Y#& zpl9Y7Jeaf>`7!EbGLdtUCIKGfgg zkZrw8_PDz!jxACKS}qx=Rut6Bk*#zlzN$o)$O(Jm5TOgwNbcda zVsDK=2ln@GG@yQJbzByAAJ#FxltA&EH@v=;bCrL_ryU={H2MWbGWQaVFoJE;vP$=k zC;I&mg66Jpe)U;DjdM2CO7_>_Cgbe@3ozFrlJsS;~w`#`aJEnwfO@s+ePAgIHvpJ z(6li7`{Z7pd6mdf@t-)G6>sJJ7)M)D0@OJ9^rL7tR zXM${#3@l(yCdhi>RyxEfxviGjD&(%C!sf!E zHaes8mBp6Z+2hI_;kbs<6`iWbfibITo6-s|(Yakoh9fvUlsEP7`Ua$}LFRa%Iji}{ zZtR55<++sa`??b%9zP_664Ag>e${n{0&$lrSHa@EU#tT`2WIC9HA~IKDpdYeRuPlf zI$}*Q5(jfsvpthqU{;1$us*GCK^T9;TH}vRVv-m`sh#@se8RqqRq0lRza>0ny?N?B zI-#@y9?7$fw6d*poU&~X+(xaL%}j4JthOQwJ08C+6(BJ&zM9m>H6x3=kA<{Q0;|0T z=dZV8wq~THc{lFRVD0OMxkA;nK+QX4^e=H#c&^=}Hr{n|(NmzHI06z28gYN-b-yS> zc^~v~d|%<}L8G>G1VF`x^PgMZc`9gTltl6^`1M#w|Ohg+|7Bn{j_?`d!w$=DtoMDBWYZuZcy z=*Di=pnUA;xOp&|erHgK%ZQ^{z-}GhRDU00+lh{~7qQ1wlN=dMNHWZMg@50=Q_*O5 z$%llz8=VAE@pF*FCH$P~E#|9tlY(N?ii@aF3J|O<7R+`)4tm`{kwJg>1tz@~6}}EL zq>f^#Z&lNb#{7(5;CMh^wHoy1+r|NR!X9Jw`EBEjDE`Y_RL?)nKx&VDVznpaw9_s* zjiY8FO5Mc7qhX?Vu*Q(fUA-Q^-i~=j?s>adCWqG$|Jc4_^Sjt_aZUPXOLG~mm+m9E zb^m)BvPh=u0P=qO)3ty1R4k!J#`G~bd^7_-kVBX|XvNKkShURIl3c%K zbKo|FH6BX%lBdT<;l*=km>r8!_hq4n>GK0KE%U};dm4}Tv16F>c7VO!wk^KZ)|cwr zS`Fe?0l!8zD+|QPaq8nkF~k1c@0EwYi1m;4Ib;^BS}}4EXU>15QykA7(S@{Ulrys+ zmzSvq$fKC_Qw~?;VP`}-y<|4i@`TmMK}6A_VCyA9rEr531T&qUY*-&msf8j`(C$)bBfmhjxs5)I<2Xr(;B#kZ7| z#HYlfiA2N5a8nhs*^iMi9He64QA3D!vtgo|aglHOk@$b0ONgh@0|PT%2F9M@V`F%1 z`n;~4m(_aiwu3hAZy<~I+K+P_C!Gzt6tVDsA&pviNBZsL8iWmrp0@A7CVTDk$sF7c zfVU?wc^$KLNziccT4C)>No+$I&Z)N-fmM%iP_sFPUCqlF-mF=k$dr+T1pzE-$+O*r zC2p2C-I#woyE475=VgxB=zLjPiTQQJ$ck2u5`aEa%J?eq7|{5E=%|O@1=XRs*i5a) zOub#+W}PuH(Yp{JgXDQAtmb#>} zDq;@*&8wtD6ql{vx`Mh6ALK~pK^k^EU^gr4TT^`BM?bFI9?MU!2z!zwQw3*9Odq*7 z3?vre{z_9vKnIW}amF{X_TAd2XRsMOUx}2VqLnGP$zwcD?ra#wd|9W=MrN0cR_YRB z|3!Zv=W5?_PaUBa3eL-JFIKlg+0*XJ1va?qIC$) zNOB5GOV9qo>(d&Q7q#il_RMo={*d)&^ssyxB(=Dt401 z0r%*oTBxSH$3Emu9%O$}(oYTz9Y}h61Fe7K$tBt=l)IW62cBy{b3bN0#q(Ce!fde| z#piG6=-Z(}2C?07(PtP-=geK4uLdN*9p(_OUrd7-SUPjcvg7Vl)gIl~U&ibj$*=Zc z(J?LNvZ&BVq7G+2p0U~^jVe=wNEH9;H+n1&Ufl`a(`CdK{c$Tx?X!QL_Lzs6$2)%z zk7Vu6L>0;#`t|M^p5-*apn7FV6`=W8>%3u&)uzr{bzij{_I%NY8i*;<0H*yKK*d4F z@wqTrPlcZX_U;C{JDtHJ4r_7;Cr^CGdwuHjX9f4mz;la<-Qq=@BX=SbctYEobusi-boT>D&X5Dm` zt%OWewsH;#P;PVJt(PRpZa5q9wq|X!`o1|4&DMJvMFiQYH_fiKaQFcSvB;b_1^;-SpO8=d$Tf*BntAEP@r3mn6(C#aH`}S12m~p`b`X1tE z&`SJq47)6~BdQprj*CReqLhl5by185Y+#Iq>t=12*Mv_XDaKhXttW2Nm~c5 zK#F!M&z~QS|CiI9shq;!BtOTM+a}4W)IAlT@nKnm&29&j#>%Q+&abSO)#c~Ti`a@}%FRx9K zP9}5NV04@!#4_2$G5g5e?c!0psricw39bu!#|BsX;uoS*som$LAjO2h>!8;hxU+On zTCE~{KULce?C8R{e8#bCDWipsRc-e`0QoZzO4x1!NrTDre(R~U_9ez}Re8MCmRCXe z^bv*RJo6-nXDWYNFz0q6+`0FW4-^SCPbiX?ovpq1Wpd!b@B6+n-3p`6&qq_10LsW~ zb`YweQWltirI(+lva7F`*9w~r$S{H***2Up8h`NkQsiY^G%qOZ)yRN)qJpoLXJ>gCo5mnvX_Rv1+LXUqv#j!{+T1d;0hGPP=x$<*< zPxD%uW{58H)VXY0OM!hfJF9xcD)MXvA>02wA@xLQCjcnbUoFSe)sif)UM1}I(x)+N z)oICx{N+A6@ns5fo<{m2R0h|c|3Y8BL_(98TEyf!?+^tIz!*K$ zj`XDm=W;dBNGOM15ly_KC=Q4Riy;8Ba$ELXNoIexZ2kJ8UT*1uIavR#ru_7AaSTt! zW%){G^Y?ge92z(IBb$y0%vSH(5bWYzoc}xVoLUF#_N3c+7lFC;t^r4=FjeuW>Udy| z>UEZ`>82;-aV4A9xm3lOZ4bQhb*yO9gCSJow~jh0H7r`=*rdPmH6pWpe|c%ct65% zT)po6X*uO27w3*;NDlK18ZcDn{p;h zm*n{jzZi}M2|~7RP@1%#;T`<-)=-1Z>iXEZ)L{ZWAMFApgv^@fGQQi*VZ^C~9d*T<$p8O1d&%49Z zuyg?)5pV%DX1|TV* zJvTrAo0<@Meg;KDE)A)>rsMOm=VlXCEkV0p+7WXNO$ww_(&4jF_ntjt_%kkGC z2N!&)K1&^ofCdo+nzCSdebKvaL%s8EOz(XCRDNfA+J4fMBqR7;ujBY_cJ0xq?Q$hMX$5}|V)6t?E`x(! zoOaz=37(3YNF^eNj4`3Br61>seJt&v)(?8BO#}K0Jl} zs+{`D+^nLfD~9x0+AUgSkRs%Z7I14g(ffYu#Uz0IGDC0dOQ^-o_EVj%1?LVNaPcNy z^vD(ldzSbpGpshFte=0Hi`J1Cin`rf$h#PLBx;)V$)nEaC+r_~)Vbt^ulJ`M@6=CT z-=Q*OL6lcQ=;6OAXz0sVhbjyve1bZA!YCoO^KHLt#)V{xPzI~kX=v0ZwzfAS5?Lsj zaS@(2zX4lwBr@HyoiV59LdTPiuVlL9J0Pv}1!U0ESyg~k`*?qzD-1L}zi|9mqO7dc zDHK>>K@2i{3%IuLL-mzf8tkq2TY@z~;UPJ>K~Rl`vlB5*=?dt*ZP(~+lRcK+{J8A^ zgWseSRM3ms?VE&uu1|?J_!69za@ny0 zvnm)rZ25|u29Tu&qb#dU&WHK3@r5u*mgNnO*}4ZaRXa8)4$(-46m%LRf=7)W;*A8; zsh)Fb7{v_1k&%McfJ%iyH6_@2j>meD5UjQvQl6z*2Cjc>{g04_Lwe#cUel)6FK(A!077Qfs>|zZh$qJ|{jwSkB$u^?)@aeJTVm+o)_Q>f^(6#A z31^?@boWOjS4dG0!nns2Pl}lV9t1IZ0c7l@k>cDd&d69c^mqrZPJc&AcfipK{Q!eH zYO$VDmU@4Zc#nGL)EpJ9@gOo)Dvv2f31f$CYNzKj1Fakw4!>T|=oxsTAu2OY^guc@ zsij$=;3Sp>IfAkUKN>iXNO>gczFbCWsf}e1r}Csld?zB`-a*jZRGS+P+8JY{ccuMEfeWneubETP)vz| zoIHpe1WA)*r8y_NeoAkMPbXq2`6(ask3S8dW+AkT+anr9*Q4$@3v-0WKN}G7&VZ9JgW}qyV zrwz9q1MCY&WH~Fqqbi-~#h*Wixd5OQ_thST`&3 z?mHD3=;x(keI3$;i-~TAt*bc;OBqPN%iJ z(_MUSRz_KGh%=e(A^wo#eKZ;)BaC%U*%us0t$2^Q?jq!S^=?nlTkywn?g-e{9zB1E zq=>V^O8t}&Ca-05Ovhn3LGrFCt%ES`f`zWx?|M%R@<7*-Wt+|J#NtOsic7W>&Degm zQOWXI11V?+9bBzf|L8@md3q~uStnKjUohb0D*ZZ@-S8YO#CzSeoo98W^$$lPn}FS5 zZgje^M?=L062pRtQ4LLoP?5>g4;gueHKC z9vX@hh(7ZnQG*}c`Veg;z}sIP5X*q%I;v^^Ef&`tcMK}tZ;rPq&PZ{77MFix12nE- zRETg9qFU$H0et+`XEwpV)v=S;-NCc#*9B@6#W1)^=$h0DoL04{ZsB1}#c=q9V7U39 z2@IvlT}=k@=6(`B^x+H!2k+|hhY4wQEPvDP?vE4BtBlG;V zl=tjCcVv7~RS{$1`X}!ka&mvdG+FI`MbhrZXV{Rg)rV%f={c0vN3A1dAMcYLVFyY` zaqolbmORuvCd<~Ib`laVuZEZGf#LIe)=Nx(ye45x4TtEn?qN(LU97^D(L_oB#D$zj z_`C!Fsmuo8&k65Es^T99aZ0)EN7&N_*L>e`TBd1E2qvnE`#@r=1w5`L=Z#w@lKc0k z!cct=&za0?S_>)OHve6&D~GeQ8Wl%S&_a^WFg;5a*ikLBTeg4hv6mIBL{w#z?KZ|_ zc9Ty8Hss6g*jq=lGcUiRj#phkw(AK@8it2`H-oM^(lA@Tk`mfB)|2h_RE+Q}x821o zv+oxb*)4xBw3!Rq?hq#K_6w=xc*?Bj*DE>y6ZUb1^5_qD;`k)n_W`n7IBRjDoLi8D z>Gs#CO19PSaovAfw!c4bxvglAv+ePUBf>LLArCmYMu@v;0(6j)yYDa2JU#2Sl~akC zLu%g%fE$hLlX2o%)jQcksl%y|ZpRb4aU`X47p;qS!%f)uWn^M;$fWyR1coO;h71BH zIN7BM!tzLBN5fY-s?%wv3aKnijz9dQzq7vJ=yFq;W%GYsw*;8EFG8HL5;wbgu{s2M zqmw!fGH_qg2Ijt}AtVQk;DGH#XoEH>G@je-*ez#-c4tu!Z&VSA#(c@-bfgJ`2Z#6S zBxHWKUM?zQx>^4Vr|uM72^VgQuGqF$(y?vZwrzK8XT|K;PC91CPCB-2t7G5)?z5}T z`}rPc&6WL!j#5*lK?FiW zR_ozbhN4-^r0Zb)fUa3GXf(*;4xC2FKN$g%MYw;NwBHb2Z%-U21Q2pC{?*wfg!g{Z zpuLHTTT8-?obM{eVdUNYu9(VWQ`u?|5Hi2YBt^yzZWz*W@b7+LG?X`6z@BXun|AC> zA)=W33+tPbtIYGL9?iC;m_aK+wX-l`>{?!Z5r$!Xy?rG)$r+9G0}frQ(|%3;+TE~o;8rc?lU^rD};3&1b+NzZ{;kpIHjr*FO3&4`!%k| zV)%mvxpXWh-%n7j;i8t0ciMsT`mV+Ros1f_iXwgD=cHQQ;7&t|u4pta%NdA_pupm! zu}0y)&Z>R4R5$P0|B8pwhe=ZuX&gM)c`bj-xaXh#+55#2SF;fnLV51Zhzk;lE6`M- z5@^d1?Vl@R!>IKH|au%=u6^r8-fwCTh2k~oLZ{eVfo-9@5%)1dN;&RaD_R-x3mKmW}!GrRb+`LPSQnn+g@yo2P`tQ(+n zM_-}RADGIigWvu8L$AhVCOn-v&l%Unmk%wAM+ma*f{Q`>#dY^U9^#P0Drfkh@aow! zz)}Ub$5{0*=$>+XQX)p%`+7}&+XsJU?z$Uv$0{kOD~=4mO6@v25c|8%bS+ZwF!?8B zL94}yxl!<4qcK3cZ~d=^@IHHSGBm446<^%Ja*$JGg7(7Ivz zYx+`CKB`TNaMRWIPsFhiO3EvjE@mko1M@)(B{R#y2&jlBGAJl1m5^VuODd-h)(PTFH+e zn#8no0XxMfoA(*nn~zmF{$<&(L&DW)+8gJq^oh*FcTqftu3iDb*5(;RMqjkqg02XA zFOY^(FszRpyfy&SR4L1uyxPNTk?k{&zQFhzJ7T|sDxWJNBuK3KEZ4fKNyW1G7)?eg z5`8It-s379rShB`9cF)FsKqJ*rr%blyyw)O7?g8YvpuFfhKx$s*1|3e%B-NVe__M( zFBg&?-x~?5N%9s{BmqM_U&6x?rfBNYq1CaT?ohp%Y|oIp0cB{e{+bbAC)7Lc?^0=; z*>(1S)}wV*b2Fcm!w&LFMOVGH{vHz?NGN&DtdLgXry3>~TTXuv0n#W|Gn0Yr>#Erq zzb%$S3=WS$`O0>@uSHzTD$rR&#caWn5?$AgzMX?7%^4@o|NVAjJ*R4>qrj@)Lm6_E zhHlj_UJnL(8@VgoCZdaZ4eXofaJlC5rP}hK)P$1CO%gTY`WNFw^46?I-QLw&e)oPK zwVGpai|Aj;T~2=w`*dgpWr=&J4^_Uhnkfz8=>`*F{on261bSQqqR|q!pUaINMRO&0ODPTqnHzXT(>Q;*^y6U{k`|C%p3*wK8I<}# z*TB0rj7SwGwz=&bc0e?}~g$0-3m7Ilk3m9X9+V@>}xn zHGECUe@cHM4mHe|j*FsMR;jW>kG-@2ZB^pgIKfrftFF}7=Rd68$ycT)2$l5;MRmJ?`5>*2O^te#XZ zJ$*lf_r`(68q=f;%ATQv$t(yl=dvp6(cAwI*C2m@QJ|ZUr5^+XUp^xwuWb4xzea#K z?wS6K>Tq>{G1bt1Tyyr$L{jQJ-c?s1pAxy2XtyH7Eq_<6$b+s}h}z z1p!#Yb=F^n4vrL7)dxCh;5*^+fF&V{FM59ln0>^FDawK0iW{dbxf1(pPOsy5jkD?= z^U@kG)a4S-(7tk)RmhIfUR7b{h%o+=#1~!|!p9R63+rQ(_Yu_CF`HM)Rte`TwYMB$@qRo#PsmGoe=N$lZ7QRw%yA4`?>Aj7*FT zrpYl@w*RatJ=61wnJwj@I#VW%LT8@YZRg(cS4|Z&E(Mj*(hWhG;FbV6ztn%gzi_yz z2NL;ZV!4K&lp^NrOWV4O&&-7sWIW{SpJQ3yMXR){s6#M|VCuqv1F#?`(klNUH>j3lG}|NMqN7d_l@=f^{a*=~ zInyr9nV}Ci#FbEqkUM4}RAqk%0}mFgSf7d&wWKgVGhAW@hC9D-pBgA!uae_g&g_vF zJ#@vo%a^49xr;prj-QmENUEXo*hzhT)RY$WSa@Q0101b0*~^9~=^PNy7@dWyp(Z!x zM49L@zQ!r4U@VZx{lc-!GejgzKNKP|AIi0``OQU^X&3Z`^9*QpW5s{O!(AvNXw*`+ z6(ocsofPisN_<<*uc+$ ztFM(>*|UTHy<%P#T8n>!7R5@yN}#J@AQNfb7T8~4Y~TZ+=>uJm3Z78`&2&7uwVMj5 zXMGbWe*%!06AY5n#gg^+*`b^2NOuA$gDGzpP#vI|pbEi|fI8QO0zz86F+$LsUEI*h z+?W9W=BHx&sQ{?#$mRKs;QV^N{i{I4*UgPFhpt3h9+?ujA_jlsWK?)-Kuf9n{PH&u zFLWTB`STSRCRH&4uP${&ASss@EypphuG$Fz%fqT_ApzL=7HYn%FOB;qz5!fEL=Od^ zYQ<$nmNZ@b?CbLP1Q?{u9UUkZX1u~I>HnCjaRNVXEJx3EgU-Yv`8mi9^$1*sOM=!H z0lZMqU2O%Hw!D9M8^gV8BchRnIOChNpa~_5C42H+vMkkJ*zkF9UX^zxi7&{G+ZFzS zA3%H|wcb39aA7hV%g`Ge5ftY)I;gK>{v#UWVBG&=*H`ViTFi>@d$q@C-edfZo#;z| zoLW^M`j-OG;uecxxw+Bxaz%&pm>1r)Xt1Ym7oPk&Xf}V2!JOzR`Xe-(CG&aS=OeRZ zWLwOF4Kpp22-2wkzM$?(J8klhWMie1H0{bMb26S5pb$bF;V}BVUh9#mCwydZrr@kX z$)t<^wN!Z}(@z6)Q42Z^dg6cN4+^AoePSNh$isWRIY z=SacYgeHHC=XMDUdL6~|tl9f;ekT=LhA)A(Nqt&o2;64Mc7c#WHAkJtW5n^sdQHCZRA zcq$CXLPZRL#YZa4l5Ox==hERgW?EgJLmtd^ffDB={W4XT3SPNpws-KiZ{nQxYvG*n z!a=vBt`3pq0#?-Rf*D{iTF$*((5&QLGUwoFc}3dO>`UB0(^cTzFjqg;sfDbfv{;;H z;wyhK6x4&s+KE8i@`H5$aw=N6j0SQX^e&nFVHJ~NZs-Km?|~uz5Y6LjvDhc9ar&S; zBBrhu9VD~$13@a+RHkqg2Z~Dc*3|s^Gw5s<5x@JIKvtGr?^-elnoHl2H@l~6X+LTT zYft=uhkaAI>u&-IHo8o{n_CRtz?CkUa3_B;_X>&4`6hph6u+x*y#fpRU}MBd{KFp* z0}_O@rQ?I8e-vS>0|5%2JEcU~MtnJ64=jiO5J{K41X|~#kjlAZ*>%@%5_l~iUdbon z|Jk(#8ZqyJsU-G4nOV4B1Zs2-5=B59M3aiAaD_5pm?wDPMm4wXA?MBpFuF(i{&jx} za>a=b;zpC8C1NwzSP)`IRCHb4n8cXIeViqW{l;C|ltKRSt2Ua+a$ps~y0+JHgQ^6H z8eS3zO=(YJrOEMyMUZz^&y`u8bGD?fpv;{rE)_Z`ZL!kkXel}|VdL}yGpwMjn*bja zT+z?mF{QWlAhjs8W8%c3#Iv9@DfNFFE@a>i`A4R~^6X5BOP%H9%Z~Ck_;5>wt}yVJ zw2aL`bL9j71A*uX`u>p3ZF7E~ipk3<1Tuqr=FhrG^fnXEn2rT=rGPj$^XK7%1V_et*B^wZA2>=ob<{N3i$45(lTgE)0 z2@@q2CC{?>?mFQTM`Dvb_DKKm?Vf_F6cpdKcmd;D>}4mC5Rq3)(|D%RK#N4U5FTw z2iLtk&MKVebBvKMN2^=NV2}7sSL@KBXU~*J&ZE*)jl_gN1$p0)aAQV&K+#&p7stMm z%WCdqlR-tmxonp-bgyOVpx{vt({aYX4z9IjJgtpO)#hXo1%_yt^~irpb`oj=wV%J# zvj?wD^R5P*2lhp}vc5r4n1oLp$9p8tY*z?Q^>L${CNSwHq3Guv#vI};Flvr`b8b=r zpqpVL4;Y$f;;|UPIVSnJaFVZbb7+*rHyYe=<*it8{60I<>aBl7yPua4xNG1{J_Ld- zIe0&}jWH_SIh*k5To!+oiba^Du~VG9Nzk_U>VL~vyvphIDGxmOTAqb4eGOOGFt_AN zuZCKKMJb6V$*;0Hvp5TMGD{W{Gp&ta26*Ml=e~jwxP`ZJ2l-4JjJ&APvWkPRaoK{cp)8||(gvx;#jOKLx(g1s;z_6ZLj}#@*tBhw( zee$RelC}0wgun9qf%(LF0`Dc_LG)gTyubeU^Fsc3nx20l4coL>nE|AkQeWAq$)K(H z&=AoRd7aZS6Rv;XCi6}l5+P#a8<9uqS|$OG>1cMyk53uB9RT!F2G*=Ul|uYL;eoRHR8s>3My5W>k5AE{ zTBi!ZP|Lef{=(sZAI(T26OV_8*BXP-h>5zKx(ml1Ngte^l~kWmzDtm~t3*zz)~EOz zc8}y!C#K{~aMql43GxR%Gx72wq=>8Nu!+)dM?v$H%!fQB?YjvR8&nP&du0z-<^MPb z!@b~P{g27`&5F&GGuY+Y5AXWRG`6b_Iwh+?jvbS&mglU0;Nf1@R<{lu4wlH1A9F9p zsl!^I%0A!Ex@`BXxB>*pxj+|X7g2WlVoF`|HBIML0#ShvTD+eR&!O`G5#xsBfwcE} z+S%_uJ{h9VKxC%WwIqTh1C|Bo@XzKltQsfDi+S9I9oyFJcV4GYtd$I;woS57yKTCR z2IQHc=fIp|N+#BKmk2a=_nNg+aj4GHqX8Rk zV77dJFRWxPa?~h;A3ZFHx`=cYexC|~6EPauH^u9HiYpgp3W-i41eG3cU|zEt>Z<)L zH*5XdEAnK*b2xs;>HJ-TqVrO8sxHo!nTS9ERnj)mi$QlGeo-mJl?1aR@$wCJ&4OzD ze3%N|&X43*oPeq=cSL4W;eonza|oX9%Q>Qdgb0MZw!~*vvMjqX?hwJ&SDdrmR&{}P zjyON^Iq8zf5aq(W`vH~tI1VE~mOlYkCU-I(q|kNh(|gzF&Dn{bZPa$97K~IM^k`;X zgr}eszFcfPdB*I*8Osa1&zft#04Lu&RDRDc-5eYR4j4y8gNc~~m`!9@y9R~t(C}P; zx}&TuZJ$Os=^?>E#85 z#1)}SbiB`;)Pk`Of8n(__ z6|WhL8Y@f=-@r~jD!dt0(svI4ypu=UTQ%=P;vQHKM#P*B6yJZHX5IXTgAgrTV#l$%1&7 z;qr$Zi?JIlV$ovNeaITLb)4xkrVGpJ!xws}6=0I!wyC5FAZ?>?w z@Sa^S1Tcp$??5pB{5O2wV=x>vmp&y!alDHc z

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%0Dxh*seRvdNM1y5}W- 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%0A8l-xe`4E;(3UNDxL+MPaLEi@_t4o_J! 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 a^?7`XkHCMwc)Wr#2_o@+{pu<9X4 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

uymdW+p!d}8P2d-V$2&luixD)(qqr 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 EA9P%sUjP6A diff --git a/backend/cdkproxymain.py b/backend/cdkproxymain.py index 1a2ff2de9..343d5692b 100644 --- a/backend/cdkproxymain.py +++ b/backend/cdkproxymain.py @@ -52,7 +52,12 @@ def up(response: Response): def check_creds(response: Response): logger.info('GET /awscreds') try: - sts = boto3.client('sts', region_name=os.getenv('AWS_REGION', 'eu-west-1')) + region = os.getenv('AWS_REGION', 'eu-west-1') + sts = boto3.client( + 'sts', + region_name=region, + endpoint_url=f"https://sts.{region}.amazonaws.com" + ) data = sts.get_caller_identity() return { 'DH_DOCKER_VERSION': os.environ.get('DH_DOCKER_VERSION'), @@ -84,7 +89,7 @@ def check_connect(response: Response): return { 'DH_DOCKER_VERSION': os.environ.get('DH_DOCKER_VERSION'), '_ts': datetime.now().isoformat(), - 'message': f"Connected to database for environment {ENVNAME}({engine.dbconfig.params['host']}:{engine.dbconfig.params['port']})", + 'message': f"Connected to database for environment {ENVNAME}({engine.dbconfig.host})", } except Exception as e: logger.exception('DBCONNECTIONERROR') diff --git a/backend/dataall/api/Objects/Dataset/input_types.py b/backend/dataall/api/Objects/Dataset/input_types.py index 16609814d..79d140bda 100644 --- a/backend/dataall/api/Objects/Dataset/input_types.py +++ b/backend/dataall/api/Objects/Dataset/input_types.py @@ -42,6 +42,7 @@ class DatasetSortField(GraphQLEnumMapper): gql.Argument('language', gql.Ref('Language')), gql.Argument('confidentiality', gql.Ref('ConfidentialityClassification')), gql.Argument(name='stewards', type=gql.String), + gql.Argument('KmsAlias', gql.NonNullableType(gql.String)), ], ) @@ -94,7 +95,7 @@ class DatasetSortField(GraphQLEnumMapper): gql.Argument('description', gql.String), gql.Argument('bucketName', gql.NonNullableType(gql.String)), gql.Argument('glueDatabaseName', gql.String), - gql.Argument('KmsKeyId', gql.String), + gql.Argument('KmsKeyAlias', gql.NonNullableType(gql.String)), gql.Argument('adminRoleName', gql.String), gql.Argument('tags', gql.ArrayType(gql.String)), gql.Argument('owner', gql.NonNullableType(gql.String)), diff --git a/backend/dataall/api/Objects/Dataset/resolvers.py b/backend/dataall/api/Objects/Dataset/resolvers.py index 606f5396d..39758bbd1 100644 --- a/backend/dataall/api/Objects/Dataset/resolvers.py +++ b/backend/dataall/api/Objects/Dataset/resolvers.py @@ -13,7 +13,8 @@ from ....aws.handlers.glue import Glue from ....aws.handlers.service_handlers import Worker from ....aws.handlers.sts import SessionHelper -from ....aws.handlers.sns import Sns +from ....aws.handlers.kms import KMS + from ....aws.handlers.quicksight import Quicksight from ....db import paginate, exceptions, permissions, models from ....db.api import Dataset, Environment, ShareObject, ResourcePolicy @@ -32,6 +33,21 @@ def check_dataset_account(environment): return True +def check_imported_resources(environment, kmsAlias): + if kmsAlias not in ["Undefined", "", "SSE-S3"]: + key_id = KMS.get_key_id( + account_id=environment.AwsAccountId, + region=environment.region, + key_alias=f"alias/{kmsAlias}" + ) + if not key_id: + raise exceptions.AWSResourceNotFound( + action=permissions.IMPORT_DATASET, + message=f'KMS key with alias={kmsAlias} cannot be found', + ) + return True + + def create_dataset(context: Context, source, input=None): with context.engine.scoped_session() as session: environment = Environment.get_environment_by_uri(session, input.get('environmentUri')) @@ -71,6 +87,7 @@ def import_dataset(context: Context, source, input=None): with context.engine.scoped_session() as session: environment = Environment.get_environment_by_uri(session, input.get('environmentUri')) check_dataset_account(environment=environment) + check_imported_resources(environment=environment, kmsAlias=input.get('KmsKeyAlias', "")) dataset = Dataset.create_dataset( session=session, @@ -83,9 +100,9 @@ def import_dataset(context: Context, source, input=None): dataset.imported = True dataset.importedS3Bucket = True if input['bucketName'] else False dataset.importedGlueDatabase = True if input.get('glueDatabaseName') else False - dataset.importedKmsKey = True if input.get('KmsKeyId') else False + dataset.importedKmsKey = True if input.get('KmsKeyAlias') else False dataset.importedAdminRole = True if input.get('adminRoleName') else False - + dataset.KmsAlias = "SSE-S3" if input.get('KmsKeyAlias') == "" else input.get('KmsKeyAlias') Dataset.create_dataset_stack(session, dataset) indexers.upsert_dataset( @@ -231,6 +248,7 @@ def update_dataset(context, source, datasetUri: str = None, input: dict = None): dataset = Dataset.get_dataset_by_uri(session, datasetUri) environment = Environment.get_environment_by_uri(session, dataset.environmentUri) check_dataset_account(environment=environment) + check_imported_resources(environment=environment, kmsAlias=input.get('KmsAlias', "")) updated_dataset = Dataset.update_dataset( session=session, username=context.username, diff --git a/backend/dataall/api/Objects/DatasetProfiling/mutations.py b/backend/dataall/api/Objects/DatasetProfiling/mutations.py index 5876c81a7..559129dc8 100644 --- a/backend/dataall/api/Objects/DatasetProfiling/mutations.py +++ b/backend/dataall/api/Objects/DatasetProfiling/mutations.py @@ -7,13 +7,3 @@ type=gql.Ref('DatasetProfilingRun'), resolver=start_profiling_run, ) - -updateDatasetProfilingRunResults = gql.MutationField( - name='updateDatasetProfilingRunResults', - args=[ - gql.Argument(name='profilingRunUri', type=gql.NonNullableType(gql.String)), - gql.Argument(name='results', type=gql.NonNullableType(gql.String)), - ], - type=gql.Ref('DatasetProfilingRun'), - resolver=update_profiling_run_results, -) diff --git a/backend/dataall/api/Objects/DatasetProfiling/queries.py b/backend/dataall/api/Objects/DatasetProfiling/queries.py index 9ab3eb2bb..1cbe06764 100644 --- a/backend/dataall/api/Objects/DatasetProfiling/queries.py +++ b/backend/dataall/api/Objects/DatasetProfiling/queries.py @@ -2,24 +2,6 @@ from .resolvers import * -getDatasetProfilingRun = gql.QueryField( - name='getDatasetProfilingRun', - args=[gql.Argument(name='profilingRunUri', type=gql.NonNullableType(gql.String))], - type=gql.Ref('DatasetProfilingRun'), - resolver=get_profiling_run, -) - - -listDatasetProfilingRuns = gql.QueryField( - name='listDatasetProfilingRuns', - args=[ - gql.Argument(name='datasetUri', type=gql.NonNullableType(gql.String)), - gql.Argument(name='filter', type=gql.Ref('DatasetProfilingRunFilter')), - ], - type=gql.Ref('DatasetProfilingRunSearchResults'), - resolver=list_profiling_runs, -) - listDatasetTableProfilingRuns = gql.QueryField( name='listDatasetTableProfilingRuns', args=[gql.Argument(name='tableUri', type=gql.NonNullableType(gql.String))], @@ -31,5 +13,5 @@ name='getDatasetTableProfilingRun', args=[gql.Argument(name='tableUri', type=gql.NonNullableType(gql.String))], type=gql.Ref('DatasetProfilingRun'), - resolver=get_last_table_profiling_run, + resolver=get_dataset_table_profiling_run, ) diff --git a/backend/dataall/api/Objects/DatasetProfiling/resolvers.py b/backend/dataall/api/Objects/DatasetProfiling/resolvers.py index 678a8cba6..11c19b888 100644 --- a/backend/dataall/api/Objects/DatasetProfiling/resolvers.py +++ b/backend/dataall/api/Objects/DatasetProfiling/resolvers.py @@ -1,6 +1,7 @@ import json import logging +from .... import db from ....api.context import Context from ....aws.handlers.service_handlers import Worker from ....aws.handlers.sts import SessionHelper @@ -19,7 +20,30 @@ def resolve_dataset(context, source: models.DatasetProfilingRun): ) +def resolve_profiling_run_status(context: Context, source: models.DatasetProfilingRun): + if not source: + return None + with context.engine.scoped_session() as session: + task = models.Task( + targetUri=source.profilingRunUri, action='glue.job.profiling_run_status' + ) + session.add(task) + Worker.queue(engine=context.engine, task_ids=[task.taskUri]) + return source.status + + +def resolve_profiling_results(context: Context, source: models.DatasetProfilingRun): + if not source or source.results == {}: + return None + else: + return json.dumps(source.results) + + def start_profiling_run(context: Context, source, input: dict = None): + """ + Triggers profiling jobs on a Table. + Only Dataset owners with PROFILE_DATASET_TABLE can perform this action + """ with context.engine.scoped_session() as session: ResourcePolicy.check_user_resource_permission( @@ -48,47 +72,14 @@ def start_profiling_run(context: Context, source, input: dict = None): return run -def get_profiling_run_status(context: Context, source: models.DatasetProfilingRun): - if not source: - return None - with context.engine.scoped_session() as session: - task = models.Task( - targetUri=source.profilingRunUri, action='glue.job.profiling_run_status' - ) - session.add(task) - Worker.queue(engine=context.engine, task_ids=[task.taskUri]) - return source.status - - -def get_profiling_results(context: Context, source: models.DatasetProfilingRun): - if not source or source.results == {}: - return None - else: - return json.dumps(source.results) - - -def update_profiling_run_results(context: Context, source, profilingRunUri, results): - with context.engine.scoped_session() as session: - run = api.DatasetProfilingRun.update_run( - session=session, profilingRunUri=profilingRunUri, results=results - ) - return run - - -def list_profiling_runs(context: Context, source, datasetUri=None): - with context.engine.scoped_session() as session: - return api.DatasetProfilingRun.list_profiling_runs(session, datasetUri) - - -def get_profiling_run(context: Context, source, profilingRunUri=None): - with context.engine.scoped_session() as session: - return api.DatasetProfilingRun.get_profiling_run( - session=session, profilingRunUri=profilingRunUri - ) - - -def get_last_table_profiling_run(context: Context, source, tableUri=None): +def get_dataset_table_profiling_run(context: Context, source, tableUri=None): + """ + Shows the results of the last profiling job on a Table. + For datasets "Unclassified" all users can perform this action. + For datasets "Secret" or "Official", only users with PREVIEW_DATASET_TABLE permissions can perform this action. + """ with context.engine.scoped_session() as session: + _check_preview_permissions_if_needed(context=context, session=session, tableUri=tableUri) run: models.DatasetProfilingRun = ( api.DatasetProfilingRun.get_table_last_profiling_run( session=session, tableUri=tableUri @@ -102,7 +93,7 @@ def get_last_table_profiling_run(context: Context, source, tableUri=None): environment = api.Environment.get_environment_by_uri( session, dataset.environmentUri ) - content = get_profiling_results_from_s3( + content = _get_profiling_results_from_s3( environment, dataset, table, run ) if content: @@ -121,7 +112,7 @@ def get_last_table_profiling_run(context: Context, source, tableUri=None): return run -def get_profiling_results_from_s3(environment, dataset, table, run): +def _get_profiling_results_from_s3(environment, dataset, table, run): s3 = SessionHelper.remote_session(environment.AwsAccountId).client( 's3', region_name=environment.region ) @@ -141,7 +132,32 @@ def get_profiling_results_from_s3(environment, dataset, table, run): def list_table_profiling_runs(context: Context, source, tableUri=None): + """ + Lists the runs of a profiling job on a Table. + For datasets "Unclassified" all users can perform this action. + For datasets "Secret" or "Official", only users with PREVIEW_DATASET_TABLE permissions can perform this action. + """ with context.engine.scoped_session() as session: + _check_preview_permissions_if_needed(context=context, session=session, tableUri=tableUri) return api.DatasetProfilingRun.list_table_profiling_runs( session=session, tableUri=tableUri, filter={} ) + + +def _check_preview_permissions_if_needed(context, session, tableUri): + table: models.DatasetTable = db.api.DatasetTable.get_dataset_table_by_uri( + session, tableUri + ) + dataset = db.api.Dataset.get_dataset_by_uri(session, table.datasetUri) + if ( + dataset.confidentiality + != models.ConfidentialityClassification.Unclassified.value + ): + ResourcePolicy.check_user_resource_permission( + session=session, + username=context.username, + groups=context.groups, + resource_uri=table.tableUri, + permission_name=permissions.PREVIEW_DATASET_TABLE, + ) + return True diff --git a/backend/dataall/api/Objects/DatasetProfiling/schema.py b/backend/dataall/api/Objects/DatasetProfiling/schema.py index f6fe9c575..88edbc403 100644 --- a/backend/dataall/api/Objects/DatasetProfiling/schema.py +++ b/backend/dataall/api/Objects/DatasetProfiling/schema.py @@ -1,8 +1,8 @@ from ... import gql from .resolvers import ( resolve_dataset, - get_profiling_run_status, - get_profiling_results, + resolve_profiling_run_status, + resolve_profiling_results, ) DatasetProfilingRun = gql.ObjectType( @@ -16,11 +16,11 @@ gql.Field(name='GlueTriggerName', type=gql.String), gql.Field(name='GlueTableName', type=gql.String), gql.Field(name='AwsAccountId', type=gql.String), - gql.Field(name='results', type=gql.String, resolver=get_profiling_results), + gql.Field(name='results', type=gql.String, resolver=resolve_profiling_results), gql.Field(name='created', type=gql.String), gql.Field(name='updated', type=gql.String), gql.Field(name='owner', type=gql.String), - gql.Field('status', type=gql.String, resolver=get_profiling_run_status), + gql.Field('status', type=gql.String, resolver=resolve_profiling_run_status), gql.Field(name='dataset', type=gql.Ref('Dataset'), resolver=resolve_dataset), ], ) diff --git a/backend/dataall/api/Objects/Environment/queries.py b/backend/dataall/api/Objects/Environment/queries.py index 34b397748..0d593ea09 100644 --- a/backend/dataall/api/Objects/Environment/queries.py +++ b/backend/dataall/api/Objects/Environment/queries.py @@ -175,6 +175,14 @@ test_scope='Environment', ) +getCDKExecPolicyPresignedUrl = gql.QueryField( + name='getCDKExecPolicyPresignedUrl', + args=[gql.Argument(name='organizationUri', type=gql.NonNullableType(gql.String))], + type=gql.String, + resolver=get_cdk_exec_policy_template, + test_scope='Environment', +) + getPivotRoleExternalId = gql.QueryField( name='getPivotRoleExternalId', diff --git a/backend/dataall/api/Objects/Environment/resolvers.py b/backend/dataall/api/Objects/Environment/resolvers.py index 6df801118..03ce2d964 100644 --- a/backend/dataall/api/Objects/Environment/resolvers.py +++ b/backend/dataall/api/Objects/Environment/resolvers.py @@ -700,6 +700,52 @@ def get_pivot_role_template(context: Context, source, organizationUri=None): raise e +def get_cdk_exec_policy_template(context: Context, source, organizationUri=None): + from ....utils import Parameter + + with context.engine.scoped_session() as session: + ResourcePolicy.check_user_resource_permission( + session=session, + username=context.username, + groups=context.groups, + resource_uri=organizationUri, + permission_name=permissions.GET_ORGANIZATION, + ) + cdk_exec_policy_bucket = Parameter().get_parameter( + env=os.getenv('envname', 'local'), path='s3/resources_bucket_name' + ) + cdk_exec_policy_bucket_key = Parameter().get_parameter( + env=os.getenv('envname', 'local'), path='s3/cdk_exec_policy_prefix' + ) + if not cdk_exec_policy_bucket or not cdk_exec_policy_bucket_key: + raise exceptions.AWSResourceNotFound( + action='GET_CDK_EXEC_POLICY_TEMPLATE', + message='CDK Exec Yaml template file could not be found on Amazon S3 bucket', + ) + try: + s3_client = boto3.client( + 's3', + region_name=os.getenv('AWS_REGION', 'eu-central-1'), + config=Config( + signature_version='s3v4', s3={'addressing_style': 'virtual'} + ), + ) + presigned_url = s3_client.generate_presigned_url( + 'get_object', + Params=dict( + Bucket=cdk_exec_policy_bucket, + Key=cdk_exec_policy_bucket_key, + ), + ExpiresIn=15 * 60, + ) + return presigned_url + except ClientError as e: + log.error( + f'Failed to get presigned URL for CDK Exec role template due to: {e}' + ) + raise e + + def get_external_id(context: Context, source, organizationUri=None): with context.engine.scoped_session() as session: ResourcePolicy.check_user_resource_permission( @@ -731,6 +777,6 @@ def get_pivot_role_name(context: Context, source, organizationUri=None): if not pivot_role_name: raise exceptions.AWSResourceNotFound( action='GET_PIVOT_ROLE_NAME', - message='Pivot role name could not be found on AWS Secretsmanager', + message='Pivot role name could not be found on AWS Systems Manager - Parameter Store', ) return pivot_role_name diff --git a/backend/dataall/api/Objects/ShareObject/input_types.py b/backend/dataall/api/Objects/ShareObject/input_types.py index 04f7269ec..0b7828825 100644 --- a/backend/dataall/api/Objects/ShareObject/input_types.py +++ b/backend/dataall/api/Objects/ShareObject/input_types.py @@ -8,6 +8,7 @@ gql.Argument(name='groupUri', type=gql.NonNullableType(gql.String)), gql.Argument(name='principalId', type=gql.NonNullableType(gql.String)), gql.Argument(name='principalType', type=gql.NonNullableType(gql.String)), + gql.Argument(name='requestPurpose', type=gql.String), ], ) diff --git a/backend/dataall/api/Objects/ShareObject/mutations.py b/backend/dataall/api/Objects/ShareObject/mutations.py index d8247837d..68e7d18d8 100644 --- a/backend/dataall/api/Objects/ShareObject/mutations.py +++ b/backend/dataall/api/Objects/ShareObject/mutations.py @@ -56,7 +56,10 @@ rejectShareObject = gql.MutationField( name='rejectShareObject', - args=[gql.Argument(name='shareUri', type=gql.NonNullableType(gql.String))], + args=[ + gql.Argument(name='shareUri', type=gql.NonNullableType(gql.String)), + gql.Argument(name='rejectPurpose', type=gql.String), + ], type=gql.Ref('ShareObject'), resolver=reject_share_object, ) @@ -67,3 +70,24 @@ type=gql.Ref('ShareObject'), resolver=revoke_items_share_object, ) + +updateShareRejectReason = gql.MutationField( + name='updateShareRejectReason', + args=[ + gql.Argument(name='shareUri', type=gql.NonNullableType(gql.String)), + gql.Argument(name='rejectPurpose', type=gql.String) + ], + type=gql.Boolean, + resolver=update_share_reject_purpose, +) + + +updateShareRequestReason = gql.MutationField( + name='updateShareRequestReason', + args=[ + gql.Argument(name='shareUri', type=gql.NonNullableType(gql.String)), + gql.Argument(name='requestPurpose', type=gql.String) + ], + type=gql.Boolean, + resolver=update_share_request_purpose, +) diff --git a/backend/dataall/api/Objects/ShareObject/resolvers.py b/backend/dataall/api/Objects/ShareObject/resolvers.py index f14642aeb..bdc03545d 100644 --- a/backend/dataall/api/Objects/ShareObject/resolvers.py +++ b/backend/dataall/api/Objects/ShareObject/resolvers.py @@ -85,14 +85,14 @@ def approve_share_object(context: Context, source, shareUri: str = None): return share -def reject_share_object(context: Context, source, shareUri: str = None): +def reject_share_object(context: Context, source, shareUri: str = None, rejectPurpose: str = None,): with context.engine.scoped_session() as session: return db.api.ShareObject.reject_share_object( session=session, username=context.username, groups=context.groups, uri=shareUri, - data=None, + data={"rejectPurpose": rejectPurpose}, check_perm=True, ) @@ -222,25 +222,19 @@ def resolve_user_role(context: Context, source: models.ShareObject, **kwargs): return None with context.engine.scoped_session() as session: dataset: models.Dataset = db.api.Dataset.get_dataset_by_uri(session, source.datasetUri) - if dataset and dataset.stewards in context.groups: + if ( + dataset and ( + dataset.stewards in context.groups + or dataset.SamlAdminGroupName in context.groups + or dataset.owner == context.username + ) + ): return ShareObjectPermission.Approvers.value if ( source.owner == context.username - or source.principalId in context.groups - or dataset.owner == context.username - or dataset.SamlAdminGroupName in context.groups + or source.groupUri in context.groups ): return ShareObjectPermission.Requesters.value - if ( - dataset and dataset.stewards in context.groups - and ( - source.owner == context.username - or source.principalId in context.groups - or dataset.owner == context.username - or dataset.SamlAdminGroupName in context.groups - ) - ): - return ShareObjectPermission.ApproversAndRequesters.value else: return ShareObjectPermission.NoPermission.value @@ -375,3 +369,27 @@ def list_shares_in_my_outbox(context: Context, source, filter: dict = None): data=filter, check_perm=None, ) + + +def update_share_request_purpose(context: Context, source, shareUri: str = None, requestPurpose: str = None): + with context.engine.scoped_session() as session: + return db.api.ShareObject.update_share_request_purpose( + session=session, + username=context.username, + groups=context.groups, + uri=shareUri, + data={"requestPurpose": requestPurpose}, + check_perm=True, + ) + + +def update_share_reject_purpose(context: Context, source, shareUri: str = None, rejectPurpose: str = None): + with context.engine.scoped_session() as session: + return db.api.ShareObject.update_share_reject_purpose( + session=session, + username=context.username, + groups=context.groups, + uri=shareUri, + data={"rejectPurpose": rejectPurpose}, + check_perm=True, + ) diff --git a/backend/dataall/api/Objects/ShareObject/schema.py b/backend/dataall/api/Objects/ShareObject/schema.py index b045d6072..4bcf806a9 100644 --- a/backend/dataall/api/Objects/ShareObject/schema.py +++ b/backend/dataall/api/Objects/ShareObject/schema.py @@ -115,6 +115,8 @@ gql.Field(name='deleted', type=gql.String), gql.Field(name='updated', type=gql.String), gql.Field(name='datasetUri', type=gql.String), + gql.Field(name='requestPurpose', type=gql.String), + gql.Field(name='rejectPurpose', type=gql.String), gql.Field(name='dataset', type=DatasetLink, resolver=resolve_dataset), gql.Field(name='consumptionData', type=gql.Ref('ConsumptionData'), resolver=resolve_consumption_data), gql.Field(name='existingSharedItems', type=gql.Boolean, resolver=resolve_existing_shared_items), diff --git a/backend/dataall/aws/handlers/cloudformation.py b/backend/dataall/aws/handlers/cloudformation.py index 94bf54d8a..460e525ae 100644 --- a/backend/dataall/aws/handlers/cloudformation.py +++ b/backend/dataall/aws/handlers/cloudformation.py @@ -46,7 +46,6 @@ def delete_stack(engine, task: models.Task): try: data = { 'accountid': task.payload['accountid'], - 'cdk_role_arn': task.payload['cdk_role_arn'], 'region': task.payload['region'], 'stack_name': task.payload['stack_name'], } @@ -61,13 +60,11 @@ def delete_cloudformation_stack(**data): accountid = data['accountid'] region = data['region'] stack_name = data['stack_name'] - cdk_role_arn = data['cdk_role_arn'] try: aws_session = SessionHelper.remote_session(accountid=accountid) cfnclient = aws_session.client('cloudformation', region_name=region) response = cfnclient.delete_stack( StackName=stack_name, - RoleARN=cdk_role_arn, ClientRequestToken=str(uuid.uuid4()), ) log.info(f'Stack {stack_name} deleted: {response}') diff --git a/backend/dataall/aws/handlers/ecs.py b/backend/dataall/aws/handlers/ecs.py index 84235f494..3c247b4af 100644 --- a/backend/dataall/aws/handlers/ecs.py +++ b/backend/dataall/aws/handlers/ecs.py @@ -51,7 +51,7 @@ def run_share_management_ecs_task(envname, share_uri, handler): cluster_name = Parameter().get_parameter(env=envname, path='ecs/cluster/name') subnets = Parameter().get_parameter(env=envname, path='ecs/private_subnets') security_groups = Parameter().get_parameter( - env=envname, path='ecs/security_groups' + env=envname, path='ecs/sharemanager_security_groups' ) try: diff --git a/backend/dataall/aws/handlers/glue.py b/backend/dataall/aws/handlers/glue.py index bcfecbb8c..51929540a 100644 --- a/backend/dataall/aws/handlers/glue.py +++ b/backend/dataall/aws/handlers/glue.py @@ -398,6 +398,7 @@ def create_crawler(engine, task: models.Task): 'region': dataset.region, 'accountid': dataset.AwsAccountId, 'database': dataset.GlueDatabaseName, + 'dataset_role': dataset.IAMDatasetAdminRoleArn, 'location': location or f's3://{dataset.S3BucketName}', } ) @@ -407,6 +408,7 @@ def create_glue_crawler(**data): try: accountid = data['accountid'] database = data.get('database') + dataset_role = data['dataset_role'] session = SessionHelper.remote_session(accountid=accountid) glue = session.client('glue', region_name=data.get('region', 'eu-west-1')) crawler_name = data.get('crawler_name') @@ -414,12 +416,12 @@ def create_glue_crawler(**data): crawler = Glue._get_crawler(glue, crawler_name) if crawler: Glue._update_existing_crawler( - glue, accountid, crawler_name, targets, database + glue, dataset_role, crawler_name, targets, database ) else: crawler = glue.create_crawler( Name=crawler_name, - Role=SessionHelper.get_delegation_role_arn(accountid=accountid), + Role=dataset_role, DatabaseName=database, Targets=targets, Tags=data.get('tags', {'Application': 'dataall'}), @@ -458,6 +460,7 @@ def start_crawler(engine, task: models.Task): 'region': dataset.region, 'accountid': dataset.AwsAccountId, 'database': dataset.GlueDatabaseName, + 'dataset_role': dataset.IAMDatasetAdminRoleArn, 'location': location, } ) @@ -468,12 +471,13 @@ def start_glue_crawler(data): accountid = data['accountid'] crawler_name = data['crawler_name'] database = data['database'] + dataset_role = data['dataset_role'] targets = {'S3Targets': [{'Path': data.get('location')}]} session = SessionHelper.remote_session(accountid=accountid) glue = session.client('glue', region_name=data.get('region', 'eu-west-1')) if data.get('location'): Glue._update_existing_crawler( - glue, accountid, crawler_name, targets, database + glue, dataset_role, crawler_name, targets, database ) crawler = Glue._get_crawler(glue, crawler_name) glue.start_crawler(Name=crawler_name) @@ -496,7 +500,7 @@ def _get_crawler(glue, crawler_name): return crawler.get('Crawler') if crawler else None @staticmethod - def _update_existing_crawler(glue, accountid, crawler_name, targets, database): + def _update_existing_crawler(glue, dataset_role, crawler_name, targets, database): try: glue.stop_crawler(Name=crawler_name) except ClientError as e: @@ -508,7 +512,7 @@ def _update_existing_crawler(glue, accountid, crawler_name, targets, database): try: glue.update_crawler( Name=crawler_name, - Role=SessionHelper.get_delegation_role_arn(accountid=accountid), + Role=dataset_role, DatabaseName=database, Targets=targets, ) diff --git a/backend/dataall/aws/handlers/lakeformation.py b/backend/dataall/aws/handlers/lakeformation.py index ba91a6e47..d06515f01 100644 --- a/backend/dataall/aws/handlers/lakeformation.py +++ b/backend/dataall/aws/handlers/lakeformation.py @@ -14,7 +14,7 @@ def __init__(self): pass @staticmethod - def check_existing_lf_registered_location(resource_arn, accountid, region): + def check_existing_lf_registered_location(resource_arn: str, role_arn: str, accountid: str, region: str): """ Checks if there is a non-dataall-created registered location for the Dataset Returns False is already existing location else return the resource info @@ -25,7 +25,7 @@ def check_existing_lf_registered_location(resource_arn, accountid, region): response = lf_client.describe_resource(ResourceArn=resource_arn) registered_role_name = response['ResourceInfo']['RoleArn'].lstrip(f"arn:aws:iam::{accountid}:role/") log.info(f'LF data location already registered: {response}, registered with role {registered_role_name}') - if registered_role_name.startswith(PIVOT_ROLE_NAME_PREFIX): + if registered_role_name.startswith(PIVOT_ROLE_NAME_PREFIX) or response['ResourceInfo']['RoleArn'] == role_arn: log.info('The existing data location was created as part of the dataset stack. There was no pre-existing data location.') return False return response['ResourceInfo'] diff --git a/backend/dataall/aws/handlers/quicksight.py b/backend/dataall/aws/handlers/quicksight.py index f82ea87b6..67790486a 100644 --- a/backend/dataall/aws/handlers/quicksight.py +++ b/backend/dataall/aws/handlers/quicksight.py @@ -420,7 +420,7 @@ def create_data_source_vpc(AwsAccountId, region, UserName, vpcConnectionId): DataSourceParameters={ 'AuroraPostgreSqlParameters': { 'Host': aurora_params_dict["host"], - 'Port': aurora_params_dict["port"], + 'Port': "5432", 'Database': aurora_params_dict["dbname"] } }, diff --git a/backend/dataall/aws/handlers/sts.py b/backend/dataall/aws/handlers/sts.py index d55e23a06..dbfd414d0 100644 --- a/backend/dataall/aws/handlers/sts.py +++ b/backend/dataall/aws/handlers/sts.py @@ -23,10 +23,6 @@ class SessionHelper: """SessionHelpers is a class simplifying common aws boto3 session tasks and helpers""" - @classmethod - def get_root_account_session(cls): - ENVNAME = os.environ.get('envname', 'local') - @classmethod def get_session(cls, base_session=None, role_arn=None): """Returns a boto3 session fo the given role @@ -52,9 +48,12 @@ def get_session(cls, base_session=None, role_arn=None): RoleSessionName=role_arn.split('/')[1], ) try: + region = os.getenv('AWS_REGION', 'eu-west-1') sts = base_session.client( 'sts', config=Config(user_agent_extra=f'{__pkg_name__}/{__version__}'), + region_name=region, + endpoint_url=f"https://sts.{region}.amazonaws.com" ) response = sts.assume_role(**assume_role_dict) return boto3.Session( @@ -70,22 +69,24 @@ def get_session(cls, base_session=None, role_arn=None): return boto3.Session() @classmethod - def get_secret(cls, secret_name): + def _get_parameter_value(cls, parameter_path=None): """ - Method to get secret_string from secrets manager + Method to get parameter from System Manager Parameter Store :return: :rtype: """ - secret_string = None + parameter_value = None region = os.getenv('AWS_REGION', 'eu-west-1') + if not parameter_path: + raise Exception('Parameter name is None') try: session = SessionHelper.get_session() - client = session.client('secretsmanager', region_name=region) - secret_string = client.get_secret_value(SecretId=secret_name).get('SecretString') - log.debug(f'Found Secret {secret_name}|{secret_string}') + client = session.client('ssm', region_name=region) + parameter_value = client.get_parameter(Name=parameter_path)['Parameter']['Value'] + log.debug(f'Found Parameter {parameter_path}|{parameter_value}') except ClientError as e: - log.warning(f'Secret {secret_name} not found: {e}') - return secret_string + log.warning(f'Parameter {parameter_path} not found: {e}') + return parameter_value @classmethod def get_external_id_secret(cls): @@ -95,7 +96,8 @@ def get_external_id_secret(cls): :return: :rtype: """ - return SessionHelper.get_secret(secret_name=f'dataall-externalId-{os.getenv("envname", "local")}') + return SessionHelper._get_parameter_value( + parameter_path=f'/dataall/{os.getenv("envname", "local")}/pivotRole/externalId') @classmethod def get_delegation_role_name(cls): @@ -103,7 +105,8 @@ def get_delegation_role_name(cls): Returns: string: name of the assumed role """ - return SessionHelper.get_secret(secret_name=f'dataall-pivot-role-name-{os.getenv("envname", "local")}') + return SessionHelper._get_parameter_value( + parameter_path=f'/dataall/{os.getenv("envname", "local")}/pivotRole/pivotRoleName') @classmethod def get_console_access_url(cls, boto3_session, region='eu-west-1', bucket=None, redshiftcluster=None): @@ -168,6 +171,17 @@ def get_cdk_look_up_role_arn(cls, accountid, region): log.info(f"Getting CDK look up role: arn:aws:iam::{accountid}:role/cdk-hnb659fds-lookup-role-{accountid}-{region}") return 'arn:aws:iam::{}:role/cdk-hnb659fds-lookup-role-{}-{}'.format(accountid, accountid, region) + @classmethod + def get_cdk_exec_role_arn(cls, accountid, region): + """Returns the name that will be assumed to perform IAM actions on a given AWS accountid using CDK Toolkit role + Args: + accountid(string) : aws account id + Returns: + string : arn of the CDKToolkit role on the target aws account id + """ + log.info(f"Getting CDK exec role: arn:aws:iam::{accountid}:role/cdk-hnb659fds-cfn-exec-role-{accountid}-{region}") + return 'arn:aws:iam::{}:role/cdk-hnb659fds-cfn-exec-role-{}-{}'.format(accountid, accountid, region) + @classmethod def get_delegation_role_id(cls, accountid): """Returns the name that will be assumed to perform IAM actions on a given AWS accountid @@ -211,7 +225,12 @@ def get_account(cls, session=None): """ if not session: session = cls.get_session() - client = session.client('sts') + region = os.getenv('AWS_REGION', 'eu-west-1') + client = session.client( + 'sts', + region_name=region, + endpoint_url=f"https://sts.{region}.amazonaws.com" + ) response = client.get_caller_identity() return response['Account'] diff --git a/backend/dataall/cdkproxy/assets/datalakelocationcustomresource/__init__.py b/backend/dataall/cdkproxy/assets/datalakelocationcustomresource/__init__.py deleted file mode 100644 index 6c32d76cc..000000000 --- a/backend/dataall/cdkproxy/assets/datalakelocationcustomresource/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .index import * diff --git a/backend/dataall/cdkproxy/assets/datalakelocationcustomresource/index.py b/backend/dataall/cdkproxy/assets/datalakelocationcustomresource/index.py deleted file mode 100644 index 216c8b23f..000000000 --- a/backend/dataall/cdkproxy/assets/datalakelocationcustomresource/index.py +++ /dev/null @@ -1,89 +0,0 @@ -import logging -import os -import json -import boto3 -from botocore.exceptions import ClientError - -logger = logging.getLogger() -logger.setLevel(os.environ.get("LOG_LEVEL", "INFO")) -log = logging.getLogger(__name__) - -lf_client = boto3.client("lakeformation", region_name=os.environ.get("AWS_REGION")) - - -def on_event(event, context): - request_type = event["RequestType"] - if request_type == "Create": - return on_create(event) - if request_type == "Update": - return on_update(event) - if request_type == "Delete": - return on_delete(event) - raise Exception(f"Invalid request type: {request_type}") - - -def on_create(event): - """ Checks if the S3 location is already registered in Lake Formation. - If already registered it updated the roleArn for the location. - If not registered, it registers the location. - """ - props = event["ResourceProperties"] - if not _is_resource_registered(props["ResourceArn"]): - register(props) - else: - update(props) - - -def _is_resource_registered(resource_arn: str): - try: - lf_client.describe_resource(ResourceArn=resource_arn) - log.info(f"LakeFormation Resource: {resource_arn} already registered") - return True - except ClientError as client_error: - if client_error.response["Error"]["Code"] == "EntityNotFoundException": - log.info(f"LakeFormation Resource: {resource_arn} not found") - return False - else: - raise client_error - - -def register(props): - resource_arn = props["ResourceArn"] - role_arn = props["RoleArn"] - log.info(f"Registering LakeFormation Resource: {resource_arn} and roleArn: {role_arn}") - try: - lf_client.register_resource( - ResourceArn=resource_arn, - UseServiceLinkedRole=props["UseServiceLinkedRole"] == "True", - RoleArn=role_arn, - ) - except ClientError as e: - log.exception(f"Could not register LakeFormation resource: {resource_arn}") - raise Exception(f"Could not register LakeFormation resource: {resource_arn} , received {str(e)}") - - -def on_update(event): - on_create(event) - - -def update(props): - resource_arn = props["ResourceArn"] - role_arn = props["RoleArn"] - log.info(f"Updating LakeFormation Resource: {resource_arn} with roleArn: {role_arn}") - try: - lf_client.update_resource(RoleArn=role_arn, ResourceArn=resource_arn) - except ClientError as e: - log.exception(f"Could not update LakeFormation resource: {resource_arn}") - raise Exception(f"Could not update LakeFormation resource: {resource_arn}, received {str(e)}") - - -def on_delete(event): - """ Deregisters the S3 location from Lake Formation - """ - resource_arn = event["ResourceProperties"]["ResourceArn"] - log.info(f"Unregistering LakeFormation Resource: {resource_arn}") - try: - lf_client.deregister_resource(ResourceArn=resource_arn) - except ClientError as e: - log.exception(f"Could not unregister LakeFormation resource: {resource_arn}") - raise Exception(f"Could not unregister LakeFormation Resource: {resource_arn}, received {str(e)}") diff --git a/backend/dataall/cdkproxy/assets/gluedatabasecustomresource/index.py b/backend/dataall/cdkproxy/assets/gluedatabasecustomresource/index.py index 6c83b8e73..e548dcbf6 100644 --- a/backend/dataall/cdkproxy/assets/gluedatabasecustomresource/index.py +++ b/backend/dataall/cdkproxy/assets/gluedatabasecustomresource/index.py @@ -51,9 +51,12 @@ def on_create(event): if not exists: try: + db_input = props.get('DatabaseInput').copy() + if "Imported" in db_input: + del db_input["Imported"] response = glue_client.create_database( CatalogId=props.get('CatalogId'), - DatabaseInput=props.get('DatabaseInput'), + DatabaseInput=db_input, ) except ClientError as e: log.exception(f"Could not create Glue Database {props['DatabaseInput']['Name']} in aws://{AWS_ACCOUNT}/{AWS_REGION}, received {str(e)}") @@ -101,7 +104,7 @@ def on_create(event): } ) lf_client.batch_grant_permissions(CatalogId=props['CatalogId'], Entries=Entries) - physical_id = props['DatabaseInput']['Name'] + physical_id = props['DatabaseInput']['Imported'] + props['DatabaseInput']['Name'] return {'PhysicalResourceId': physical_id} @@ -113,18 +116,25 @@ def on_update(event): def on_delete(event): """ Deletes the created Glue database. With this action, Lake Formation permissions are also deleted. + Imported databases are not deleted """ physical_id = event['PhysicalResourceId'] - log.info('delete resource %s' % physical_id) - try: - glue_client.get_database(Name=physical_id) - except ClientError as e: - log.exception(f'Resource {physical_id} does not exists') - raise Exception(f'Resource {physical_id} does not exists') + if physical_id.startswith('IMPORTED'): + log.info(f'Imported database {physical_id} will not be deleted (it was not created by dataa.all)') + elif physical_id.startswith('CREATED'): + database_name = physical_id.replace('CREATED-', '') + log.info('delete resource %s' % database_name) + try: + glue_client.get_database(Name=database_name) + except ClientError as e: + log.exception(f'Resource {database_name} does not exists') + raise Exception(f'Resource {database_name} does not exists') - try: - response = glue_client.delete_database(CatalogId=AWS_ACCOUNT, Name=physical_id) - log.info(f'Successfully deleted database {physical_id} in aws://{AWS_ACCOUNT}/{AWS_REGION}') - except ClientError as e: - log.exception(f'Could not delete databse {physical_id} in aws://{AWS_ACCOUNT}/{AWS_REGION}') - raise Exception(f'Could not delete databse {physical_id} in aws://{AWS_ACCOUNT}/{AWS_REGION}') + try: + response = glue_client.delete_database(CatalogId=AWS_ACCOUNT, Name=database_name) + log.info(f'Successfully deleted database {database_name} in aws://{AWS_ACCOUNT}/{AWS_REGION}') + except ClientError as e: + log.exception(f'Could not delete database {database_name} in aws://{AWS_ACCOUNT}/{AWS_REGION}') + raise Exception(f'Could not delete database {database_name} in aws://{AWS_ACCOUNT}/{AWS_REGION}') + else: + log.info('Old PhysicalID, do not delete anything') diff --git a/backend/dataall/cdkproxy/assets/gluedatabasecustomresource_nodelete/__init__.py b/backend/dataall/cdkproxy/assets/gluedatabasecustomresource_nodelete/__init__.py deleted file mode 100644 index 6c32d76cc..000000000 --- a/backend/dataall/cdkproxy/assets/gluedatabasecustomresource_nodelete/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .index import * diff --git a/backend/dataall/cdkproxy/assets/gluedatabasecustomresource_nodelete/index.py b/backend/dataall/cdkproxy/assets/gluedatabasecustomresource_nodelete/index.py deleted file mode 100644 index 69abcd85c..000000000 --- a/backend/dataall/cdkproxy/assets/gluedatabasecustomresource_nodelete/index.py +++ /dev/null @@ -1,118 +0,0 @@ -import os -import json -import boto3 -from botocore.exceptions import ClientError -import uuid -import logging - -logger = logging.getLogger() -logger.setLevel(os.environ.get("LOG_LEVEL", "INFO")) -log = logging.getLogger(__name__) - -AWS_ACCOUNT = os.environ.get('AWS_ACCOUNT') -AWS_REGION = os.environ.get('AWS_REGION') -DEFAULT_ENV_ROLE_ARN = os.environ.get('DEFAULT_ENV_ROLE_ARN') -DEFAULT_CDK_ROLE_ARN = os.environ.get('DEFAULT_CDK_ROLE_ARN') - -glue_client = boto3.client('glue', region_name=AWS_REGION) -lf_client = boto3.client('lakeformation', region_name=AWS_REGION) - - -def clean_props(**props): - data = {k: props[k] for k in props.keys() if k != 'ServiceToken'} - return data - - -def on_event(event, context): - - request_type = event['RequestType'] - if request_type == 'Create': - return on_create(event) - if request_type == 'Update': - return on_update(event) - if request_type == 'Delete': - return on_delete(event) - raise Exception('Invalid request type: %s' % request_type) - - -def on_create(event): - """Creates if it does not exist Glue database for the data.all Dataset - Grants permissions to Database Administrators = dataset Admin team IAM role, pivotRole, dataset IAM role - """ - props = clean_props(**event['ResourceProperties']) - log.info('Create new resource with props %s' % props) - - exists = False - try: - glue_client.get_database(Name=props['DatabaseInput']['Name']) - exists = True - except ClientError as e: - pass - - if not exists: - try: - response = glue_client.create_database( - CatalogId=props.get('CatalogId'), - DatabaseInput=props.get('DatabaseInput'), - ) - except ClientError as e: - log.exception(f"Could not create Glue Database {props['DatabaseInput']['Name']} in aws://{AWS_ACCOUNT}/{AWS_REGION}, received {str(e)}") - raise Exception(f"Could not create Glue Database {props['DatabaseInput']['Name']} in aws://{AWS_ACCOUNT}/{AWS_REGION}, received {str(e)}") - - Entries = [] - for i, role_arn in enumerate(props.get('DatabaseAdministrators')): - Entries.append( - { - 'Id': str(uuid.uuid4()), - 'Principal': {'DataLakePrincipalIdentifier': role_arn}, - 'Resource': { - 'Database': { - # 'CatalogId': AWS_ACCOUNT, - 'Name': props['DatabaseInput']['Name'] - } - }, - 'Permissions': [ - 'Alter'.upper(), - 'Create_table'.upper(), - 'Drop'.upper(), - 'Describe'.upper(), - ], - 'PermissionsWithGrantOption': [ - 'Alter'.upper(), - 'Create_table'.upper(), - 'Drop'.upper(), - 'Describe'.upper(), - ], - } - ) - Entries.append( - { - 'Id': str(uuid.uuid4()), - 'Principal': {'DataLakePrincipalIdentifier': role_arn}, - 'Resource': { - 'Table': { - 'DatabaseName': props['DatabaseInput']['Name'], - 'TableWildcard': {}, - 'CatalogId': props.get('CatalogId'), - } - }, - 'Permissions': ['SELECT', 'ALTER', 'DESCRIBE'], - 'PermissionsWithGrantOption': ['SELECT', 'ALTER', 'DESCRIBE'], - } - ) - lf_client.batch_grant_permissions(CatalogId=props['CatalogId'], Entries=Entries) - physical_id = props['DatabaseInput']['Name'] - - return {'PhysicalResourceId': physical_id} - - -def on_update(event): - return on_create(event) - - -def on_delete(event): - """ Does not Delete the created Glue database. - This is a risky action which would be done manually by customers - """ - physical_id = event['PhysicalResourceId'] - log.info('Keeping resources %s' % physical_id) diff --git a/backend/dataall/cdkproxy/blueprints/cookiecutter_config.yaml b/backend/dataall/cdkproxy/blueprints/cookiecutter_config.yaml new file mode 100644 index 000000000..7b0c8b2e6 --- /dev/null +++ b/backend/dataall/cdkproxy/blueprints/cookiecutter_config.yaml @@ -0,0 +1,2 @@ +cookiecutters_dir: "/dataall" +replay_dir: "/dataall" \ No newline at end of file diff --git a/backend/blueprints/data_pipeline_blueprint/app_multiaccount.py b/backend/dataall/cdkproxy/blueprints/data_pipeline_blueprint/app_multiaccount.py similarity index 100% rename from backend/blueprints/data_pipeline_blueprint/app_multiaccount.py rename to backend/dataall/cdkproxy/blueprints/data_pipeline_blueprint/app_multiaccount.py diff --git a/backend/blueprints/data_pipeline_blueprint/ddk_app/__init__.py b/backend/dataall/cdkproxy/blueprints/data_pipeline_blueprint/ddk_app/__init__.py similarity index 100% rename from backend/blueprints/data_pipeline_blueprint/ddk_app/__init__.py rename to backend/dataall/cdkproxy/blueprints/data_pipeline_blueprint/ddk_app/__init__.py diff --git a/backend/blueprints/data_pipeline_blueprint/ddk_app/ddk_app_stack_multiaccount.py b/backend/dataall/cdkproxy/blueprints/data_pipeline_blueprint/ddk_app/ddk_app_stack_multiaccount.py similarity index 100% rename from backend/blueprints/data_pipeline_blueprint/ddk_app/ddk_app_stack_multiaccount.py rename to backend/dataall/cdkproxy/blueprints/data_pipeline_blueprint/ddk_app/ddk_app_stack_multiaccount.py diff --git a/backend/blueprints/data_pipeline_blueprint/utils/config.py b/backend/dataall/cdkproxy/blueprints/data_pipeline_blueprint/utils/config.py similarity index 100% rename from backend/blueprints/data_pipeline_blueprint/utils/config.py rename to backend/dataall/cdkproxy/blueprints/data_pipeline_blueprint/utils/config.py diff --git a/backend/dataall/cdkproxy/cdk_cli_wrapper.py b/backend/dataall/cdkproxy/cdk_cli_wrapper.py index d8fc98f8c..6c8932e03 100644 --- a/backend/dataall/cdkproxy/cdk_cli_wrapper.py +++ b/backend/dataall/cdkproxy/cdk_cli_wrapper.py @@ -55,7 +55,12 @@ def update_stack_output(session, stack): def deploy_cdk_stack(engine: Engine, stackid: str, app_path: str = None, path: str = None): logger.warning(f'Starting new stack from stackid {stackid}') - sts = boto3.client('sts') + region = os.getenv('AWS_REGION', 'eu-west-1') + sts = boto3.client( + 'sts', + region_name=region, + endpoint_url=f"https://sts.{region}.amazonaws.com" + ) idnty = sts.get_caller_identity() this_aws_account = idnty['Account'] creds = None diff --git a/backend/dataall/cdkproxy/cdkpipeline/cdk_pipeline.py b/backend/dataall/cdkproxy/cdkpipeline/cdk_pipeline.py index abb5fc036..66829b6fc 100644 --- a/backend/dataall/cdkproxy/cdkpipeline/cdk_pipeline.py +++ b/backend/dataall/cdkproxy/cdkpipeline/cdk_pipeline.py @@ -54,7 +54,7 @@ def __init__(self, target_uri): self.code_dir_path = os.path.realpath( os.path.abspath( os.path.join( - __file__, "..", "..", "..", "..", "blueprints", "data_pipeline_blueprint" + __file__, "..", "..", "blueprints", "data_pipeline_blueprint" ) ) ) @@ -269,6 +269,7 @@ def _set_env_vars(pipeline_environment): 'PYTHONPATH': python_path, 'PATH': python_path, 'envname': os.environ.get('envname', 'local'), + 'COOKIECUTTER_CONFIG': "/dataall/cdkproxy/blueprints/cookiecutter_config.yaml", } if env_creds: env.update( diff --git a/backend/dataall/cdkproxy/main.py b/backend/dataall/cdkproxy/main.py index 173c36496..6bbcbf22b 100644 --- a/backend/dataall/cdkproxy/main.py +++ b/backend/dataall/cdkproxy/main.py @@ -56,7 +56,12 @@ def up(response: Response): def check_creds(response: Response): logger.info('GET /awscreds') try: - sts = boto3.client('sts', region_name=os.getenv('AWS_REGION', 'eu-west-1')) + region = os.getenv('AWS_REGION', 'eu-west-1') + sts = boto3.client( + 'sts', + region_name=region, + endpoint_url=f"https://sts.{region}.amazonaws.com" + ) data = sts.get_caller_identity() return { '_ts': datetime.now().isoformat(), @@ -85,7 +90,7 @@ def check_connect(response: Response): engine = connect() return { '_ts': datetime.now().isoformat(), - 'message': f"Connected to database for environment {ENVNAME}({engine.dbconfig.params['host']}:{engine.dbconfig.params['port']})", + 'message': f"Connected to database for environment {ENVNAME}({engine.dbconfig.host})", } except Exception as e: logger.exception('DBCONNECTIONERROR') diff --git a/backend/dataall/cdkproxy/requirements.txt b/backend/dataall/cdkproxy/requirements.txt index f85335573..a7b91a402 100644 --- a/backend/dataall/cdkproxy/requirements.txt +++ b/backend/dataall/cdkproxy/requirements.txt @@ -1,4 +1,4 @@ -aws-cdk-lib==2.77.0 +aws-cdk-lib==2.78.0 aws_cdk.aws_redshift_alpha==2.14.0a0 boto3==1.24.85 boto3-stubs==1.24.85 diff --git a/backend/dataall/cdkproxy/stacks/dataset.py b/backend/dataall/cdkproxy/stacks/dataset.py index d5306f5f0..854ac6e3f 100644 --- a/backend/dataall/cdkproxy/stacks/dataset.py +++ b/backend/dataall/cdkproxy/stacks/dataset.py @@ -1,12 +1,9 @@ import logging import os -import typing from aws_cdk import ( - custom_resources as cr, aws_s3 as s3, aws_kms as kms, - aws_lambda as _lambda, aws_iam as iam, aws_ssm as ssm, aws_glue as glue, @@ -98,14 +95,18 @@ def __init__(self, scope, id, target_uri: str = None, **kwargs): quicksight_default_group_arn = None if env.dashboardsEnabled: - quicksight_default_group = Quicksight.create_quicksight_group(AwsAccountId=env.AwsAccountId) - quicksight_default_group_arn = quicksight_default_group['Group']['Arn'] + quicksight_default_group_arn = f"arn:aws:quicksight:{dataset.region}:{dataset.AwsAccountId}:group/default/{Quicksight._DEFAULT_GROUP_NAME}" # Dataset S3 Bucket and KMS key + dataset_key = False if dataset.imported and dataset.importedS3Bucket: dataset_bucket = s3.Bucket.from_bucket_name( self, f'ImportedBucket{dataset.datasetUri}', dataset.S3BucketName ) + if dataset.importedKmsKey: + dataset_key = kms.Key.from_lookup( + self, f'ImportedKey{dataset.datasetUri}', alias_name=f"alias/{dataset.KmsAlias}" + ) else: dataset_key = kms.Key( self, @@ -113,21 +114,51 @@ def __init__(self, scope, id, target_uri: str = None, **kwargs): alias=dataset.KmsAlias, enable_key_rotation=True, policy=iam.PolicyDocument( - assign_sids=True, statements=[ iam.PolicyStatement( + sid="EnableDatasetOwnerKeyUsage", resources=['*'], effect=iam.Effect.ALLOW, principals=[ - iam.AccountPrincipal(account_id=dataset.AwsAccountId), - iam.ArnPrincipal( - f'arn:aws:iam::{env.AwsAccountId}:role/{self.pivot_role_name}' - ), + iam.ArnPrincipal(env_group.environmentIAMRoleArn), + ], + actions=[ + "kms:Encrypt", + "kms:Decrypt", + "kms:ReEncrypt*", + "kms:GenerateDataKey*", + "kms:DescribeKey", + "kms:List*", + "kms:GetKeyPolicy", + ], + ), + iam.PolicyStatement( + sid='KMSPivotRolePermissions', + effect=iam.Effect.ALLOW, + actions=[ + 'kms:Decrypt', + 'kms:Encrypt', + 'kms:GenerateDataKey*', + 'kms:PutKeyPolicy', + "kms:GetKeyPolicy", + 'kms:ReEncrypt*', + 'kms:TagResource', + 'kms:UntagResource', + 'kms:DeleteAlias', + 'kms:DescribeKey', + 'kms:CreateAlias', + 'kms:List*', + ], + resources=['*'], + principals=[ + iam.ArnPrincipal(f'arn:aws:iam::{env.AwsAccountId}:role/{self.pivot_role_name}') ], - actions=['kms:*'], ) - ], + ] ), + admins=[ + iam.ArnPrincipal(env.CDKRoleArn), + ] ) dataset_bucket = s3.Bucket( @@ -194,95 +225,139 @@ def __init__(self, scope, id, target_uri: str = None, **kwargs): policy_name=dataset.S3BucketName, statements=[ iam.PolicyStatement( - actions=['s3:List*'], resources=['*'], effect=iam.Effect.ALLOW - ), - iam.PolicyStatement( - actions=['logs:*'], resources=['*'], effect=iam.Effect.ALLOW - ), - iam.PolicyStatement( - actions=['tag:*'], resources=['*'], effect=iam.Effect.ALLOW + sid="ListAll", + actions=[ + "s3:ListAllMyBuckets", + "s3:ListAccessPoints", + ], + resources=["*"], + effect=iam.Effect.ALLOW ), iam.PolicyStatement( - actions=['s3:List*', 's3:Get*'], + sid="ListDatasetBucket", + actions=[ + "s3:ListBucket", + "s3:GetBucketLocation" + ], resources=[dataset_bucket.bucket_arn], effect=iam.Effect.ALLOW, ), iam.PolicyStatement( - actions=['s3:*'], + sid="ReadWriteDatasetBucket", + actions=[ + "s3:PutObject", + "s3:PutObjectAcl", + "s3:GetObject", + "s3:GetObjectAcl", + "s3:GetObjectVersion", + "s3:DeleteObject" + ], effect=iam.Effect.ALLOW, resources=[dataset_bucket.bucket_arn + '/*'], ), iam.PolicyStatement( + sid="ReadAccessPointsDatasetBucket", actions=[ 's3:GetAccessPoint', 's3:GetAccessPointPolicy', - 's3:ListAccessPoints', - 's3:CreateAccessPoint', - 's3:DeleteAccessPoint', 's3:GetAccessPointPolicyStatus', - 's3:DeleteAccessPointPolicy', - 's3:PutAccessPointPolicy', ], effect=iam.Effect.ALLOW, resources=[ - f'arn:aws:s3:{dataset.region}:{dataset.AwsAccountId}:accesspoint/*', + f'arn:aws:s3:{dataset.region}:{dataset.AwsAccountId}:accesspoint/{dataset.datasetUri}*', ], ), iam.PolicyStatement( - actions=['s3:List*', 's3:Get*'], - resources=[f'arn:aws:s3:::{env.EnvironmentDefaultBucketName}'], - effect=iam.Effect.ALLOW, - ), - iam.PolicyStatement( - actions=['s3:*'], - effect=iam.Effect.ALLOW, - resources=[f'arn:aws:s3:::{env.EnvironmentDefaultBucketName}/*'], - ), - iam.PolicyStatement( + sid="GlueAccessCrawler", + actions=[ + "glue:Get*", + "glue:BatchGet*", + "glue:CreateTable", + "glue:UpdateTable", + "glue:DeleteTableVersion", + "glue:DeleteTable", + ], effect=iam.Effect.ALLOW, - resources=['arn:aws:s3:::aws-glue-*'], - actions=['s3:CreateBucket'], + resources=[ + f"arn:aws:glue:*:{dataset.AwsAccountId}:catalog", + f"arn:aws:glue:{dataset.region}:{dataset.AwsAccountId}:database/{dataset.GlueDatabaseName}", + f"arn:aws:glue:{dataset.region}:{dataset.AwsAccountId}:table/{dataset.GlueDatabaseName}/*" + ] ), iam.PolicyStatement( - actions=['s3:GetObject', 's3:PutObject', 's3:DeleteObject'], + sid="GlueAccessDefault", + actions=[ + "glue:GetDatabase", + ], effect=iam.Effect.ALLOW, resources=[ - 'arn:aws:s3:::aws-glue-*/*', - 'arn:aws:s3:::*/*aws-glue-*/*', - ], + f"arn:aws:glue:{dataset.region}:{dataset.AwsAccountId}:database/default", + ] ), iam.PolicyStatement( - actions=['s3:GetObject'], + sid="CreateLoggingGlueCrawler", + actions=[ + 'logs:CreateLogGroup', + 'logs:CreateLogStream', + ], effect=iam.Effect.ALLOW, resources=[ - 'arn:aws:s3:::crawler-public*', - 'arn:aws:s3:::aws-glue-*', + f'arn:aws:logs:{dataset.region}:{dataset.AwsAccountId}:log-group:/aws-glue/crawlers*', ], ), iam.PolicyStatement( + sid="LoggingGlueCrawler", actions=[ - 'logs:CreateLogGroup', - 'logs:CreateLogStream', 'logs:PutLogEvents', ], effect=iam.Effect.ALLOW, - resources=['arn:aws:logs:*:*:/aws-glue/*'], + resources=[ + f'arn:aws:logs:{dataset.region}:{dataset.AwsAccountId}:log-group:/aws-glue/crawlers:log-stream:{dataset.GlueCrawlerName}', + ], ), iam.PolicyStatement( - actions=['kms:*'], effect=iam.Effect.ALLOW, resources=['*'] + actions=['s3:ListBucket'], + resources=[f'arn:aws:s3:::{env.EnvironmentDefaultBucketName}'], + effect=iam.Effect.ALLOW ), iam.PolicyStatement( - actions=['glue:*', 'athena:*', 'lakeformation:*'], - resources=['*'], + sid="ReadEnvironmentBucketProfiling", + actions=[ + "s3:GetObject", + "s3:GetObjectAcl", + "s3:GetObjectVersion" + ], effect=iam.Effect.ALLOW, + resources=[f'arn:aws:s3:::{env.EnvironmentDefaultBucketName}/profiling/code/*'], ), iam.PolicyStatement( - actions=['cloudformation:*'], - resources=['*'], + sid="ReadWriteEnvironmentBucketProfiling", + actions=[ + "s3:PutObject", + "s3:PutObjectAcl", + "s3:GetObject", + "s3:GetObjectAcl", + "s3:GetObjectVersion", + "s3:DeleteObject" + ], + resources=[f'arn:aws:s3:::{env.EnvironmentDefaultBucketName}/profiling/results/{dataset.datasetUri}/*'], effect=iam.Effect.ALLOW, ), ], ) + if dataset_key: + dataset_admin_policy.add_statements( + iam.PolicyStatement( + sid="KMSAccess", + actions=[ + "kms:Decrypt", + "kms:Encrypt", + "kms:GenerateDataKey" + ], + effect=iam.Effect.ALLOW, + resources=[dataset_key.key_arn], + ) + ) dataset_admin_policy.node.add_dependency(dataset_bucket) dataset_admin_role = iam.Role( @@ -290,24 +365,36 @@ def __init__(self, scope, id, target_uri: str = None, **kwargs): 'DatasetAdminRole', role_name=dataset.IAMDatasetAdminRoleArn.split('/')[-1], assumed_by=iam.CompositePrincipal( - iam.ServicePrincipal('glue.amazonaws.com'), - iam.ServicePrincipal('lakeformation.amazonaws.com'), - iam.ServicePrincipal('athena.amazonaws.com'), - iam.ServicePrincipal('sagemaker.amazonaws.com'), - iam.ServicePrincipal('lambda.amazonaws.com'), - iam.ServicePrincipal('ec2.amazonaws.com'), - iam.AccountPrincipal(str(os.environ.get('CURRENT_AWS_ACCOUNT'))), - iam.AccountPrincipal(dataset.AwsAccountId), iam.ArnPrincipal( f'arn:aws:iam::{dataset.AwsAccountId}:role/{self.pivot_role_name}' ), + iam.ServicePrincipal('glue.amazonaws.com'), ), ) dataset_admin_policy.attach_to_role(dataset_admin_role) + # Add Key Policy For Users + if not dataset.imported: + dataset_key.add_to_resource_policy( + iam.PolicyStatement( + sid="EnableDatasetIAMRoleKeyUsage", + resources=['*'], + effect=iam.Effect.ALLOW, + principals=[dataset_admin_role], + actions=[ + "kms:Encrypt", + "kms:Decrypt", + "kms:ReEncrypt*", + "kms:GenerateDataKey*", + "kms:DescribeKey" + ], + ) + ) + # Datalake location custom resource: registers the S3 location in LakeFormation registered_location = LakeFormation.check_existing_lf_registered_location( resource_arn=f'arn:aws:s3:::{dataset.S3BucketName}', + role_arn=dataset.IAMDatasetAdminRoleArn, accountid=env.AwsAccountId, region=env.region ) @@ -333,45 +420,6 @@ def __init__(self, scope, id, target_uri: str = None, **kwargs): if quicksight_default_group_arn: dataset_admins.append(quicksight_default_group_arn) - # Glue Database custom resource: creates the Glue database and grants the default permissions (dataset role, admin, pivotrole, QS group) - # Old provider, to be deleted in future release - glue_db_handler_arn = ssm.StringParameter.from_string_parameter_name( - self, - 'GlueDbCRArnParameter', - string_parameter_name=f'/dataall/{dataset.environmentUri}/cfn/custom-resources/lambda/arn', - ) - - glue_db_handler = _lambda.Function.from_function_attributes( - self, - 'CustomGlueDatabaseHandler', - function_arn=glue_db_handler_arn.string_value, - same_environment=True, - ) - - GlueDatabase = cr.Provider( - self, - f'{env.resourcePrefix}GlueDbCustomResourceProvider', - on_event_handler=glue_db_handler, - ) - old_glue_db = CustomResource( - self, - f'{env.resourcePrefix}DatasetDatabase', - service_token=GlueDatabase.service_token, - resource_type='Custom::GlueDatabase', - properties={ - 'CatalogId': dataset.AwsAccountId, - 'DatabaseInput': { - 'Description': 'dataall database {} '.format( - dataset.GlueDatabaseName - ), - 'LocationUri': f's3://{dataset.S3BucketName}/', - 'Name': f'{dataset.GlueDatabaseName}', - 'CreateTableDefaultPermissions': [], - }, - 'DatabaseAdministrators': dataset_admins, - }, - ) - # Get the Provider service token from SSM, the Lambda and Provider are created as part of the environment stack glue_db_provider_service_token = ssm.StringParameter.from_string_parameter_name( self, @@ -393,6 +441,7 @@ def __init__(self, scope, id, target_uri: str = None, **kwargs): 'LocationUri': f's3://{dataset.S3BucketName}/', 'Name': f'{dataset.GlueDatabaseName}', 'CreateTableDefaultPermissions': [], + 'Imported': 'IMPORTED-' if dataset.imported else 'CREATED-' }, 'DatabaseAdministrators': dataset_admins }, @@ -402,7 +451,7 @@ def __init__(self, scope, id, target_uri: str = None, **kwargs): crawler = glue.CfnCrawler( self, dataset.GlueCrawlerName, - description=f'datall Glue Crawler for bucket {dataset.S3BucketName}', + description=f'datall Glue Crawler for S3 Bucket {dataset.S3BucketName}', name=dataset.GlueCrawlerName, database_name=dataset.GlueDatabaseName, schedule={'scheduleExpression': f'{dataset.GlueCrawlerSchedule}'} @@ -418,7 +467,7 @@ def __init__(self, scope, id, target_uri: str = None, **kwargs): crawler.node.add_dependency(dataset_bucket) job_args = { - '--additional-python-modules': 'pydeequ,great_expectations,requests', + '--additional-python-modules': 'urllib3<2,pydeequ', '--datasetUri': dataset.datasetUri, '--database': dataset.GlueDatabaseName, '--datasetRegion': dataset.region, @@ -441,9 +490,8 @@ def __init__(self, scope, id, target_uri: str = None, **kwargs): self, 'DatasetGlueProfilingJob', name=dataset.GlueProfilingJobName, - role=iam.ArnPrincipal( - f'arn:aws:iam::{env.AwsAccountId}:role/{self.pivot_role_name}' - ).arn, + description=f'datall Glue Profiling job for dataset {dataset.label}', + role=dataset_admin_role.role_arn, allocated_capacity=10, execution_property=glue.CfnJob.ExecutionPropertyProperty( max_concurrent_runs=100 @@ -465,6 +513,7 @@ def __init__(self, scope, id, target_uri: str = None, **kwargs): self, 'DatasetGlueProfilingTrigger', name=dataset.GlueProfilingTriggerName, + description=f'datall Glue Profiling trigger schedule for dataset {dataset.label}', type='SCHEDULED', schedule=dataset.GlueProfilingTriggerSchedule, start_on_creation=True, diff --git a/backend/dataall/cdkproxy/stacks/environment.py b/backend/dataall/cdkproxy/stacks/environment.py index e004c1f6e..0368d5dcf 100644 --- a/backend/dataall/cdkproxy/stacks/environment.py +++ b/backend/dataall/cdkproxy/stacks/environment.py @@ -147,6 +147,7 @@ def __init__(self, scope, id, target_uri: str = None, **kwargs): self.pivot_role_name = SessionHelper.get_delegation_role_name() self.external_id = SessionHelper.get_external_id_secret() self.dataall_central_account = SessionHelper.get_account() + pivot_role_as_part_of_environment_stack = ParameterStoreManager.get_parameter_value( region=os.getenv('AWS_REGION', 'eu-west-1'), parameter_path=f"/dataall/{os.getenv('envname', 'local')}/pivotRole/enablePivotRoleAutoCreate" @@ -166,6 +167,27 @@ def __init__(self, scope, id, target_uri: str = None, **kwargs): self.all_environment_datasets = self.get_all_environment_datasets(self.engine, self._environment) + # Create or import Pivot role + if self.create_pivot_role is True: + config = { + 'roleName': self.pivot_role_name, + 'accountId': self.dataall_central_account, + 'externalId': self.external_id, + 'resourcePrefix': self._environment.resourcePrefix, + } + pivot_role_stack = PivotRole(self, 'PivotRoleStack', config) + self.pivot_role = iam.Role.from_role_arn( + self, + f'PivotRole{self._environment.environmentUri}', + pivot_role_stack.pivot_role.role_arn, + ) + else: + self.pivot_role = iam.Role.from_role_arn( + self, + f'PivotRole{self._environment.environmentUri}', + f'arn:aws:iam::{self._environment.AwsAccountId}:role/{self.pivot_role_name}', + ) + # Environment S3 Bucket default_environment_bucket = s3.Bucket( self, @@ -177,17 +199,6 @@ def __init__(self, scope, id, target_uri: str = None, **kwargs): versioned=True, enforce_ssl=True, ) - default_environment_bucket.add_to_resource_policy( - iam.PolicyStatement( - sid='RedshiftLogging', - actions=['s3:PutObject', 's3:GetBucketAcl'], - resources=[ - f'{default_environment_bucket.bucket_arn}/*', - default_environment_bucket.bucket_arn, - ], - principals=[iam.ServicePrincipal('redshift.amazonaws.com')], - ) - ) default_environment_bucket.add_to_resource_policy( iam.PolicyStatement( @@ -237,7 +248,7 @@ def __init__(self, scope, id, target_uri: str = None, **kwargs): ) # Create or import team IAM roles - default_role = self.create_or_import_environment_default_role() + default_role = self.create_or_import_environment_admin_group_role() group_roles = self.create_or_import_environment_groups_roles() self.create_default_athena_workgroup( @@ -246,22 +257,7 @@ def __init__(self, scope, id, target_uri: str = None, **kwargs): ) self.create_athena_workgroups(self.environment_groups, default_environment_bucket) - # Create or import Pivot role - if self.create_pivot_role is True: - config = { - 'roleName': self.pivot_role_name, - 'accountId': self.dataall_central_account, - 'externalId': self.external_id, - 'resourcePrefix': self._environment.resourcePrefix, - } - pivot_role_stack = PivotRole(self, 'PivotRoleStack', config) - self.pivot_role = pivot_role_stack.pivot_role - else: - self.pivot_role = iam.Role.from_role_arn( - self, - f'PivotRole{self._environment.environmentUri}', - f'arn:aws:iam::{self._environment.AwsAccountId}:role/{self.pivot_role_name}', - ) + kms_key = self.set_cr_kms_key(group_roles, default_role) # Lakeformation default settings custom resource # Set PivotRole as Lake Formation data lake admin @@ -270,7 +266,8 @@ def __init__(self, scope, id, target_uri: str = None, **kwargs): ) lakeformation_cr_dlq = self.set_dlq( - f'{self._environment.resourcePrefix}-lfcr-{self._environment.environmentUri}' + f'{self._environment.resourcePrefix}-lfcr-{self._environment.environmentUri}', + kms_key ) lf_default_settings_custom_resource = _lambda.Function( self, @@ -325,55 +322,17 @@ def __init__(self, scope, id, target_uri: str = None, **kwargs): string_value=lf_default_settings_custom_resource.function_name, parameter_name=f'/dataall/{self._environment.environmentUri}/cfn/lf/defaultsettings/lambda/name', ) - # Glue database custom resource - Old, to be deleted in future release - entry_point = str( - pathlib.PosixPath(os.path.dirname(__file__), '../assets/gluedatabasecustomresource_nodelete').resolve() - ) - gluedb_cr_dlq = self.set_dlq(f'{self._environment.resourcePrefix}-gluedbcr-{self._environment.environmentUri}') - gluedb_custom_resource = _lambda.Function( - self, - 'GlueDatabaseCustomResourceHandler', - function_name=f'{self._environment.resourcePrefix}-gluedb-handler-{self._environment.environmentUri}', - role=self.pivot_role, - handler='index.on_event', - code=_lambda.Code.from_asset(entry_point), - memory_size=1664, - description='This Lambda function is a cloudformation custom resource provider for Glue database ' - 'as Cfn currently does not support the CreateTableDefaultPermissions parameter', - timeout=Duration.seconds(5 * 60), - environment={ - 'envname': self._environment.name, - 'LOG_LEVEL': 'DEBUG', - 'AWS_ACCOUNT': self._environment.AwsAccountId, - 'DEFAULT_ENV_ROLE_ARN': self._environment.EnvironmentDefaultIAMRoleArn, - 'DEFAULT_CDK_ROLE_ARN': self._environment.CDKRoleArn, - }, - dead_letter_queue_enabled=True, - dead_letter_queue=gluedb_cr_dlq, - on_failure=lambda_destination.SqsDestination(gluedb_cr_dlq), - tracing=_lambda.Tracing.ACTIVE, - runtime=_lambda.Runtime.PYTHON_3_9, - ) - ssm.StringParameter( - self, - 'GlueCustomResourceFunctionArn', - string_value=gluedb_custom_resource.function_arn, - parameter_name=f'/dataall/{self._environment.environmentUri}/cfn/custom-resources/lambda/arn', - ) - ssm.StringParameter( - self, - 'GlueCustomResourceFunctionName', - string_value=gluedb_custom_resource.function_name, - parameter_name=f'/dataall/{self._environment.environmentUri}/cfn/custom-resources/lambda/name', - ) # Glue database custom resource - New # This Lambda is triggered with the creation of each dataset, it is not executed when the environment is created entry_point = str( pathlib.PosixPath(os.path.dirname(__file__), '../assets/gluedatabasecustomresource').resolve() ) - gluedb_lf_cr_dlq = self.set_dlq(f'{self._environment.resourcePrefix}-gluedb-lf-cr-{self._environment.environmentUri}') + gluedb_lf_cr_dlq = self.set_dlq( + f'{self._environment.resourcePrefix}-gluedb-lf-cr-{self._environment.environmentUri}', + kms_key + ) gluedb_lf_custom_resource = _lambda.Function( self, 'GlueDatabaseLFCustomResourceHandler', @@ -425,84 +384,61 @@ def __init__(self, scope, id, target_uri: str = None, **kwargs): parameter_name=f'/dataall/{self._environment.environmentUri}/cfn/custom-resources/gluehandler/provider/servicetoken', ) - # Data lake location custom resource - entry_point = str( - pathlib.PosixPath( - os.path.dirname(__file__), "../assets/datalakelocationcustomresource" - ).resolve() - ) - - datalakelocation_cr_dlq = self.set_dlq( - f'{self._environment.resourcePrefix}-datalakelocationcr-{self._environment.environmentUri}' - ) - datalake_location_custom_resource = _lambda.Function( - self, - "DatalakeLocationCustomResourceHandler", - function_name=f'{self._environment.resourcePrefix}-datalakelocation-handler-{self._environment.environmentUri}', - role=self.pivot_role, - handler="index.on_event", - code=_lambda.Code.from_asset(entry_point), - memory_size=1664, - description='This Lambda function is a cloudformation custom resource provider for LakeFormation Storage Locations ' - 'as the Cfn resource cannot handle pivotRole updates', - timeout=Duration.seconds(5 * 60), - environment={ - 'envname': self._environment.name, - 'LOG_LEVEL': 'DEBUG', - 'AWS_ACCOUNT': self._environment.AwsAccountId, - 'DEFAULT_ENV_ROLE_ARN': self._environment.EnvironmentDefaultIAMRoleArn, - 'DEFAULT_CDK_ROLE_ARN': self._environment.CDKRoleArn, - }, - dead_letter_queue_enabled=True, - dead_letter_queue=datalakelocation_cr_dlq, - on_failure=lambda_destination.SqsDestination(datalakelocation_cr_dlq), - tracing=_lambda.Tracing.ACTIVE, - runtime=_lambda.Runtime.PYTHON_3_9, - ) - - datalake_location_provider = cr.Provider( - self, - f"{self._environment.resourcePrefix}DatalakeLocationProvider", - on_event_handler=datalake_location_custom_resource - ) - - ssm.StringParameter( - self, - "DatalakeLocationCustomResourceFunctionArn", - string_value=datalake_location_custom_resource.function_arn, - parameter_name=f"/dataall/{self._environment.environmentUri}/cfn/custom-resources/datalocationhandler/lambda/arn", - ) - - ssm.StringParameter( - self, - "DatalakeLocationCustomResourceFunctionName", - string_value=datalake_location_custom_resource.function_name, - parameter_name=f"/dataall/{self._environment.environmentUri}/cfn/custom-resources/datalocationhandler/lambda/name", - ) - - ssm.StringParameter( - self, - 'DataLocationCustomResourceProviderServiceToken', - string_value=datalake_location_provider.service_token, - parameter_name=f'/dataall/{self._environment.environmentUri}/cfn/custom-resources/datalocationhandler/provider/servicetoken', - ) - # Create SNS topics for subscriptions if self._environment.subscriptionsEnabled: - queue_key = kms.Key( + subscription_key_policy = iam.PolicyDocument( + assign_sids=True, + statements=[ + iam.PolicyStatement( + actions=[ + "kms:Encrypt", + "kms:Decrypt", + "kms:ReEncrypt*", + "kms:GenerateDataKey*", + ], + effect=iam.Effect.ALLOW, + principals=[default_role] + group_roles, + resources=["*"], + conditions={ + "StringEquals": { + "kms:ViaService": [ + f"sqs.{self._environment.region}.amazonaws.com", + f"sns.{self._environment.region}.amazonaws.com", + ] + } + } + ), + iam.PolicyStatement( + actions=[ + "kms:DescribeKey", + "kms:List*", + "kms:GetKeyPolicy", + ], + effect=iam.Effect.ALLOW, + principals=[default_role] + group_roles, + resources=["*"], + ) + ] + ) + subscription_key = kms.Key( self, - f'{self._environment.resourcePrefix}-producers-queue-key', + f'dataall-env-{self._environment.environmentUri}-subscription-key', removal_policy=RemovalPolicy.DESTROY, - alias=f'{self._environment.resourcePrefix}-producers-queue-key', + alias=f'dataall-env-{self._environment.environmentUri}-subscription-key', enable_key_rotation=True, + admins=[ + iam.ArnPrincipal(self._environment.CDKRoleArn), + ], + policy=subscription_key_policy ) + dlq_queue = sqs.Queue( self, f'ProducersSubscriptionsQueue-{self._environment.environmentUri}-dlq', queue_name=f'{self._environment.resourcePrefix}-producers-dlq-{self._environment.environmentUri}', retention_period=Duration.days(14), encryption=sqs.QueueEncryption.KMS, - encryption_master_key=queue_key, + encryption_master_key=subscription_key, ) dlq_queue.add_to_resource_policy( iam.PolicyStatement( @@ -527,7 +463,7 @@ def __init__(self, scope, id, target_uri: str = None, **kwargs): queue_name=f'{self._environment.resourcePrefix}-producers-queue-{self._environment.environmentUri}', dead_letter_queue=self.dlq, encryption=sqs.QueueEncryption.KMS, - encryption_master_key=queue_key, + encryption_master_key=subscription_key, ) if self._environment.subscriptionsProducersTopicImported: @@ -541,6 +477,7 @@ def __init__(self, scope, id, target_uri: str = None, **kwargs): self._environment.subscriptionsProducersTopicName, self.dataall_central_account, self._environment, + subscription_key ) topic.add_subscription(sns_subs.SqsSubscription(queue)) @@ -592,6 +529,7 @@ def __init__(self, scope, id, target_uri: str = None, **kwargs): self._environment.subscriptionsConsumersTopicName, self.dataall_central_account, self._environment, + subscription_key ) # Create or import SageMaker Studio domain if ML Studio enabled @@ -615,16 +553,16 @@ def __init__(self, scope, id, target_uri: str = None, **kwargs): # print the IAM role arn for this service account CfnOutput( self, - 'pivotRoleName', - export_name='pivotRoleName', + f'pivotRoleName-{self._environment.environmentUri}', + export_name=f'pivotRoleName-{self._environment.environmentUri}', value=self.pivot_role_name, - description='pivotRoleName', + description='pivotRole name, helps us to distinguish between auto-created pivot roles (dataallPivotRole-cdk) and manually created pivot roles (dataallPivotRole)', ) TagsUtil.add_tags(self) CDKNagUtil.check_rules(self) - def create_or_import_environment_default_role(self): + def create_or_import_environment_admin_group_role(self): if self._environment.EnvironmentDefaultIAMRoleImported: default_role = iam.Role.from_role_arn( self, @@ -632,65 +570,15 @@ def create_or_import_environment_default_role(self): self._environment.EnvironmentDefaultIAMRoleArn, ) else: - services_policies = ServicePolicy( - stack=self, - tag_key='Team', - tag_value=self._environment.SamlGroupName, - resource_prefix=self._environment.resourcePrefix, - name=f'{self._environment.resourcePrefix}-{self._environment.SamlGroupName}-{self._environment.environmentUri}-default-services-policy', - id=f'{self._environment.resourcePrefix}-{self._environment.SamlGroupName}-{self._environment.environmentUri}-default-services-policy', - account=self._environment.AwsAccountId, - region=self._environment.region, - role_name=self._environment.EnvironmentDefaultIAMRoleName, - permissions=self.get_environment_group_permissions( - self.engine, - self._environment.environmentUri, - self._environment.SamlGroupName, - ), - ).generate_policies() - - data_policy = DataPolicy( - stack=self, - tag_key='Team', - tag_value=self._environment.SamlGroupName, - resource_prefix=self._environment.resourcePrefix, - name=f'{self._environment.resourcePrefix}-{self._environment.SamlGroupName}-default-data-policy', - id=f'{self._environment.resourcePrefix}-{self._environment.SamlGroupName}-default-data-policy', - account=self._environment.AwsAccountId, - region=self._environment.region, - environment=self._environment, - team=self.environment_admins_group, - datasets=self.all_environment_datasets, - ).generate_admins_data_access_policy() - - default_role = iam.Role( - self, - 'DefaultEnvironmentRole', - role_name=self._environment.EnvironmentDefaultIAMRoleName, - inline_policies={ - f'DataPolicy{self._environment.environmentUri}': data_policy.document, - }, - managed_policies=services_policies, - assumed_by=iam.CompositePrincipal( - iam.ServicePrincipal('glue.amazonaws.com'), - iam.ServicePrincipal('lambda.amazonaws.com'), - iam.ServicePrincipal('lakeformation.amazonaws.com'), - iam.ServicePrincipal('athena.amazonaws.com'), - iam.ServicePrincipal('states.amazonaws.com'), - iam.ServicePrincipal('sagemaker.amazonaws.com'), - iam.ServicePrincipal('redshift.amazonaws.com'), - iam.ServicePrincipal('databrew.amazonaws.com'), - iam.AccountPrincipal(self._environment.AwsAccountId), - ), - ) - return default_role + environment_admin_group_role = self.create_group_environment_role(group=self.environment_admins_group, id='DefaultEnvironmentRole') + return environment_admin_group_role def create_or_import_environment_groups_roles(self): group: models.EnvironmentGroup group_roles = [] for group in self.environment_groups: if not group.environmentIAMRoleImported: - group_role = self.create_group_environment_role(group) + group_role = self.create_group_environment_role(group=group, id=f'{group.environmentIAMRoleName}') group_roles.append(group_role) else: iam.Role.from_role_arn( @@ -700,7 +588,7 @@ def create_or_import_environment_groups_roles(self): ) return group_roles - def create_group_environment_role(self, group): + def create_group_environment_role(self, group: models.EnvironmentGroup, id: str): group_permissions = self.get_environment_group_permissions( self.engine, self._environment.environmentUri, group.groupUri @@ -715,6 +603,8 @@ def create_group_environment_role(self, group): role_name=group.environmentIAMRoleName, account=self._environment.AwsAccountId, region=self._environment.region, + environment=self._environment, + team=group, permissions=group_permissions, ).generate_policies() @@ -734,7 +624,7 @@ def create_group_environment_role(self, group): group_role = iam.Role( self, - f'{group.environmentIAMRoleName}', + id, role_name=group.environmentIAMRoleName, inline_policies={ f'{group.environmentIAMRoleName}DataPolicy': data_policy.document, @@ -743,12 +633,12 @@ def create_group_environment_role(self, group): assumed_by=iam.CompositePrincipal( iam.ServicePrincipal('glue.amazonaws.com'), iam.ServicePrincipal('lambda.amazonaws.com'), - iam.ServicePrincipal('lakeformation.amazonaws.com'), - iam.ServicePrincipal('athena.amazonaws.com'), - iam.ServicePrincipal('states.amazonaws.com'), iam.ServicePrincipal('sagemaker.amazonaws.com'), - iam.ServicePrincipal('redshift.amazonaws.com'), - iam.AccountPrincipal(self._environment.AwsAccountId), + iam.ServicePrincipal('states.amazonaws.com'), + iam.ServicePrincipal('databrew.amazonaws.com'), + iam.ServicePrincipal('codebuild.amazonaws.com'), + iam.ServicePrincipal('codepipeline.amazonaws.com'), + self.pivot_role, ), ) Tags.of(group_role).add('group', group.groupUri) @@ -788,7 +678,7 @@ def create_athena_workgroup(self, output_bucket, workgroup_name): ) return athena_workgroup - def create_topic(self, construct_id, central_account, environment): + def create_topic(self, construct_id, central_account, environment, kms_key): actions = [ 'SNS:GetTopicAttributes', 'SNS:SetTopicAttributes', @@ -800,14 +690,13 @@ def create_topic(self, construct_id, central_account, environment): 'SNS:Publish', 'SNS:Receive', ] - topic_key = kms.Key( + topic = sns.Topic( self, - f'{construct_id}-topic-key', - removal_policy=RemovalPolicy.DESTROY, - alias=f'{construct_id}-topic-key', - enable_key_rotation=True, + f'{construct_id}', + topic_name=f'{construct_id}', + master_key=kms_key ) - topic = sns.Topic(self, f'{construct_id}', topic_name=f'{construct_id}', master_key=topic_key) + topic.add_to_resource_policy( iam.PolicyStatement( principals=[iam.AccountPrincipal(central_account)], @@ -832,22 +721,62 @@ def zip_code(assetspath, s3_key='profiler'): shutil.make_archive(base_name=f'{assetspath}/{s3_key}', format='zip', root_dir=f'{assetspath}') return assetspath - def set_dlq(self, queue_name) -> sqs.Queue: - queue_key = kms.Key( + def set_cr_kms_key(self, group_roles, default_role) -> kms.Key: + key_policy = iam.PolicyDocument( + assign_sids=True, + statements=[ + iam.PolicyStatement( + actions=[ + "kms:Encrypt", + "kms:Decrypt", + "kms:ReEncrypt*", + "kms:GenerateDataKey*", + ], + effect=iam.Effect.ALLOW, + principals=[ + default_role, + ] + group_roles, + resources=["*"], + conditions={ + "StringEquals": {"kms:ViaService": f"sqs.{self._environment.region}.amazonaws.com"} + } + ), + iam.PolicyStatement( + actions=[ + "kms:DescribeKey", + "kms:List*", + "kms:GetKeyPolicy", + ], + effect=iam.Effect.ALLOW, + principals=[ + default_role, + ] + group_roles, + resources=["*"], + ) + ] + ) + + kms_key = kms.Key( self, - f'{queue_name}-key', + f'dataall-environment-{self._environment.environmentUri}-cr-key', removal_policy=RemovalPolicy.DESTROY, - alias=f'{queue_name}-key', + alias=f'dataall-environment-{self._environment.environmentUri}-cr-key', enable_key_rotation=True, + admins=[ + iam.ArnPrincipal(self._environment.CDKRoleArn), + ], + policy=key_policy ) + return kms_key + def set_dlq(self, queue_name, kms_key) -> sqs.Queue: dlq = sqs.Queue( self, f'{queue_name}-queue', queue_name=f'{queue_name}', retention_period=Duration.days(14), encryption=sqs.QueueEncryption.KMS, - encryption_master_key=queue_key, + encryption_master_key=kms_key, data_key_reuse=Duration.days(1), removal_policy=RemovalPolicy.DESTROY, ) diff --git a/backend/dataall/cdkproxy/stacks/notebook.py b/backend/dataall/cdkproxy/stacks/notebook.py index dd80de060..de50484eb 100644 --- a/backend/dataall/cdkproxy/stacks/notebook.py +++ b/backend/dataall/cdkproxy/stacks/notebook.py @@ -15,6 +15,7 @@ from ...db import models from ...db.api import Environment from ...utils.cdk_nag_utils import CDKNagUtil +from ...aws.handlers.sts import SessionHelper from ...utils.runtime_stacks_tagging import TagsUtil logger = logging.getLogger(__name__) @@ -62,11 +63,16 @@ def __init__(self, scope, id: str, target_uri: str = None, **kwargs) -> None: env_group = self.get_env_group(notebook) + cdk_exec_role = SessionHelper.get_cdk_exec_role_arn(notebook.AWSAccountId, notebook.region) + notebook_key = kms.Key( self, 'NotebookKmsKey', alias=notebook.NotebookInstanceName, enable_key_rotation=True, + admins=[ + iam.ArnPrincipal(cdk_exec_role), + ], policy=iam.PolicyDocument( assign_sids=True, statements=[ @@ -74,14 +80,30 @@ def __init__(self, scope, id: str, target_uri: str = None, **kwargs) -> None: resources=['*'], effect=iam.Effect.ALLOW, principals=[ - iam.AccountPrincipal(account_id=notebook.AWSAccountId), - iam.Role.from_role_arn( - self, - 'NotebookRole', - role_arn=notebook.RoleArn, - ), + iam.ArnPrincipal(notebook.RoleArn) + ], + actions=[ + "kms:Encrypt", + "kms:Decrypt", + "kms:ReEncrypt*", + "kms:GenerateDataKey*", + "kms:DescribeKey" + ], + conditions={ + "StringEquals": {"kms:ViaService": f"sagemaker.{notebook.region}.amazonaws.com"} + } + ), + iam.PolicyStatement( + resources=['*'], + effect=iam.Effect.ALLOW, + principals=[ + iam.ArnPrincipal(notebook.RoleArn) ], - actions=['kms:*'], + actions=[ + "kms:DescribeKey", + "kms:List*", + "kms:GetKeyPolicy", + ] ) ], ), @@ -116,7 +138,7 @@ def __init__(self, scope, id: str, target_uri: str = None, **kwargs) -> None: self, f'Notebook{target_uri}', instance_type=notebook.InstanceType, - role_arn=env_group.environmentIAMRoleArn, + role_arn=notebook.RoleArn, direct_internet_access='Disabled', subnet_id=notebook.SubnetId, security_group_ids=[security_group.security_group_id], diff --git a/backend/dataall/cdkproxy/stacks/pipeline.py b/backend/dataall/cdkproxy/stacks/pipeline.py index 995422283..f132809c2 100644 --- a/backend/dataall/cdkproxy/stacks/pipeline.py +++ b/backend/dataall/cdkproxy/stacks/pipeline.py @@ -141,24 +141,37 @@ def __init__(self, scope, id, target_uri: str = None, **kwargs): removal_policy=RemovalPolicy.DESTROY, alias=f"{pipeline.name}-codebuild-key", enable_key_rotation=True, + admins=[ + iam.ArnPrincipal(pipeline_environment.CDKRoleArn), + ], policy=iam.PolicyDocument( statements=[ iam.PolicyStatement( resources=["*"], effect=iam.Effect.ALLOW, principals=[ - iam.AccountPrincipal(account_id=self.account), + build_project_role + ], + actions=[ + "kms:Encrypt", + "kms:Decrypt", + "kms:ReEncrypt*", + "kms:GenerateDataKey*", ], - actions=["kms:*"], ), iam.PolicyStatement( resources=["*"], effect=iam.Effect.ALLOW, principals=[ - iam.ServicePrincipal(service="codebuild.amazonaws.com"), + iam.ArnPrincipal(pipeline_env_team.environmentIAMRoleArn), + build_project_role ], - actions=["kms:GenerateDataKey*", "kms:Decrypt"], - ), + actions=[ + "kms:DescribeKey", + "kms:List*", + "kms:GetKeyPolicy", + ], + ) ], ), ) @@ -167,15 +180,14 @@ def __init__(self, scope, id, target_uri: str = None, **kwargs): code_dir_path = os.path.realpath( os.path.abspath( os.path.join( - __file__, "..", "..", "..", "..", "blueprints", "data_pipeline_blueprint" + __file__, "..", "..", "blueprints", "data_pipeline_blueprint" ) ) ) - + logger.info(f"code directory path = {code_dir_path}") + env_vars, aws = PipelineStack._set_env_vars(pipeline_environment) try: - env_vars, aws = PipelineStack._set_env_vars(pipeline_environment) - codecommit_client = aws.client('codecommit', region_name=pipeline_environment.region) - repository = PipelineStack._check_repository(codecommit_client, pipeline.repo) + repository = PipelineStack._check_repository(aws, pipeline_environment.region, pipeline.repo) if repository: PipelineStack.write_ddk_json_multienvironment(path=code_dir_path, output_file="ddk.json", pipeline_environment=pipeline_environment, development_environments=development_environments) @@ -197,7 +209,7 @@ def __init__(self, scope, id, target_uri: str = None, **kwargs): else: raise Exception except Exception as e: - PipelineStack.initialize_repo(pipeline, code_dir_path) + PipelineStack.initialize_repo(pipeline, code_dir_path, env_vars) PipelineStack.write_deploy_buildspec(path=code_dir_path, output_file=f"{pipeline.repo}/deploy_buildspec.yaml") @@ -454,9 +466,6 @@ def make_codebuild_policy_statements( iam.PolicyStatement( actions=[ "ec2:DescribeAvailabilityZones", - "kms:Decrypt", - "kms:Encrypt", - "kms:GenerateDataKey", "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret", "ssm:GetParametersByPath", @@ -510,7 +519,7 @@ def write_ddk_json_multienvironment(path, output_file, pipeline_environment, dev with open(f'{path}/{output_file}', 'w') as text_file: print(json, file=text_file) - def initialize_repo(pipeline, code_dir_path): + def initialize_repo(pipeline, code_dir_path, env_vars): venv_name = ".venv" @@ -529,7 +538,8 @@ def initialize_repo(pipeline, code_dir_path): text=True, shell=True, # nosec encoding='utf-8', - cwd=code_dir_path + cwd=code_dir_path, + env=env_vars ) if process.returncode == 0: logger.info("Successfully Initialized New CDK/DDK App") @@ -545,6 +555,7 @@ def _set_env_vars(pipeline_environment): 'AWS_DEFAULT_REGION': pipeline_environment.region, 'CURRENT_AWS_ACCOUNT': pipeline_environment.AwsAccountId, 'envname': os.environ.get('envname', 'local'), + 'COOKIECUTTER_CONFIG': "/dataall/cdkproxy/blueprints/cookiecutter_config.yaml", } if env_creds: env.update( @@ -557,7 +568,8 @@ def _set_env_vars(pipeline_environment): return env, aws @staticmethod - def _check_repository(codecommit_client, repo_name): + def _check_repository(aws, region, repo_name): + codecommit_client = aws.client('codecommit', region_name=region) repository = None logger.info(f"Checking Repository Exists: {repo_name}") try: diff --git a/backend/dataall/cdkproxy/stacks/pivot_role.py b/backend/dataall/cdkproxy/stacks/pivot_role.py index b4c340d31..c0b157f4a 100644 --- a/backend/dataall/cdkproxy/stacks/pivot_role.py +++ b/backend/dataall/cdkproxy/stacks/pivot_role.py @@ -34,8 +34,8 @@ def create_pivot_role(self, name: str, principal_id: str, external_id: str, env_ 'DataAllPivotRole-cdk', role_name=name, assumed_by=iam.CompositePrincipal( - iam.ServicePrincipal('glue.amazonaws.com'), iam.ServicePrincipal('lakeformation.amazonaws.com'), + iam.ServicePrincipal('glue.amazonaws.com'), iam.ServicePrincipal('lambda.amazonaws.com'), ), path='/', @@ -53,7 +53,14 @@ def create_pivot_role(self, name: str, principal_id: str, external_id: str, env_ effect=iam.Effect.ALLOW, principals=[iam.AccountPrincipal(account_id=principal_id)], actions=['sts:AssumeRole'], - conditions={'StringEquals': {'sts:ExternalId': external_id}}, + conditions={ + 'StringEquals': {'sts:ExternalId': external_id}, + 'StringLike': {"aws:PrincipalArn": [ + f"arn:aws:iam::{principal_id}:role/*graphql-role", + f"arn:aws:iam::{principal_id}:role/*awsworker-role", + f"arn:aws:iam::{principal_id}:role/*ecs-tasks-role" + ]} + }, ) ) @@ -72,54 +79,16 @@ def _create_dataall_policy0(self, env_resource_prefix: str) -> iam.ManagedPolicy 'PivotRolePolicy0', managed_policy_name=f'{env_resource_prefix}-pivotrole-cdk-policy-0', statements=[ - # Athena permissions - iam.PolicyStatement( - sid='Athena', - effect=iam.Effect.ALLOW, - resources=['*'], - actions=[ - 'athena:GetQuery*', - 'athena:StartQueryExecution', - 'athena:ListWorkGroups' - ], - ), - # Athena Workgroups permissions - iam.PolicyStatement( - sid='AthenaWorkgroups', - effect=iam.Effect.ALLOW, - actions=[ - 'athena:GetWorkGroup', - 'athena:CreateWorkGroup', - 'athena:UpdateWorkGroup', - 'athena:DeleteWorkGroup', - 'athena:TagResource', - 'athena:UntagResource', - 'athena:ListTagsForResource', - ], - resources=[f'arn:aws:athena:*:{self.account}:workgroup/{env_resource_prefix}*'], - ), - # AWS Glue Crawler Bucket - iam.PolicyStatement( - sid='AwsGlueCrawlerBucket', - effect=iam.Effect.ALLOW, - actions=['s3:GetObject'], - resources=['arn:aws:s3:::crawler-public*'], - ), - # S3 Access points + # Read Buckets iam.PolicyStatement( - sid='ManagedAccessPoints', + sid='ReadBuckets', effect=iam.Effect.ALLOW, actions=[ - 's3:GetAccessPoint', - 's3:GetAccessPointPolicy', - 's3:ListAccessPoints', - 's3:CreateAccessPoint', - 's3:DeleteAccessPoint', - 's3:GetAccessPointPolicyStatus', - 's3:DeleteAccessPointPolicy', - 's3:PutAccessPointPolicy', + 's3:ListAllMyBuckets', + 's3:GetBucketLocation', + 's3:PutBucketTagging' ], - resources=[f'arn:aws:s3:*:{self.account}:accesspoint/*'], + resources=['*'], ), # S3 Managed Buckets iam.PolicyStatement( @@ -133,7 +102,7 @@ def _create_dataall_policy0(self, env_resource_prefix: str) -> iam.ManagedPolicy ], resources=[f'arn:aws:s3:::{env_resource_prefix}*'], ), - # S3 Imported Buckets + # S3 Imported Buckets - restrict resources via bucket policies iam.PolicyStatement( sid='ImportedBuckets', effect=iam.Effect.ALLOW, @@ -150,155 +119,104 @@ def _create_dataall_policy0(self, env_resource_prefix: str) -> iam.ManagedPolicy ], resources=['arn:aws:s3:::*'], ), - # AWS Logging Buckets - iam.PolicyStatement( - sid='AWSLoggingBuckets', - effect=iam.Effect.ALLOW, - actions=[ - 's3:PutBucketAcl', - 's3:PutBucketNotification' - ], - resources=[f'arn:aws:s3:::{env_resource_prefix}-logging-*'], - ), - # Read Buckets + # KMS - needed for imported buckets iam.PolicyStatement( - sid='ReadBuckets', + sid='KMS', effect=iam.Effect.ALLOW, actions=[ - 's3:ListAllMyBuckets', - 's3:GetBucketLocation', - 's3:PutBucketTagging' + 'kms:Decrypt', + 'kms:Encrypt', + 'kms:GenerateDataKey*', + 'kms:PutKeyPolicy', + 'kms:ReEncrypt*', + 'kms:TagResource', + 'kms:UntagResource', ], resources=['*'], ), - # CloudWatch Metrics iam.PolicyStatement( - sid='CWMetrics', + sid='KMSList', effect=iam.Effect.ALLOW, actions=[ - 'cloudwatch:PutMetricData', - 'cloudwatch:GetMetricData', - 'cloudwatch:GetMetricStatistics' + 'kms:List*', + 'kms:DescribeKey', ], resources=['*'], ), - # Logs + # Athena - needed for Worksheets feature iam.PolicyStatement( - sid='Logs', + sid='AthenaWorkgroups', effect=iam.Effect.ALLOW, actions=[ - 'logs:CreateLogGroup', - 'logs:CreateLogStream', - 'logs:PutLogEvents' - ], - resources=[ - f'arn:aws:logs:*:{self.account}:log-group:/aws-glue/*', - f'arn:aws:logs:*:{self.account}:log-group:/aws/lambda/*', - f'arn:aws:logs:*:{self.account}:log-group:/{env_resource_prefix}*', + "athena:GetQueryExecution", + "athena:GetQueryResults", + "athena:GetWorkGroup", + "athena:StartQueryExecution" ], + resources=[f'arn:aws:athena:*:{self.account}:workgroup/{env_resource_prefix}*'], ), - # Logging - iam.PolicyStatement( - sid='Logging', effect=iam.Effect.ALLOW, actions=['logs:PutLogEvents'], resources=['*'] - ), - # EventBridge (CloudWatch Events) + # S3 Access points - needed for access points sharing iam.PolicyStatement( - sid='CWEvents', + sid='ManagedAccessPoints', effect=iam.Effect.ALLOW, actions=[ - 'events:DeleteRule', - 'events:List*', - 'events:PutRule', - 'events:PutTargets', - 'events:RemoveTargets', + 's3:GetAccessPoint', + 's3:GetAccessPointPolicy', + 's3:ListAccessPoints', + 's3:CreateAccessPoint', + 's3:DeleteAccessPoint', + 's3:GetAccessPointPolicyStatus', + 's3:DeleteAccessPointPolicy', + 's3:PutAccessPointPolicy', ], - resources=['*'], + resources=[f'arn:aws:s3:*:{self.account}:accesspoint/*'], ), - # Glue + # Glue - needed to handle databases and tables and cross-account shares iam.PolicyStatement( - sid='Glue', + sid='GlueCatalog', effect=iam.Effect.ALLOW, actions=[ 'glue:BatchCreatePartition', 'glue:BatchDeletePartition', 'glue:BatchDeleteTable', - 'glue:CreateCrawler', 'glue:CreateDatabase', 'glue:CreatePartition', 'glue:CreateTable', - 'glue:DeleteCrawler', 'glue:DeleteDatabase', - 'glue:DeleteJob', 'glue:DeletePartition', 'glue:DeleteTable', - 'glue:DeleteTrigger', 'glue:BatchGet*', 'glue:Get*', 'glue:List*', - 'glue:StartCrawler', - 'glue:StartJobRun', - 'glue:StartTrigger', 'glue:SearchTables', 'glue:UpdateDatabase', 'glue:UpdatePartition', 'glue:UpdateTable', - 'glue:UpdateTrigger', - 'glue:UpdateJob', 'glue:TagResource', - 'glue:UpdateCrawler', - ], - resources=['*'], - ), - # KMS - iam.PolicyStatement( - sid='KMS', - effect=iam.Effect.ALLOW, - actions=[ - 'kms:Decrypt', - 'kms:Encrypt', - 'kms:GenerateDataKey*', - 'kms:PutKeyPolicy', - 'kms:ReEncrypt*', - 'kms:TagResource', - 'kms:UntagResource', + 'glue:DeleteResourcePolicy', + 'glue:PutResourcePolicy', ], resources=['*'], ), + # Glue ETL - needed to start crawler and profiling jobs iam.PolicyStatement( - sid='KMSAlias', - effect=iam.Effect.ALLOW, - actions=['kms:DeleteAlias'], - resources=[f'arn:aws:kms:*:{self.account}:alias/{env_resource_prefix}*'], - ), - iam.PolicyStatement( - sid='KMSCreate', + sid='GlueETL', effect=iam.Effect.ALLOW, actions=[ - 'kms:List*', - 'kms:DescribeKey', - 'kms:CreateAlias', - 'kms:CreateKey' + 'glue:StartCrawler', + 'glue:StartJobRun', + 'glue:StartTrigger', + 'glue:UpdateTrigger', + 'glue:UpdateJob', + 'glue:UpdateCrawler', ], - resources=['*'], - ), - # AWS Organizations - iam.PolicyStatement( - sid='Organizations', - effect=iam.Effect.ALLOW, - actions=['organizations:DescribeOrganization'], - resources=['*'], - ), - # Resource Tags - iam.PolicyStatement( - sid='ResourceGroupTags', - effect=iam.Effect.ALLOW, - actions=[ - 'tag:*', - 'resource-groups:*' + resources=[ + f'arn:aws:glue:*:{self.account}:crawler/{env_resource_prefix}*', + f'arn:aws:glue:*:{self.account}:job/{env_resource_prefix}*', + f'arn:aws:glue:*:{self.account}:trigger/{env_resource_prefix}*', ], - resources=['*'], ), - # SNS + # SNS - For subscriptions iam.PolicyStatement( sid='SNSPublish', effect=iam.Effect.ALLOW, @@ -317,7 +235,7 @@ def _create_dataall_policy0(self, env_resource_prefix: str) -> iam.ManagedPolicy iam.PolicyStatement( sid='SNSList', effect=iam.Effect.ALLOW, actions=['sns:ListTopics'], resources=['*'] ), - # SQS + # SQS - support SQS queues iam.PolicyStatement( sid='SQSList', effect=iam.Effect.ALLOW, actions=['sqs:ListQueues'], resources=['*'] ), @@ -330,104 +248,73 @@ def _create_dataall_policy0(self, env_resource_prefix: str) -> iam.ManagedPolicy ], resources=[f'arn:aws:sqs:*:{self.account}:{env_resource_prefix}*'], ), - ], - ) - - def _create_dataall_policy1(self, env_resource_prefix: str) -> iam.ManagedPolicy: - """ - Creates the second managed IAM Policy required for the Pivot Role used by data.all - - :param str env_resource_prefix: Environment Resource Prefix provided by data.all - :returns: Created IAM Policy - :rtype: iam.ManagedPolicy - """ - return iam.ManagedPolicy( - self, - 'PivotRolePolicy1', - managed_policy_name=f'{env_resource_prefix}-pivotrole-cdk-policy-1', - statements=[ - # Redshift + # AWS Logging Buckets iam.PolicyStatement( - sid='Redshift', + sid='AWSLoggingBuckets', effect=iam.Effect.ALLOW, actions=[ - 'redshift:DeleteTags', - 'redshift:ModifyClusterIamRoles', - 'redshift:DescribeClusterSecurityGroups', - 'redshift:DescribeClusterSubnetGroups', - 'redshift:pauseCluster', - 'redshift:resumeCluster', + 's3:PutBucketAcl', + 's3:PutBucketNotification' ], - resources=['*'], - conditions={'StringEquals': {'aws:ResourceTag/dataall': 'true'}}, + resources=[f'arn:aws:s3:::{env_resource_prefix}-logging-*'], ), + # CloudWatch Metrics iam.PolicyStatement( - sid='RedshiftRead', + sid='CWMetrics', effect=iam.Effect.ALLOW, actions=[ - 'redshift:DescribeClusters', - 'redshift:CreateTags', - 'redshift:DescribeClusterSubnetGroups', + 'cloudwatch:PutMetricData', + 'cloudwatch:GetMetricData', + 'cloudwatch:GetMetricStatistics' ], resources=['*'], ), + # Logs iam.PolicyStatement( - sid='RedshiftCreds', + sid='Logs', effect=iam.Effect.ALLOW, - actions=['redshift:GetClusterCredentials'], + actions=[ + 'logs:CreateLogGroup', + 'logs:CreateLogStream', + ], resources=[ - f'arn:aws:redshift:*:{self.account}:dbgroup:*/*', - f'arn:aws:redshift:*:{self.account}:dbname:*/*', - f'arn:aws:redshift:*:{self.account}:dbuser:*/*', + f'arn:aws:logs:*:{self.account}:log-group:/aws/lambda/*', + f'arn:aws:logs:*:{self.account}:log-group:/{env_resource_prefix}*', ], ), + # Logging iam.PolicyStatement( - sid='AllowRedshiftSubnet', - effect=iam.Effect.ALLOW, - actions=['redshift:CreateClusterSubnetGroup'], - resources=['*'], - ), - iam.PolicyStatement( - sid='AllowRedshiftDataApi', - effect=iam.Effect.ALLOW, - actions=[ - 'redshift-data:ListTables', - 'redshift-data:GetStatementResult', - 'redshift-data:CancelStatement', - 'redshift-data:ListSchemas', - 'redshift-data:ExecuteStatement', - 'redshift-data:ListStatements', - 'redshift-data:ListDatabases', - 'redshift-data:DescribeStatement', - ], - resources=['*'], + sid='Logging', effect=iam.Effect.ALLOW, actions=['logs:PutLogEvents'], resources=['*'] ), - # EC2 + ], + ) + + def _create_dataall_policy1(self, env_resource_prefix: str) -> iam.ManagedPolicy: + """ + Creates the second managed IAM Policy required for the Pivot Role used by data.all + + :param str env_resource_prefix: Environment Resource Prefix provided by data.all + :returns: Created IAM Policy + :rtype: iam.ManagedPolicy + """ + return iam.ManagedPolicy( + self, + 'PivotRolePolicy1', + managed_policy_name=f'{env_resource_prefix}-pivotrole-cdk-policy-1', + statements=[ + # EC2 describe needed for SageMaker iam.PolicyStatement( sid='EC2SG', effect=iam.Effect.ALLOW, actions=[ - 'ec2:CreateSecurityGroup', - 'ec2:CreateNetworkInterface', - 'ec2:Describe*' + 'ec2:DescribeSubnets', + 'ec2:DescribeSecurityGroups', + 'ec2:DescribeVpcs', + 'ec2:DescribeInstances', + 'ec2:DescribeNetworkInterfaces', ], resources=['*'], ), - iam.PolicyStatement( - sid='TagsforENI', - effect=iam.Effect.ALLOW, - actions=[ - 'ec2:CreateTags', - 'ec2:DeleteTags' - ], - resources=[f'arn:aws:ec2:*:{self.account}:network-interface/*'], - ), - iam.PolicyStatement( - sid='DeleteENI', - effect=iam.Effect.ALLOW, - actions=['ec2:DeleteNetworkInterface'], - resources=[f'arn:aws:ec2:*:{self.account}:network-interface/*'], - ), # SageMaker iam.PolicyStatement( sid='SageMakerNotebookActions', @@ -435,7 +322,6 @@ def _create_dataall_policy1(self, env_resource_prefix: str) -> iam.ManagedPolicy actions=[ 'sagemaker:ListTags', 'sagemaker:DescribeUserProfile', - 'sagemaker:DeleteNotebookInstance', 'sagemaker:StopNotebookInstance', 'sagemaker:CreatePresignedNotebookInstanceUrl', 'sagemaker:DescribeNotebookInstance', @@ -486,7 +372,6 @@ def _create_dataall_policy1(self, env_resource_prefix: str) -> iam.ManagedPolicy actions=['ram:UpdateResourceShare'], resources=[f'arn:aws:ram:*:{self.account}:resource-share/*'], conditions={ - 'StringEquals': {'aws:ResourceTag/dataall': 'true'}, 'ForAllValues:StringLike': {'ram:ResourceShareName': ['LakeFormation*']}, }, ), @@ -504,7 +389,7 @@ def _create_dataall_policy1(self, env_resource_prefix: str) -> iam.ManagedPolicy sid='RamDeleteResource', effect=iam.Effect.ALLOW, actions=['ram:DeleteResourceShare'], - resources=[f'arn:aws:ram:*:{self.account}:resource-share/*'], + resources=[f'arn:aws:ram:*:{self.account}:resource-share/*'] ), iam.PolicyStatement( sid='RamInvitations', @@ -512,105 +397,44 @@ def _create_dataall_policy1(self, env_resource_prefix: str) -> iam.ManagedPolicy actions=[ 'ram:AcceptResourceShareInvitation', 'ram:RejectResourceShareInvitation', - 'ec2:DescribeAvailabilityZones', 'ram:EnableSharingWithAwsOrganization', ], resources=['*'], ), iam.PolicyStatement( - sid='RamReadGlue', + sid='RamRead', effect=iam.Effect.ALLOW, actions=[ - 'glue:PutResourcePolicy', - 'glue:DeleteResourcePolicy', 'ram:Get*', 'ram:List*' ], resources=['*'], ), - # Security Groups - iam.PolicyStatement( - sid='SGCreateTag', - effect=iam.Effect.ALLOW, - actions=['ec2:CreateTags'], - resources=[f'arn:aws:ec2:*:{self.account}:security-group/*'], - conditions={'StringEquals': {'aws:RequestTag/dataall': 'true'}}, - ), + # CloudFormation iam.PolicyStatement( - sid='SGandRedshift', - effect=iam.Effect.ALLOW, - actions=[ - 'ec2:DeleteTags', - 'ec2:DeleteSecurityGroup', - 'redshift:DeleteClusterSubnetGroup' - ], - resources=['*'], - conditions={'ForAnyValue:StringEqualsIfExists': {'aws:ResourceTag/dataall': 'true'}}, - ), - # Redshift - iam.PolicyStatement( - sid='RedshiftDataApi', - effect=iam.Effect.ALLOW, - actions=[ - 'redshift-data:ListTables', - 'redshift-data:GetStatementResult', - 'redshift-data:CancelStatement', - 'redshift-data:ListSchemas', - 'redshift-data:ExecuteStatement', - 'redshift-data:ListStatements', - 'redshift-data:ListDatabases', - 'redshift-data:DescribeStatement', - ], - resources=['*'], - conditions={'StringEqualsIfExists': {'aws:ResourceTag/dataall': 'true'}}, - ), - # Dev Tools - iam.PolicyStatement( - sid='DevTools0', - effect=iam.Effect.ALLOW, - actions=['cloudformation:ValidateTemplate'], - resources=['*'], - ), - iam.PolicyStatement( - sid='DevTools1', + sid='CloudFormation', effect=iam.Effect.ALLOW, actions=[ - 'secretsmanager:CreateSecret', - 'secretsmanager:DeleteSecret', - 'secretsmanager:TagResource', - 'codebuild:DeleteProject', + "cloudformation:DeleteStack", + "cloudformation:DescribeStacks", + "cloudformation:DescribeStackEvents", + "cloudformation:DescribeStackResources" ], - resources=['*'], - conditions={'StringEquals': {'aws:ResourceTag/dataall': 'true'}}, - ), - iam.PolicyStatement( - sid='DevTools2', - effect=iam.Effect.ALLOW, - actions=[ - 'codebuild:CreateProject', - 'ecr:CreateRepository', - 'ssm:PutParameter', - 'ssm:AddTagsToResource', + resources=[ + f'arn:aws:cloudformation:*:{self.account}:stack/{env_resource_prefix}*/*', + f'arn:aws:cloudformation:*:{self.account}:stack/CDKToolkit/*', ], - resources=['*'], - conditions={'StringEquals': {'aws:RequestTag/dataall': 'true'}}, ), iam.PolicyStatement( - sid='CloudFormation', + sid='CloudFormationDataPipeliens', effect=iam.Effect.ALLOW, actions=[ - 'cloudformation:DescribeStacks', - 'cloudformation:DescribeStackResources', - 'cloudformation:DescribeStackEvents', - 'cloudformation:DeleteStack', - 'cloudformation:CreateStack', - 'cloudformation:GetTemplate', - 'cloudformation:ListStackResources', - 'cloudformation:DescribeStackResource', + "cloudformation:DeleteStack", + "cloudformation:DescribeStacks", + "cloudformation:DescribeStackEvents", + "cloudformation:DescribeStackResources" ], resources=[ - f'arn:aws:cloudformation:*:{self.account}:stack/{env_resource_prefix}*/*', - f'arn:aws:cloudformation:*:{self.account}:stack/CDKToolkit/*', f'arn:aws:cloudformation:*:{self.account}:stack/*/*', ], ), @@ -635,8 +459,6 @@ def _create_dataall_policy2(self, env_resource_prefix: str) -> iam.ManagedPolicy sid='LakeFormation', effect=iam.Effect.ALLOW, actions=[ - 'lakeformation:RegisterResource', - 'lakeformation:DeregisterResource', 'lakeformation:UpdateResource', 'lakeformation:DescribeResource', 'lakeformation:AddLFTagsToResource', @@ -663,70 +485,12 @@ def _create_dataall_policy2(self, env_resource_prefix: str) -> iam.ManagedPolicy 'lakeformation:GetWorkUnitResults', 'lakeformation:GetQueryState', 'lakeformation:GetQueryStatistics', - 'lakeformation:StartTransaction', - 'lakeformation:CommitTransaction', - 'lakeformation:CancelTransaction', - 'lakeformation:ExtendTransaction', - 'lakeformation:DescribeTransaction', - 'lakeformation:ListTransactions', 'lakeformation:GetTableObjects', 'lakeformation:UpdateTableObjects', 'lakeformation:DeleteObjectsOnCancel', ], resources=['*'], ), - # Compute - iam.PolicyStatement( - sid='Compute', - effect=iam.Effect.ALLOW, - actions=[ - 'lambda:CreateFunction', - 'lambda:AddPermission', - 'lambda:InvokeFunction', - 'lambda:RemovePermission', - 'lambda:GetFunction', - 'lambda:GetFunctionConfiguration', - 'lambda:DeleteFunction', - 'ecr:CreateRepository', - 'ecr:SetRepositoryPolicy', - 'ecr:DeleteRepository', - 'ecr:DescribeImages', - 'ecr:BatchDeleteImage', - 'codepipeline:GetPipelineState', - 'codepipeline:DeletePipeline', - 'codepipeline:GetPipeline', - 'codepipeline:CreatePipeline', - 'codepipeline:TagResource', - 'codepipeline:UntagResource', - ], - resources=[ - f'arn:aws:lambda:*:{self.account}:function:{env_resource_prefix}*', - f'arn:aws:s3:::{env_resource_prefix}*', - f'arn:aws:codepipeline:*:{self.account}:{env_resource_prefix}*', - f'arn:aws:ecr:*:{self.account}:repository/{env_resource_prefix}*', - ], - ), - # Databrew - iam.PolicyStatement( - sid='DatabrewList', effect=iam.Effect.ALLOW, actions=['databrew:List*'], resources=['*'] - ), - iam.PolicyStatement( - sid='DatabrewPermissions', - effect=iam.Effect.ALLOW, - actions=[ - 'databrew:BatchDeleteRecipeVersion', - 'databrew:Delete*', - 'databrew:Describe*', - 'databrew:PublishRecipe', - 'databrew:SendProjectSessionAction', - 'databrew:Start*', - 'databrew:Stop*', - 'databrew:TagResource', - 'databrew:UntagResource', - 'databrew:Update*', - ], - resources=[f'arn:aws:databrew:*:{self.account}:*/{env_resource_prefix}*'], - ), # QuickSight iam.PolicyStatement( sid='QuickSight', @@ -795,26 +559,7 @@ def _create_dataall_policy3(self, env_resource_prefix: str, role_name: str) -> i f'arn:aws:ssm:*:{self.account}:parameter/ddk/*', ], ), - # Secrets Manager - iam.PolicyStatement( - sid='SecretsManager', - effect=iam.Effect.ALLOW, - actions=[ - 'secretsmanager:DescribeSecret', - 'secretsmanager:GetSecretValue' - ], - resources=[ - f'arn:aws:secretsmanager:*:{self.account}:secret:{env_resource_prefix}*', - f'arn:aws:secretsmanager:*:{self.account}:secret:dataall*', - ], - ), - iam.PolicyStatement( - sid='SecretsManagerList', - effect=iam.Effect.ALLOW, - actions=['secretsmanager:ListSecrets'], - resources=['*'], - ), - # IAM + # IAM - needed for consumption roles and for S3 sharing iam.PolicyStatement( sid='IAMListGet', effect=iam.Effect.ALLOW, @@ -833,15 +578,30 @@ def _create_dataall_policy3(self, env_resource_prefix: str, role_name: str) -> i resources=['*'], ), iam.PolicyStatement( - sid='IAMPassRole', - effect=iam.Effect.ALLOW, - actions=['iam:PassRole'], + sid="PassRole", + actions=[ + 'iam:PassRole', + ], resources=[ - f'arn:aws:iam::{self.account}:role/{env_resource_prefix}*', f'arn:aws:iam::{self.account}:role/{role_name}', - f'arn:aws:iam::{self.account}:role/cdk-*', ], ), + iam.PolicyStatement( + sid="PassRoleGlue", + actions=[ + 'iam:PassRole', + ], + resources=[ + f'arn:aws:iam::{self.account}:role/{env_resource_prefix}*', + ], + conditions={ + "StringEquals": { + "iam:PassedToService": [ + "glue.amazonaws.com", + ] + } + } + ), # STS iam.PolicyStatement( sid='STS', @@ -852,18 +612,7 @@ def _create_dataall_policy3(self, env_resource_prefix: str, role_name: str) -> i f'arn:aws:iam::{self.account}:role/ddk-*', ], ), - # Step Functions - iam.PolicyStatement( - sid='StepFunctions', - effect=iam.Effect.ALLOW, - actions=[ - 'states:DescribeStateMachine', - 'states:ListExecutions', - 'states:StartExecution' - ], - resources=[f'arn:aws:states:*:{self.account}:stateMachine:{env_resource_prefix}*'], - ), - # CodeCommit + # CodeCommit - used in Pipelines iam.PolicyStatement( sid='CodeCommit', effect=iam.Effect.ALLOW, diff --git a/backend/dataall/cdkproxy/stacks/policies/_lambda.py b/backend/dataall/cdkproxy/stacks/policies/_lambda.py index 2aa76257b..8da645153 100644 --- a/backend/dataall/cdkproxy/stacks/policies/_lambda.py +++ b/backend/dataall/cdkproxy/stacks/policies/_lambda.py @@ -3,32 +3,96 @@ class Lambda(ServicePolicy): + """ + Class including all permissions needed to work with AWS Lambda. + It allows data.all users to: + - List Lambda resources + - Create and manage team Lambda resources + - Log Lambda executions + """ def get_statements(self): statements = [ iam.PolicyStatement( + # sid="ListLambda", actions=[ - 'lambda:ListFunctions', - 'lambda:ListEventSourceMappings', - 'lambda:ListLayerVersions', - 'lambda:ListLayers', + 'lambda:List*', + 'lambda:GetLayer*', 'lambda:GetAccountSettings', + 'lambda:GetEventSourceMapping', 'lambda:CreateEventSourceMapping', - 'lambda:ListCodeSigningConfigs', + 'lambda:CreateCodeSigningConfig', ], resources=['*'], ), iam.PolicyStatement( + # sid="GenericLambdaFunctions", actions=[ - 'lambda:*', + 'lambda:UpdateFunctionCodeSigningConfig', + 'lambda:UpdateEventSourceMapping', ], resources=[ + f'arn:aws:lambda:{self.region}:{self.account}:function:{self.resource_prefix}*', + f'arn:aws:lambda:{self.region}:{self.account}:function:{self.resource_prefix}*:*', f'arn:aws:lambda:{self.region}:{self.account}:code-signing-config:*', f'arn:aws:lambda:{self.region}:{self.account}:event-source-mapping:*', + ], + ), + iam.PolicyStatement( + # sid="CreateTeamLambda", + actions=[ + 'lambda:CreateFunction', + 'lambda:TagResource', + ], + resources=[ f'arn:aws:lambda:{self.region}:{self.account}:function:{self.resource_prefix}*', f'arn:aws:lambda:{self.region}:{self.account}:function:{self.resource_prefix}*:*', + ], + conditions={ + 'StringEquals': { + f'aws:RequestTag/{self.tag_key}': [self.tag_value] + } + }, + ), + iam.PolicyStatement( + # sid="ManageTeamLambda", + not_actions=[ + 'lambda:CreateFunction', + 'lambda:TagResource', + 'lambda:UntagResource', + ], + resources=[ + f'arn:aws:lambda:{self.region}:{self.account}:function:{self.resource_prefix}*', + f'arn:aws:lambda:{self.region}:{self.account}:function:{self.resource_prefix}*:*' + ], + conditions={ + 'StringEquals': { + f'aws:ResourceTag/{self.tag_key}': [self.tag_value] + } + }, + ), + iam.PolicyStatement( + # sid="ManageLambdaLayers", + actions=[ + 'lambda:PublishLayerVersion', + 'lambda:DeleteLayerVersion', + ], + resources=[ f'arn:aws:lambda:{self.region}:{self.account}:layer:{self.resource_prefix}*', f'arn:aws:lambda:{self.region}:{self.account}:layer:{self.resource_prefix}*:*', - ], + ] ), + iam.PolicyStatement( + # sid="LoggingLambda", + actions=[ + 'logs:CreateLogGroup', + 'logs:CreateLogStream', + 'logs:PutLogEvents', + ], + effect=iam.Effect.ALLOW, + resources=[ + f'arn:aws:logs:{self.region}:{self.account}:log-group:/aws/lambda/*', + f'arn:aws:logs:{self.region}:{self.account}:log-group:/aws/lambda/*:log-stream:*', + ], + ) ] return statements diff --git a/backend/dataall/cdkproxy/stacks/policies/athena.py b/backend/dataall/cdkproxy/stacks/policies/athena.py new file mode 100644 index 000000000..938029262 --- /dev/null +++ b/backend/dataall/cdkproxy/stacks/policies/athena.py @@ -0,0 +1,64 @@ +from .service_policy import ServicePolicy +from aws_cdk import aws_iam as iam + + +class Athena(ServicePolicy): + """ + Class including all permissions needed to work with Amazon Athena. + It allows data.all users to: + - Work with team workgroup + - Store query results in environment S3 Bucket location for the team workgroup (access to other S3 locations is restricted) + """ + def get_statements(self): + statements = [ + iam.PolicyStatement( + # sid="ListAthena", + actions=[ + "athena:ListWorkGroups", + "athena:ListTagsForResource", + "athena:GetWorkgroup" + ], + effect=iam.Effect.ALLOW, + resources=['*'], + ), + iam.PolicyStatement( + # sid="AthenaWorkgroup", + actions=[ + "athena:Get*", + "athena:BatchGet*", + "athena:List*", + "athena:StartQueryExecution", + "athena:StopQueryExecution", + "athena:CreateNamedQuery", + "athena:DeleteNamedQuery", + "athena:CreatePreparedStatement", + "athena:UpdatePreparedStatement", + "athena:DeletePreparedStatement" + ], + resources=[f'arn:aws:athena:{self.region}:{self.account}:workgroup/{self.team.environmentAthenaWorkGroup}'], + ), + iam.PolicyStatement( + # sid="ListBucketAthena", + actions=[ + "s3:ListBucket", + ], + effect=iam.Effect.ALLOW, + resources=[f'arn:aws:s3:::{self.environment.EnvironmentDefaultBucketName}'], + conditions={"StringEquals": {"s3:prefix": ["", "athenaqueries/", f"athenaqueries/{self.team.environmentIAMRoleName}/"], "s3:delimiter": ["/"]}} + ), + iam.PolicyStatement( + # sid="ReadWriteEnvironmentBucketAthenaQueries", + actions=[ + "s3:PutObject", + "s3:PutObjectAcl", + "s3:GetObject", + "s3:GetObjectAcl", + "s3:GetObjectVersion", + "s3:DeleteObject" + ], + resources=[ + f'arn:aws:s3:::{self.environment.EnvironmentDefaultBucketName}/athenaqueries/{self.team.environmentIAMRoleName}/*'], + effect=iam.Effect.ALLOW, + ), + ] + return statements diff --git a/backend/dataall/cdkproxy/stacks/policies/codestar.py b/backend/dataall/cdkproxy/stacks/policies/aws_cicd.py similarity index 53% rename from backend/dataall/cdkproxy/stacks/policies/codestar.py rename to backend/dataall/cdkproxy/stacks/policies/aws_cicd.py index 021409d61..1f6f5dae0 100644 --- a/backend/dataall/cdkproxy/stacks/policies/codestar.py +++ b/backend/dataall/cdkproxy/stacks/policies/aws_cicd.py @@ -2,26 +2,52 @@ from aws_cdk import aws_iam as iam -class CodeStar(ServicePolicy): +class AwsCICD(ServicePolicy): + """ + Class including all permissions needed to work with AWS CICD services: CodeCommit, CodePipeline and CodeBuild. + It allows data.all users to: + - Create and manage CodeBuild, CodeCommit and CodePipeline resources for the team + - Create an S3 Bucket for codepipeline prefixed by "codepipeline-" + - Read/Write to and from S3 Buckets prefixed by "codepipeline-" + """ def get_statements(self): statements = [ iam.PolicyStatement( + # sid="GenericCodeCommit", actions=[ - 'codecommit:ListRepositoriesForApprovalRuleTemplate', + 'codecommit:List*', 'codecommit:CreateApprovalRuleTemplate', 'codecommit:UpdateApprovalRuleTemplateName', 'codecommit:GetApprovalRuleTemplate', - 'codecommit:ListApprovalRuleTemplates', 'codecommit:DeleteApprovalRuleTemplate', - 'codecommit:ListRepositories', 'codecommit:UpdateApprovalRuleTemplateContent', 'codecommit:UpdateApprovalRuleTemplateDescription', ], resources=['*'], ), iam.PolicyStatement( + # sid="TagCICD", actions=[ - 'codecommit:*', + "codecommit:TagResource", + "codepipeline:TagResource" + ], + resources=[ + f'arn:aws:codecommit:{self.region}:{self.account}:{self.resource_prefix}*', + f'arn:aws:codepipeline:{self.region}:{self.account}:{self.resource_prefix}*', + f'arn:aws:codepipeline:{self.region}:{self.account}:actiontype:/*/*/*', + f'arn:aws:codepipeline:{self.region}:{self.account}:webhook:{self.resource_prefix}', + ], + conditions={ + 'StringEquals': { + f'aws:RequestTag/{self.tag_key}': [self.tag_value], + }, + }, + ), + iam.PolicyStatement( + # sid="AllCodecommitTeamRepo", + not_actions=[ + "codecommit:TagResource", + "codecommit:UntagResource", ], resources=[ f'arn:aws:codecommit:{self.region}:{self.account}:{self.resource_prefix}*' @@ -33,24 +59,29 @@ def get_statements(self): }, ), iam.PolicyStatement( + # sid="GenericCodePipeline", actions=[ - 'codepipeline:PutThirdPartyJobSuccessResult', - 'codepipeline:PutThirdPartyJobFailureResult', - 'codepipeline:PollForThirdPartyJobs', - 'codepipeline:PutJobFailureResult', - 'codepipeline:PutJobSuccessResult', - 'codepipeline:ListPipelines', 'codepipeline:AcknowledgeJob', 'codepipeline:AcknowledgeThirdPartyJob', 'codepipeline:GetThirdPartyJobDetails', 'codepipeline:GetJobDetails', 'codepipeline:GetActionType', 'codepipeline:ListActionTypes', + 'codepipeline:ListPipelines', + 'codepipeline:PollForThirdPartyJobs', + 'codepipeline:PutThirdPartyJobSuccessResult', + 'codepipeline:PutThirdPartyJobFailureResult', + 'codepipeline:PutJobFailureResult', + 'codepipeline:PutJobSuccessResult', ], resources=['*'], ), iam.PolicyStatement( - actions=['codepipeline:*'], + # sid="AllCodepipelineTeamRepo", + not_actions=[ + "codepipeline:TagResource", + "codepipeline:UntagResource", + ], resources=[ f'arn:aws:codepipeline:{self.region}:{self.account}:{self.resource_prefix}*/*/*', f'arn:aws:codepipeline:{self.region}:{self.account}:actiontype:/*/*/*', @@ -65,18 +96,23 @@ def get_statements(self): }, ), iam.PolicyStatement( - actions=['codebuild:*'], + # sid="CodePipelineCreateS3Bucket", + effect=iam.Effect.ALLOW, + actions=[ + 's3:CreateBucket', + 's3:ListBucket', + 's3:PutBucketPublicAccessBlock', + 's3:GetObject', + 's3:PutObject', + 's3:DeleteObject' + ], resources=[ - f'arn:aws:codebuild:{self.region}:{self.account}:project/{self.resource_prefix}*', - f'arn:aws:codebuild:{self.region}:{self.account}:report-group/{self.resource_prefix}*', + f"arn:aws:s3:::codepipeline-{self.region}-{self.account}", + f"arn:aws:s3:::codepipeline-{self.region}-{self.account}/{self.resource_prefix}*" ], - conditions={ - 'StringEquals': { - f'aws:ResourceTag/{self.tag_key}': [self.tag_value] - } - }, ), iam.PolicyStatement( + # sid="GenericCodeBuild", actions=[ 'codebuild:ListCuratedEnvironmentImages', 'codebuild:ListReportGroups', @@ -96,5 +132,43 @@ def get_statements(self): ], resources=['*'], ), + iam.PolicyStatement( + # sid="TagCodebuildTeamRepo", + actions=[ + 'codebuild:CreateProject', + 'codebuild:UpdateProject', + 'codebuild:UpdateProjectVisibility', + 'codebuild:CreateReportGroup', + 'codebuild:UpdateReportGroup', + ], + resources=[ + f'arn:aws:codebuild:{self.region}:{self.account}:project/{self.resource_prefix}*', + f'arn:aws:codebuild:{self.region}:{self.account}:report-group/{self.resource_prefix}*', + ], + conditions={ + 'StringEquals': { + f'aws:RequestTag/{self.tag_key}': [self.tag_value] + } + }, + ), + iam.PolicyStatement( + # sid="AllCodebuildTeamRepo", + not_actions=[ + 'codebuild:CreateProject', + 'codebuild:UpdateProject', + 'codebuild:UpdateProjectVisibility', + 'codebuild:CreateReportGroup', + 'codebuild:UpdateReportGroup', + ], + resources=[ + f'arn:aws:codebuild:{self.region}:{self.account}:project/{self.resource_prefix}*', + f'arn:aws:codebuild:{self.region}:{self.account}:report-group/{self.resource_prefix}*', + ], + conditions={ + 'StringEquals': { + f'aws:ResourceTag/{self.tag_key}': [self.tag_value] + } + }, + ) ] return statements diff --git a/backend/dataall/cdkproxy/stacks/policies/cloudformation.py b/backend/dataall/cdkproxy/stacks/policies/cloudformation.py index 12eb8297a..468efb531 100644 --- a/backend/dataall/cdkproxy/stacks/policies/cloudformation.py +++ b/backend/dataall/cdkproxy/stacks/policies/cloudformation.py @@ -3,9 +3,17 @@ class Cloudformation(ServicePolicy): + """ + Class including all permissions needed to work with AWS CloudFormation. + It allows data.all users to: + - Create/Delete CloudFormation team stacks + - Create an S3 Bucket for codepipeline prefixed by "cf-templates-" + - Read/Write to and from S3 Buckets prefixed by "cf-templates-" + """ def get_statements(self): statements = [ iam.PolicyStatement( + # sid="GenericCloudFormation", actions=[ 'cloudformation:EstimateTemplateCost', 'cloudformation:ListStacks', @@ -23,23 +31,13 @@ def get_statements(self): 'cloudformation:Get*', 'cloudformation:Describe*', 'cloudformation:List*', + 'cloudformation:CreateUploadBucket', ], resources=['*'], ), iam.PolicyStatement( + # sid="DeleteTeamCloudFormation", actions=[ - 'cloudformation:CreateStack', - ], - resources=[ - f'arn:aws:cloudformation:{self.region}:{self.account}:*/{self.resource_prefix}*' - ], - conditions={ - 'StringEquals': {f'aws:RequestTag/{self.tag_key}': [self.tag_value]} - }, - ), - iam.PolicyStatement( - actions=[ - 'cloudformation:UpdateStack', 'cloudformation:DeleteStack', ], resources=[ diff --git a/backend/dataall/cdkproxy/stacks/policies/data_policy.py b/backend/dataall/cdkproxy/stacks/policies/data_policy.py index be926b4ce..3508c8106 100644 --- a/backend/dataall/cdkproxy/stacks/policies/data_policy.py +++ b/backend/dataall/cdkproxy/stacks/policies/data_policy.py @@ -2,6 +2,7 @@ from typing import List from aws_cdk import aws_iam as iam +from ....aws.handlers.kms import KMS from ....db import models @@ -9,6 +10,11 @@ class DataPolicy: + """ + Class including all permissions needed to work with AWS Lambda. + It allows data.all users to: + - + """ def __init__( self, stack, @@ -35,57 +41,6 @@ def __init__( self.team = team self.datasets = datasets - def generate_admins_data_access_policy(self) -> iam.Policy: - """ - Creates an open ws_iam.Policy for environment admins - """ - - policy: iam.Policy = iam.Policy( - self.stack, - self.id, - policy_name=self.name, - statements=[ - iam.PolicyStatement( - actions=[ - 's3:List*', - 's3:Get*', - 's3:PutAccountPublicAccessBlock', - 's3:PutAccessPointPublicAccessBlock', - 's3:PutStorageLensConfiguration', - 's3:GetAccessPoint', - 's3:GetAccessPointPolicy', - 's3:ListAccessPoints', - 's3:CreateAccessPoint', - 's3:DeleteAccessPoint', - 's3:GetAccessPointPolicyStatus', - 's3:DeleteAccessPointPolicy', - 's3:PutAccessPointPolicy', - 's3:CreateJob', - ], - resources=['*'], - ), - iam.PolicyStatement( - actions=['s3:*'], - resources=[ - f'arn:aws:s3-object-lambda:{self.region}:{self.account}:accesspoint/*', - f'arn:aws:s3:{self.region}:{self.account}:job/*', - f'arn:aws:s3:{self.region}:{self.account}:storage-lens/*', - f'arn:aws:s3:us-west-2:{self.account}:async-request/mrap/*/*', - f'arn:aws:s3:{self.region}:{self.account}:accesspoint/*', - f'arn:aws:s3:::{self.resource_prefix}*/*', - f'arn:aws:s3:::{self.resource_prefix}*', - ], - ), - iam.PolicyStatement( - actions=['athena:*', 'lakeformation:*', 'glue:*', 'kms:*'], - resources=['*'], - ), - ], - ) - logger.debug(f'Final generated policy {policy.document.to_json()}') - - return policy - def generate_data_access_policy(self) -> iam.Policy: """ Creates aws_iam.Policy based on team datasets @@ -105,70 +60,97 @@ def generate_data_access_policy(self) -> iam.Policy: def get_statements(self): statements = [ iam.PolicyStatement( + sid="ListAll", actions=[ - 's3:List*', - 's3:Get*', - 's3:PutAccountPublicAccessBlock', - 's3:PutAccessPointPublicAccessBlock', - 's3:PutStorageLensConfiguration', - 's3:CreateJob', - 's3:GetAccessPoint', - 's3:GetAccessPointPolicy', - 's3:ListAccessPoints', - 's3:CreateAccessPoint', - 's3:DeleteAccessPoint', - 's3:GetAccessPointPolicyStatus', - 's3:DeleteAccessPointPolicy', - 's3:PutAccessPointPolicy', + "s3:ListAllMyBuckets", + "s3:ListAccessPoints", + "s3:GetBucketLocation", + 'kms:ListAliases', + 'kms:ListKeys', ], - resources=['*'], - ), - iam.PolicyStatement( - actions=['s3:*'], - resources=[ - f'arn:aws:s3-object-lambda:{self.region}:{self.account}:accesspoint/*', - f'arn:aws:s3:{self.region}:{self.account}:job/*', - f'arn:aws:s3:{self.region}:{self.account}:storage-lens/*', - f'arn:aws:s3:us-west-2:{self.account}:async-request/mrap/*/*', - f'arn:aws:s3:{self.region}:{self.account}:accesspoint/*', - ], - ), + resources=["*"], + effect=iam.Effect.ALLOW + ) ] self.set_allowed_s3_buckets_statements(statements) - - self.set_athena_statements(statements) + self.set_allowed_kms_keys_statements(statements) return statements def set_allowed_s3_buckets_statements(self, statements): - allowed_buckets = [ - f'arn:aws:s3:::{self.environment.EnvironmentDefaultBucketName}', - f'arn:aws:s3:::{self.environment.EnvironmentDefaultBucketName}/*', - ] + allowed_buckets = [] + allowed_access_points = [] if self.datasets: dataset: models.Dataset for dataset in self.datasets: - allowed_buckets.append(f'arn:aws:s3:::{dataset.S3BucketName}/*') allowed_buckets.append(f'arn:aws:s3:::{dataset.S3BucketName}') - statements.extend( - [ - iam.PolicyStatement( - actions=['s3:*'], - resources=allowed_buckets, - ) - ] - ) - - def set_athena_statements(self, statements): - statements.extend( - [ - iam.PolicyStatement( - actions=['athena:*'], - resources=[ - f'arn:aws:athena:{self.region}:{self.account}:workgroup/{self.team.environmentAthenaWorkGroup}', - f'arn:aws:athena:{self.region}:{self.account}:datacatalog/*', - ], + allowed_access_points.append(f'arn:aws:s3:{dataset.region}:{dataset.AwsAccountId}:accesspoint/{dataset.datasetUri}*') + allowed_buckets_content = [f"{bucket}/*" for bucket in allowed_buckets] + statements.extend( + [ + iam.PolicyStatement( + sid="ListDatasetsBuckets", + actions=[ + "s3:ListBucket", + "s3:GetBucketLocation" + ], + resources=allowed_buckets, + effect=iam.Effect.ALLOW, + ), + iam.PolicyStatement( + sid="ReadWriteDatasetsBuckets", + actions=[ + "s3:PutObject", + "s3:PutObjectAcl", + "s3:GetObject", + "s3:GetObjectAcl", + "s3:GetObjectVersion", + "s3:DeleteObject" + ], + effect=iam.Effect.ALLOW, + resources=allowed_buckets_content, + ), + iam.PolicyStatement( + sid="ReadAccessPointsDatasetBucket", + actions=[ + 's3:GetAccessPoint', + 's3:GetAccessPointPolicy', + 's3:GetAccessPointPolicyStatus', + ], + effect=iam.Effect.ALLOW, + resources=allowed_access_points, + ) + ] + ) + + def set_allowed_kms_keys_statements(self, statements): + allowed_buckets_kms_keys = [] + if self.datasets: + dataset: models.Dataset + for dataset in self.datasets: + if dataset.imported and dataset.importedKmsKey: + key_id = KMS.get_key_id( + account_id=dataset.AwsAccountId, + region=dataset.region, + key_alias=f"alias/{dataset.KmsAlias}" + ) + if key_id: + allowed_buckets_kms_keys.append(f"arn:aws:kms:{dataset.region}:{dataset.AwsAccountId}:key/{key_id}") + if len(allowed_buckets_kms_keys): + statements.extend( + [ + iam.PolicyStatement( + sid="KMSImportedDatasetAccess", + actions=[ + "kms:Decrypt", + "kms:Encrypt", + "kms:ReEncrypt*", + "kms:DescribeKey", + "kms:GenerateDataKey" + ], + effect=iam.Effect.ALLOW, + resources=allowed_buckets_kms_keys + ) + ] ) - ] - ) diff --git a/backend/dataall/cdkproxy/stacks/policies/databrew.py b/backend/dataall/cdkproxy/stacks/policies/databrew.py index 19aa41293..0c6c81878 100644 --- a/backend/dataall/cdkproxy/stacks/policies/databrew.py +++ b/backend/dataall/cdkproxy/stacks/policies/databrew.py @@ -3,20 +3,32 @@ class Databrew(ServicePolicy): + """ + Class including all permissions needed to work with AWS DataBrew. + """ def get_statements(self): statements = [ - iam.PolicyStatement(actions=['databrew:List*'], resources=['*']), iam.PolicyStatement( + # sid="DataBrewGeneric", + actions=['databrew:List*'], + resources=['*'] + ), + iam.PolicyStatement( + # sid="DataBrewRecipes", actions=[ - 'databrew:Delete*', - 'databrew:Describe*', - 'databrew:PublishRecipe', - 'databrew:SendProjectSessionAction', - 'databrew:Start*', - 'databrew:Stop*', + 'databrew:BatchDeleteRecipeVersion', + 'databrew:*Recipe', + ], + resources=[ + f'arn:aws:databrew:{self.region}:{self.account}:recipe/{self.resource_prefix}*' + ], + ), + iam.PolicyStatement( + # sid="DataBrewManageTeamResources", + not_actions=[ + 'databrew:Create*', 'databrew:TagResource', 'databrew:UntagResource', - 'databrew:Update*', ], resources=[ f'arn:aws:databrew:{self.region}:{self.account}:*/{self.resource_prefix}*' @@ -28,8 +40,14 @@ def get_statements(self): }, ), iam.PolicyStatement( - actions=['databrew:Create*'], - resources=['*'], + # sid="DataBrewCreateTeamResources", + actions=[ + 'databrew:Create*', + 'databrew:TagResource', + ], + resources=[ + f'arn:aws:databrew:{self.region}:{self.account}:*/{self.resource_prefix}*' + ], conditions={ 'StringEquals': {f'aws:RequestTag/{self.tag_key}': [self.tag_value]} }, diff --git a/backend/dataall/cdkproxy/stacks/policies/glue.py b/backend/dataall/cdkproxy/stacks/policies/glue.py index 896622cfe..899ca92a6 100644 --- a/backend/dataall/cdkproxy/stacks/policies/glue.py +++ b/backend/dataall/cdkproxy/stacks/policies/glue.py @@ -2,38 +2,33 @@ from aws_cdk import aws_iam as iam -class Glue(ServicePolicy): +class GlueCatalog(ServicePolicy): + """ + Class including all permissions needed to work with AWS Glue Catalog. + """ def get_statements(self): statements = [ iam.PolicyStatement( + # sid="GlueLFReadData", + effect=iam.Effect.ALLOW, actions=[ - 'glue:Get*', - 'glue:List*', - 'glue:BatchGet*', - 'glue:CreateClassifier', - 'glue:CreateScript', - 'glue:CreateSecurityConfiguration', - 'glue:DeleteClassifier', - 'glue:DeleteResourcePolicy', - 'glue:DeleteSecurityConfiguration', - 'glue:ResetJobBookmark', - 'glue:PutDataCatalogEncryptionSettings', - 'glue:PutResourcePolicy', - 'glue:StartCrawlerSchedule', - 'glue:StartJobRun', - 'glue:StopCrawlerSchedule', - 'glue:TagResource', - 'glue:UntagResource', - 'glue:UpdateClassifier', - 'glue:UpdateCrawlerSchedule', - 'glue:BatchStopJobRun', - 'glue:SearchTables', - ], - resources=[ - '*', + "lakeformation:GetDataAccess", + "glue:GetTable", + "glue:GetTables", + "glue:SearchTables", + "glue:GetDatabase", + "glue:GetDatabases", + "glue:GetPartitions", + "lakeformation:GetResourceLFTags", + "lakeformation:ListLFTags", + "lakeformation:GetLFTag", + "lakeformation:SearchTablesByLFTags", + "lakeformation:SearchDatabasesByLFTags" ], + resources=["*"], ), iam.PolicyStatement( + # sid="GlueManageCatalog", actions=[ 'glue:CreateConnection', 'glue:CreateDatabase', @@ -64,13 +59,81 @@ def get_statements(self): f'arn:aws:glue:{self.region}:{self.account}:table/{self.resource_prefix}*/*', f'arn:aws:glue:{self.region}:{self.account}:connection/{self.resource_prefix}*', ], + ) + ] + return statements + + +class Glue(ServicePolicy): + """ + Class including all permissions needed to work with AWS Glue ETL. + """ + def get_statements(self): + statements = [ + iam.PolicyStatement( + # sid="ListBucketProfilingGlue", + actions=[ + "s3:ListBucket", + ], + effect=iam.Effect.ALLOW, + resources=[f'arn:aws:s3:::{self.environment.EnvironmentDefaultBucketName}'], + conditions={"StringEquals": { + "s3:prefix": ["", "profiling/", "profiling/code/"], + "s3:delimiter": ["/"]}} + ), + iam.PolicyStatement( + # sid="ReadEnvironmentBucketProfilingGlue", + actions=[ + "s3:GetObject", + "s3:GetObjectAcl", + "s3:GetObjectVersion", + ], + resources=[ + f'arn:aws:s3:::{self.environment.EnvironmentDefaultBucketName}/profiling/code/*'], + effect=iam.Effect.ALLOW, + ), + iam.PolicyStatement( + # sid="GlueList", + effect=iam.Effect.ALLOW, + actions=[ + 'glue:Get*', + 'glue:List*', + 'glue:BatchGet*', + ], + resources=["*"], + ), + iam.PolicyStatement( + # sid="GlueCreateS3Bucket", + effect=iam.Effect.ALLOW, + actions=[ + 's3:CreateBucket', + 's3:ListBucket', + 's3:PutBucketPublicAccessBlock' + ], + resources=[f'arn:aws:s3:::aws-glue-assets-{self.account}-{self.region}'], ), iam.PolicyStatement( + # sid="GlueReadWriteS3Bucket", + actions=[ + 's3:GetObject', + 's3:PutObject', + 's3:DeleteObject' + ], + effect=iam.Effect.ALLOW, + resources=[ + f'arn:aws:s3:::aws-glue-assets-{self.account}-{self.region}/{self.resource_prefix}/{self.team.groupUri}/', + f'arn:aws:s3:::aws-glue-assets-{self.account}-{self.region}/{self.resource_prefix}/{self.team.groupUri}/*', + ], + ), + iam.PolicyStatement( + # sid="GlueCreate", + effect=iam.Effect.ALLOW, actions=[ 'glue:CreateDevEndpoint', 'glue:CreateCrawler', 'glue:CreateJob', 'glue:CreateTrigger', + 'glue:TagResource' ], resources=[ f'arn:aws:glue:{self.region}:{self.account}:crawler/{self.resource_prefix}*', @@ -82,30 +145,22 @@ def get_statements(self): ], conditions={ 'StringEquals': {f'aws:RequestTag/{self.tag_key}': [self.tag_value]} - }, + } ), iam.PolicyStatement( - actions=[ - 'glue:DeleteDevEndpoint', - 'glue:DeleteCrawler', - 'glue:DeleteJob', - 'glue:DeleteTrigger', - 'glue:StartCrawler', - 'glue:StartTrigger', - 'glue:StopCrawler', - 'glue:StopTrigger', - 'glue:UpdateCrawler', - 'glue:UpdateDevEndpoint', - 'glue:UpdateJob', - 'glue:UpdateTrigger', + # sid="GlueManageGlueResources", + effect=iam.Effect.ALLOW, + not_actions=[ + 'glue:CreateDevEndpoint', + 'glue:CreateTrigger', + 'glue:CreateJob', + 'glue:CreateCrawler', ], resources=[ - f'arn:aws:glue:{self.region}:{self.account}:crawler/{self.resource_prefix}*', - f'arn:aws:glue:{self.region}:{self.account}:job/{self.resource_prefix}*', f'arn:aws:glue:{self.region}:{self.account}:devEndpoint/{self.resource_prefix}*', - f'arn:aws:glue:{self.region}:{self.account}:catalog', f'arn:aws:glue:{self.region}:{self.account}:trigger/{self.resource_prefix}*', - f'arn:aws:glue:{self.region}:{self.account}:table/{self.resource_prefix}*/*', + f'arn:aws:glue:{self.region}:{self.account}:job/{self.resource_prefix}*', + f'arn:aws:glue:{self.region}:{self.account}:crawler/{self.resource_prefix}*' ], conditions={ 'StringEquals': { @@ -113,5 +168,27 @@ def get_statements(self): } }, ), + iam.PolicyStatement( + # sid="SupportGluePermissions", + effect=iam.Effect.ALLOW, + actions=[ + 'glue:*Classifier', + 'glue:CreateScript', + ], + resources=['*'], + ), + iam.PolicyStatement( + # sid="LoggingGlue", + actions=[ + 'logs:CreateLogGroup', + 'logs:CreateLogStream', + 'logs:PutLogEvents', + ], + effect=iam.Effect.ALLOW, + resources=[ + f'arn:aws:logs:{self.region}:{self.account}:log-group:/aws-glue/*', + f'arn:aws:logs:{self.region}:{self.account}:log-group:/aws-glue/*:log-stream:*', + ], + ) ] return statements diff --git a/backend/dataall/cdkproxy/stacks/policies/lakeformation.py b/backend/dataall/cdkproxy/stacks/policies/lakeformation.py deleted file mode 100644 index e495a1da2..000000000 --- a/backend/dataall/cdkproxy/stacks/policies/lakeformation.py +++ /dev/null @@ -1,35 +0,0 @@ -from aws_cdk import aws_iam as iam - -from .service_policy import ServicePolicy - - -class LakeFormation(ServicePolicy): - def get_statements(self): - return [ - iam.PolicyStatement( - actions=[ - 'lakeformation:GetDataAccess', - 'lakeformation:GetResourceLFTags', - 'lakeformation:ListLFTags', - 'lakeformation:GetLFTag', - 'lakeformation:SearchTablesByLFTags', - 'lakeformation:SearchDatabasesByLFTags', - 'lakeformation:GetWorkUnits', - 'lakeformation:StartQueryPlanning', - 'lakeformation:GetWorkUnitResults', - 'lakeformation:GetQueryState', - 'lakeformation:GetQueryStatistics', - 'lakeformation:StartTransaction', - 'lakeformation:CommitTransaction', - 'lakeformation:CancelTransaction', - 'lakeformation:ExtendTransaction', - 'lakeformation:DescribeTransaction', - 'lakeformation:ListTransactions', - 'lakeformation:GetTableObjects', - 'lakeformation:UpdateTableObjects', - 'lakeformation:DeleteObjectsOnCancel', - ], - resources=['*'], - effect=iam.Effect.ALLOW, - ) - ] diff --git a/backend/dataall/cdkproxy/stacks/policies/quicksight.py b/backend/dataall/cdkproxy/stacks/policies/quicksight.py index 487ddb429..3690b0f95 100644 --- a/backend/dataall/cdkproxy/stacks/policies/quicksight.py +++ b/backend/dataall/cdkproxy/stacks/policies/quicksight.py @@ -4,38 +4,25 @@ class QuickSight(ServicePolicy): + """ + Class including all permissions needed to work with Amazon Quicksight. + It allows data.all users to: + - + """ def get_statements(self): return [ iam.PolicyStatement( - actions=[ - 'quicksight:ListDataSets', - 'quicksight:CreateDataSource', - 'quicksight:SetGroupMapping', - 'quicksight:SearchDirectoryGroups', - 'quicksight:ListIngestions', - 'quicksight:GetAnonymousUserEmbedUrl', - 'quicksight:ListDataSources', - 'quicksight:GetSessionEmbedUrl', - 'quicksight:GetGroupMapping', - 'quicksight:ListNamespaces', - ], - resources=['*'], + # sid="QuicksightList", effect=iam.Effect.ALLOW, + actions=['quicksight:List*'], + resources=['*'], ), iam.PolicyStatement( - actions=[ - 'quicksight:*', - ], + # sid="QuicksightManageTeamResources", + effect=iam.Effect.ALLOW, + actions=['quicksight:*'], resources=[ - f'arn:aws:quicksight:{self.region}:{self.account}:analysis/{self.resource_prefix}*', - f'arn:aws:quicksight:{self.region}:{self.account}:folder/{self.resource_prefix}*', - f'arn:aws:quicksight:{self.region}:{self.account}:dataset/{self.resource_prefix}*/ingestion/*', - f'arn:aws:quicksight:{self.region}:{self.account}:customization/{self.resource_prefix}*', - f'arn:aws:quicksight:{self.region}:{self.account}:dashboard/{self.resource_prefix}*', - f'arn:aws:quicksight:{self.region}:{self.account}:datasource/{self.resource_prefix}*', - f'arn:aws:quicksight:{self.region}:{self.account}:template/{self.resource_prefix}*', - f'arn:aws:quicksight:{self.region}:{self.account}:theme/{self.resource_prefix}*', + f'arn:aws:quicksight:{self.region}:{self.account}:*/{self.resource_prefix}-{self.team.groupUri}*' ], - effect=iam.Effect.ALLOW, ), ] diff --git a/backend/dataall/cdkproxy/stacks/policies/redshift.py b/backend/dataall/cdkproxy/stacks/policies/redshift.py deleted file mode 100644 index 1c02dee66..000000000 --- a/backend/dataall/cdkproxy/stacks/policies/redshift.py +++ /dev/null @@ -1,68 +0,0 @@ -from aws_cdk import aws_iam as iam - -from .service_policy import ServicePolicy - - -class Redshift(ServicePolicy): - def get_statements(self): - return [ - iam.PolicyStatement( - actions=[ - 'redshift:List*', - 'redshift:ModifySavedQuery', - 'redshift:CreateSavedQuery', - 'redshift:FetchResults', - 'redshift:ViewQueriesFromConsole', - 'redshift:CancelQuery', - 'redshift:Describe*', - 'redshift:ExecuteQuery', - 'redshift:DeleteSavedQueries', - 'redshift-data:ListTables', - 'redshift-data:ListTables', - 'redshift-data:GetStatementResult', - 'redshift-data:CancelStatement', - 'redshift-data:ListSchemas', - 'redshift-data:ExecuteStatement', - 'redshift-data:ListStatements', - 'redshift-data:ListDatabases', - 'redshift-data:DescribeStatement', - ], - resources=['*'], - effect=iam.Effect.ALLOW, - ), - iam.PolicyStatement( - actions=[ - 'redshift:DeleteCluster', - 'redshift:RejectDataShare', - 'redshift:CancelResize', - 'redshift:ModifyClusterIamRoles', - 'redshift:PauseCluster', - 'redshift:ResumeCluster', - 'redshift:CreateEventSubscription', - 'redshift:RebootCluster', - 'redshift:CreateClusterSnapshot', - 'redshift:DeleteClusterSnapshot', - 'redshift:AuthorizeDataShare', - 'redshift:CopyClusterSnapshot', - 'redshift:CreateCluster', - 'redshift:GetClusterCredentials', - 'redshift:JoinGroup', - 'redshift:ModifyCluster', - 'redshift:AssociateDataShareConsumer', - 'redshift:DeleteEventSubscription', - 'redshift:DeauthorizeDataShare', - 'redshift:ModifyEventSubscription', - 'redshift:DisassociateDataShareConsumer', - ], - resources=[ - f'arn:aws:redshift:{self.region}:{self.account}:dbgroup:{self.resource_prefix}*/*', - f'arn:aws:redshift:{self.region}:{self.account}:datashare:{self.resource_prefix}*/*', - f'arn:aws:redshift:{self.region}:{self.account}:dbuser:{self.resource_prefix}*/*', - f'arn:aws:redshift:{self.region}:{self.account}:snapshot:{self.resource_prefix}*/*', - f'arn:aws:redshift:{self.region}:{self.account}:cluster:{self.resource_prefix}*', - f'arn:aws:redshift:{self.region}:{self.account}:eventsubscription:{self.resource_prefix}*', - f'arn:aws:redshift:{self.region}:{self.account}:dbname:{self.resource_prefix}*/*', - ], - effect=iam.Effect.ALLOW, - ), - ] diff --git a/backend/dataall/cdkproxy/stacks/policies/sagemaker.py b/backend/dataall/cdkproxy/stacks/policies/sagemaker.py index fee698989..8d6a08d2b 100644 --- a/backend/dataall/cdkproxy/stacks/policies/sagemaker.py +++ b/backend/dataall/cdkproxy/stacks/policies/sagemaker.py @@ -3,9 +3,30 @@ class Sagemaker(ServicePolicy): + """ + Class including all permissions needed to work with Amazon SageMaker. + - Allow creation and management of SageMaker Notebooks only if tagged with team tag + - DO NOT allow creation of domain because this is handled in the environment stack + - DO NOT allow creation of user-profiles because this is handled in the ML Studio stack + - Allow management of domains and user-profiles tagged with team tag + - Allow any action besides the above listed ones on resources that are not notebooks, domains, apps and user-profiles + - Allow support permissions on ECR, Service Catalog and logging + """ def get_statements(self): statements = [ iam.PolicyStatement( + effect=iam.Effect.ALLOW, + actions=['sagemaker:AddTags'], + resources=['*'], + conditions={ + 'StringEquals': { + f'aws:ResourceTag/{self.tag_key}': [self.tag_value], + f'aws:RequestTag/{self.tag_key}': [self.tag_value], + }, + }, + ), + iam.PolicyStatement( + effect=iam.Effect.ALLOW, actions=[ 'sagemaker:List*', 'sagemaker:Describe*', @@ -15,66 +36,69 @@ def get_statements(self): 'sagemaker:RenderUiTemplate', 'sagemaker:GetSearchSuggestions', 'sagemaker:QueryLineage', + 'sagemaker:GetSagemakerServicecatalogPortfolioStatus', 'sagemaker:CreateNotebookInstanceLifecycleConfig', 'sagemaker:DeleteNotebookInstanceLifecycleConfig', - 'sagemaker:CreatePresignedDomainUrl' ], resources=['*'], ), + # SageMaker Notebooks permissions iam.PolicyStatement( - actions=['sagemaker:AddTags'], - resources=['*'], + # sid="SageMakerCreateTaggedResourcesNotebooks", + effect=iam.Effect.ALLOW, + actions=['sagemaker:CreateNotebookInstance'], + resources=[ + f'arn:aws:sagemaker:{self.region}:{self.account}:notebook-instance/{self.resource_prefix}*', + + ], conditions={ 'StringEquals': { + f'aws:RequestTag/{self.tag_key}': [self.tag_value], f'aws:ResourceTag/{self.tag_key}': [self.tag_value] - } + }, }, ), iam.PolicyStatement( - actions=['sagemaker:Delete*'], + # sid="SageMakerCreatePresignedNotebookInstanceUrl", + effect=iam.Effect.ALLOW, + actions=['sagemaker:CreatePresignedNotebookInstanceUrl'], resources=[ - f'arn:aws:sagemaker:{self.region}:{self.account}:notebook-instance/*', - f'arn:aws:sagemaker:{self.region}:{self.account}:algorithm/*', - f'arn:aws:sagemaker:{self.region}:{self.account}:model/*', - f'arn:aws:sagemaker:{self.region}:{self.account}:endpoint/*', - f'arn:aws:sagemaker:{self.region}:{self.account}:endpoint-config/*', - f'arn:aws:sagemaker:{self.region}:{self.account}:experiment/*', - f'arn:aws:sagemaker:{self.region}:{self.account}:experiment-trial/*', - f'arn:aws:sagemaker:{self.region}:{self.account}:experiment-group/*', - f'arn:aws:sagemaker:{self.region}:{self.account}:model-bias-job-definition/*', - f'arn:aws:sagemaker:{self.region}:{self.account}:model-package/*', - f'arn:aws:sagemaker:{self.region}:{self.account}:model-package-group/*', - f'arn:aws:sagemaker:{self.region}:{self.account}:model-quality-job-definition/*', - f'arn:aws:sagemaker:{self.region}:{self.account}:monitoring-schedule/*', - f'arn:aws:sagemaker:{self.region}:{self.account}:pipeline/*', - f'arn:aws:sagemaker:{self.region}:{self.account}:project/*', - f'arn:aws:sagemaker:{self.region}:{self.account}:app/*' + f'arn:aws:sagemaker:{self.region}:{self.account}:notebook-instance/{self.resource_prefix}*', ], conditions={ 'StringEquals': { - f'aws:ResourceTag/{self.tag_key}': [self.tag_value] - } + f'sagemaker:ResourceTag/{self.tag_key}': [self.tag_value] + }, }, ), iam.PolicyStatement( - actions=['sagemaker:CreateApp'], - resources=['*'] - ), - iam.PolicyStatement( - actions=['sagemaker:Create*'], - resources=['*'], + # sid="SageMakerManageResourcesNotebooks", + effect=iam.Effect.ALLOW, + actions=[ + 'sagemaker:*NotebookInstance', + ], + resources=[ + f'arn:aws:sagemaker:{self.region}:{self.account}:notebook-instance/{self.resource_prefix}*', + ], + conditions={ + 'StringEquals': { + f'aws:ResourceTag/{self.tag_key}': [self.tag_value] + }, + }, ), + # SageMaker Studio permissions iam.PolicyStatement( - actions=['sagemaker:Start*', 'sagemaker:Stop*'], + # sid="SageMakerManageTeamResourcesMLStudio", + effect=iam.Effect.ALLOW, + actions=[ + 'sagemaker:DeleteDomain', + 'sagemaker:DeleteUserProfile', + 'sagemaker:UpdateDomain', + 'sagemaker:UpdateUserProfile', + ], resources=[ - f'arn:aws:sagemaker:{self.region}:{self.account}:notebook-instance/*', - f'arn:aws:sagemaker:{self.region}:{self.account}:monitoring-schedule/*', - f'arn:aws:sagemaker:{self.region}:{self.account}:pipeline/*', - f'arn:aws:sagemaker:{self.region}:{self.account}:training-job/*', - f'arn:aws:sagemaker:{self.region}:{self.account}:processing-job/*', - f'arn:aws:sagemaker:{self.region}:{self.account}:hyper-parameter-tuning-job/*', - f'arn:aws:sagemaker:{self.region}:{self.account}:transform-job/*', - f'arn:aws:sagemaker:{self.region}:{self.account}:automl-job/*' + f'arn:aws:sagemaker:{self.region}:{self.account}:domain/*', + f'arn:aws:sagemaker:{self.region}:{self.account}:user-profile/*/*', ], conditions={ 'StringEquals': { @@ -82,59 +106,100 @@ def get_statements(self): } }, ), + # For everything that is not domains and user-profiles we allow permissions if the resource is tagged + # Deny on creation of domains and users, generic allow for prefixed and tagged resources + # allow for apps (cannot be tagged) and special tag needed for CreatePresignedDomainUrl iam.PolicyStatement( - actions=['sagemaker:Update*'], + # sid="SageMakerDenyCreateDomainsUsers", + effect=iam.Effect.DENY, + actions=['sagemaker:Create*'], resources=[ - f'arn:aws:sagemaker:{self.region}:{self.account}:notebook-instance/*', - f'arn:aws:sagemaker:{self.region}:{self.account}:notebook-instance-lifecycle-config/*', - f'arn:aws:sagemaker:{self.region}:{self.account}:studio-lifecycle-config/*', - f'arn:aws:sagemaker:{self.region}:{self.account}:endpoint/*', - f'arn:aws:sagemaker:{self.region}:{self.account}:pipeline/*', - f'arn:aws:sagemaker:{self.region}:{self.account}:pipeline-execution/*', - f'arn:aws:sagemaker:{self.region}:{self.account}:monitoring-schedule/*', - f'arn:aws:sagemaker:{self.region}:{self.account}:experiment/*', - f'arn:aws:sagemaker:{self.region}:{self.account}:experiment-trial/*', - f'arn:aws:sagemaker:{self.region}:{self.account}:experiment-trial-component/*', - f'arn:aws:sagemaker:{self.region}:{self.account}:model-package/*', - f'arn:aws:sagemaker:{self.region}:{self.account}:training-job/*', - f'arn:aws:sagemaker:{self.region}:{self.account}:project/*' + f'arn:aws:sagemaker:{self.region}:{self.account}:domain/*', + f'arn:aws:sagemaker:{self.region}:{self.account}:user-profile/*/*', + ], + ), + iam.PolicyStatement( + # sid="SageMakerCreateGenericResources", + effect=iam.Effect.ALLOW, + actions=['sagemaker:Create*'], + not_resources=[ + f'arn:aws:sagemaker:{self.region}:{self.account}:*/{self.resource_prefix}*', + f'arn:aws:sagemaker:{self.region}:{self.account}:*/{self.resource_prefix}*/*', ], conditions={ 'StringEquals': { - f'aws:ResourceTag/{self.tag_key}': [self.tag_value] - } + f'aws:ResourceTag/{self.tag_key}': [self.tag_value], + f'aws:RequestTag/{self.tag_key}': [self.tag_value], + }, }, ), iam.PolicyStatement( - actions=['sagemaker:InvokeEndpoint', 'sagemaker:InvokeEndpointAsync'], + # sid="SageMakerApps", + effect=iam.Effect.ALLOW, + actions=[ + 'sagemaker:CreateApp', + 'sagemaker:DeleteApp' + ], + resources=[f'arn:aws:sagemaker:{self.region}:{self.account}:app/*/*'] + ), + iam.PolicyStatement( + # sid="SageMakerCreatePresignedDomainUrl", + effect=iam.Effect.ALLOW, + actions=['sagemaker:CreatePresignedDomainUrl'], + resources=[f'arn:aws:sagemaker:{self.region}:{self.account}:user-profile/*/*'], + conditions={ + 'StringEquals': { + f'sagemaker:ResourceTag/{self.tag_key}': [self.tag_value] + }, + }, + ), + iam.PolicyStatement( + # sid="SageMakerManageGenericResources", + effect=iam.Effect.ALLOW, + actions=[ + 'sagemaker:Delete*', + 'sagemaker:Update*', + 'sagemaker:Start*', + 'sagemaker:Stop*', + 'sagemaker:InvokeEndpoint', + 'sagemaker:InvokeEndpointAsync' + ], resources=[ - f'arn:aws:sagemaker:{self.region}:{self.account}:endpoint/*' + f'arn:aws:sagemaker:{self.region}:{self.account}:*/{self.resource_prefix}*', + f'arn:aws:sagemaker:{self.region}:{self.account}:*/{self.resource_prefix}*/*', ], conditions={ 'StringEquals': { - f'aws:ResourceTag/{self.tag_key}': [self.tag_value] - } + f'aws:ResourceTag/{self.tag_key}': [self.tag_value], + }, }, ), + # Logging and support permissions iam.PolicyStatement( + # sid="SageMakerLogging", + effect=iam.Effect.ALLOW, actions=[ 'logs:CreateLogGroup', 'logs:CreateLogStream', - 'logs:PutLogEvents'], + 'logs:PutLogEvents' + ], resources=[ f'arn:aws:logs:{self.region}:{self.account}:log-group:/aws/sagemaker/*', f'arn:aws:logs:{self.region}:{self.account}:log-group:/aws/sagemaker/*:log-stream:*', ] ), iam.PolicyStatement( + # sid="SageMakerSupport", + effect=iam.Effect.ALLOW, actions=[ 'ecr:GetAuthorizationToken', 'ecr:BatchCheckLayerAvailability', 'ecr:GetDownloadUrlForLayer', - 'ecr:BatchGetImage'], - resources=[ - '*' - ] + 'ecr:BatchGetImage', + 'servicecatalog:ListAcceptedPortfolioShares', + 'servicecatalog:ListPrincipalsForPortfolio', + ], + resources=['*'] ) ] return statements diff --git a/backend/dataall/cdkproxy/stacks/policies/secretsmanager.py b/backend/dataall/cdkproxy/stacks/policies/secretsmanager.py new file mode 100644 index 000000000..54604542a --- /dev/null +++ b/backend/dataall/cdkproxy/stacks/policies/secretsmanager.py @@ -0,0 +1,51 @@ +from .service_policy import ServicePolicy +from aws_cdk import aws_iam + + +class SecretsManager(ServicePolicy): + """ + Class including all permissions needed to work with AWS Secrets Manager. + It allows data.all users to: + - + """ + + def get_statements(self): + statements = [ + aws_iam.PolicyStatement( + # sid="SecretsReadAll", + effect=aws_iam.Effect.ALLOW, + actions=["secretsmanager:ListSecrets"], + resources=["*"], + ), + aws_iam.PolicyStatement( + # sid='CreateTeamSecrets', + effect=aws_iam.Effect.ALLOW, + actions=[ + "secretsmanager:CreateSecret", + "secretsmanager:TagResource", + ], + resources=[f"arn:aws:secretsmanager:*:{self.account}:secret:{self.resource_prefix}*"], + conditions={ + 'StringEquals': { + f'aws:RequestTag/{self.tag_key}': [self.tag_value] + } + }, + ), + aws_iam.PolicyStatement( + # sid='ManageTeamSecrets', + effect=aws_iam.Effect.ALLOW, + actions=[ + "secretsmanager:GetSecretValue", + "secretsmanager:DescribeSecret", + "secretsmanager:DeleteSecret", + "secretsmanager:UpdateSecret" + ], + resources=[f"arn:aws:secretsmanager:*:{self.account}:secret:{self.resource_prefix}*"], + conditions={ + 'StringEquals': { + f'aws:ResourceTag/{self.tag_key}': [self.tag_value] + } + }, + ) + ] + return statements diff --git a/backend/dataall/cdkproxy/stacks/policies/service_policy.py b/backend/dataall/cdkproxy/stacks/policies/service_policy.py index 007ee0044..abdc36ddf 100644 --- a/backend/dataall/cdkproxy/stacks/policies/service_policy.py +++ b/backend/dataall/cdkproxy/stacks/policies/service_policy.py @@ -4,11 +4,15 @@ from aws_cdk import aws_iam from ....db import permissions +from ....db import models logger = logging.getLogger() class ServicePolicy(object): + """ + Generic Class to define AWS-services policies added to an IAM role + """ def __init__( self, stack, @@ -20,6 +24,8 @@ def __init__( tag_key, tag_value, resource_prefix, + environment: models.Environment, + team: models.EnvironmentGroup, permissions, ): self.stack = stack @@ -30,6 +36,8 @@ def __init__( self.tag_key = tag_key self.tag_value = tag_value self.resource_prefix = resource_prefix + self.environment = environment + self.team = team self.permissions = permissions self.role_name = role_name @@ -37,69 +45,77 @@ def generate_policies(self) -> [aws_iam.ManagedPolicy]: """ Creates aws_iam.Policy based on declared subclasses of Policy object """ - from .redshift import Redshift + from ._lambda import Lambda + from .athena import Athena + from .cloudformation import Cloudformation + from .aws_cicd import AwsCICD from .databrew import Databrew - from .lakeformation import LakeFormation + from .glue import Glue, GlueCatalog + from .quicksight import QuickSight from .sagemaker import Sagemaker - from ._lambda import Lambda - from .codestar import CodeStar - from .glue import Glue + from .secretsmanager import SecretsManager + from .sqs import SQS + from .ssm import SSM from .stepfunctions import StepFunctions - from .quicksight import QuickSight - from .cloudformation import Cloudformation policies: [aws_iam.ManagedPolicy] = [ - # This policy covers the minumum actions required independent - # of the service permissions given to the group. - # The 'glue:GetTable', 'glue:GetPartitions' and - # 'lakeformation:GetDataAccess' actions are additionally - # required for the Worksheet/Athena feature. + # This policy adds some minimum actions required independent from the services enabled for the group aws_iam.ManagedPolicy( self.stack, self.id, managed_policy_name=f'{self.id}-0', statements=[ aws_iam.PolicyStatement( + sid="ListActions", + effect=aws_iam.Effect.ALLOW, actions=[ - 'athena:ListEngineVersions', - 'athena:ListDataCatalogs', - 'athena:ListWorkGroups', - 'glue:GetTable', - 'glue:GetPartitions', - 'lakeformation:GetDataAccess', - 'kms:Decrypt', - 'kms:DescribeKey', - 'kms:Encrypt', - 'kms:ReEncrypt*', - 'kms:GenerateDataKey*', - 'kms:CreateGrant', - 'secretsmanager:GetSecretValue', - 'secretsmanager:DescribeSecret', - 'secretsmanager:ListSecrets', - 'ssm:GetParametersByPath', - 'ssm:GetParameters', - 'ssm:GetParameter', 'ec2:Describe*', 'logs:Describe*', 'logs:Get*', 'logs:List*', + 'cloudwatch:GetMetricData', + 'events:ListRuleNamesByTarget', 'iam:list*', 'iam:Get*', + 'iam:CreatePolicy', + 'iam:CreateServiceLinkedRole', 'tag:GetResources', - 'tag:TagResources', - 'tag:UntagResources', 'tag:GetTagValues', 'tag:GetTagKeys', ], resources=['*'], ), aws_iam.PolicyStatement( + sid="CreateServiceRole", + actions=[ + 'iam:CreateRole', + ], + resources=[ + f'arn:aws:iam::{self.account}:role/service-role/*' + ] + ), + aws_iam.PolicyStatement( + sid="PassRole", actions=[ 'iam:PassRole', ], resources=[ f'arn:aws:iam::{self.account}:role/{self.role_name}' ], + conditions={ + "StringEquals": { + "iam:PassedToService": [ + "glue.amazonaws.com", + "lambda.amazonaws.com", + "sagemaker.amazonaws.com", + "states.amazonaws.com", + "sagemaker.amazonaws.com", + "databrew.amazonaws.com", + "codebuild.amazonaws.com", + "codepipeline.amazonaws.com" + ] + } + } ), ], ) @@ -107,11 +123,8 @@ def generate_policies(self) -> [aws_iam.ManagedPolicy]: services = ServicePolicy.__subclasses__() - if permissions.CREATE_REDSHIFT_CLUSTER not in self.permissions: - services.remove(Redshift) if permissions.CREATE_DATASET not in self.permissions: services.remove(Databrew) - services.remove(LakeFormation) services.remove(Glue) if ( permissions.CREATE_NOTEBOOK not in self.permissions @@ -120,7 +133,7 @@ def generate_policies(self) -> [aws_iam.ManagedPolicy]: services.remove(Sagemaker) if permissions.CREATE_PIPELINE not in self.permissions: services.remove(Lambda) - services.remove(CodeStar) + services.remove(AwsCICD) services.remove(StepFunctions) if permissions.CREATE_DASHBOARD not in self.permissions: services.remove(QuickSight) @@ -130,7 +143,7 @@ def generate_policies(self) -> [aws_iam.ManagedPolicy]: statements.extend(service.get_statements(self)) statements_chunks: list = [ - statements[i : i + 8] for i in range(0, len(statements), 8) + statements[i : i + 10] for i in range(0, len(statements), 10) ] for index, chunk in enumerate(statements_chunks): diff --git a/backend/dataall/cdkproxy/stacks/policies/sqs.py b/backend/dataall/cdkproxy/stacks/policies/sqs.py new file mode 100644 index 000000000..fcfe43dda --- /dev/null +++ b/backend/dataall/cdkproxy/stacks/policies/sqs.py @@ -0,0 +1,57 @@ +from .service_policy import ServicePolicy +from aws_cdk import aws_iam + + +class SQS(ServicePolicy): + """ + Class including all permissions needed to work with AWS SQS queues. + """ + def get_statements(self): + + statements = [ + aws_iam.PolicyStatement( + # sid='SQSRead', + effect=aws_iam.Effect.ALLOW, + actions=[ + "sqs:ListQueues", + ], + resources=["*"] + ), + aws_iam.PolicyStatement( + # sid='SQSCreate', + effect=aws_iam.Effect.ALLOW, + actions=[ + "sqs:CreateQueue", + "sqs:TagQueue", + ], + resources=[f"arn:aws:sqs:*:{self.account}:{self.resource_prefix}*"], + conditions={ + 'StringEquals': { + f'aws:RequestTag/{self.tag_key}': [self.tag_value] + } + } + ), + aws_iam.PolicyStatement( + # sid='SQSManageTeamQueue', + effect=aws_iam.Effect.ALLOW, + actions=[ + "sqs:GetQueueUrl", + "sqs:DeleteQueue", + "sqs:GetQueueAttributes", + "sqs:SetQueueAttributes", + "sqs:ListQueueTags", + "sqs:ListDeadLetterSourceQueues", + "sqs:SendMessage", + "sqs:ReceiveMessage", + "sqs:DeleteMessage", + "sqs:ChangeMessageVisibility", + ], + resources=[f"arn:aws:sqs:*:{self.account}:{self.resource_prefix}*"], + conditions={ + 'StringEquals': { + f'aws:ResourceTag/{self.tag_key}': [self.tag_value] + } + } + ) + ] + return statements diff --git a/backend/dataall/cdkproxy/stacks/policies/ssm.py b/backend/dataall/cdkproxy/stacks/policies/ssm.py new file mode 100644 index 000000000..8d86de43a --- /dev/null +++ b/backend/dataall/cdkproxy/stacks/policies/ssm.py @@ -0,0 +1,54 @@ +from .service_policy import ServicePolicy +from aws_cdk import aws_iam + + +class SSM(ServicePolicy): + """ + Class including all permissions needed to work with AWS SSM Parameter Store. + """ + + def get_statements(self): + statements = [ + aws_iam.PolicyStatement( + # sid="SSMReadAll", + effect=aws_iam.Effect.ALLOW, + actions=[ + "ssm:DescribeParameters", + ], + resources=["*"], + ), + aws_iam.PolicyStatement( + # sid='CreateTeamParameters', + effect=aws_iam.Effect.ALLOW, + actions=[ + 'ssm:AddTagsToResource' + ], + resources=[f"arn:aws:ssm:*:{self.account}:parameter/{self.resource_prefix}*"], + conditions={ + 'StringEquals': { + f'aws:RequestTag/{self.tag_key}': [self.tag_value] + } + }, + ), + aws_iam.PolicyStatement( + # sid='ManageTeamParameters', + effect=aws_iam.Effect.ALLOW, + actions=[ + 'ssm:PutParameter', + 'ssm:DeleteParameter', + 'ssm:GetParameterHistory', + 'ssm:GetParametersByPath', + 'ssm:GetParameters', + 'ssm:GetParameter', + 'ssm:DeleteParameters', + 'ssm:ListTagsForResource', + ], + resources=[f"arn:aws:ssm:*:{self.account}:parameter/{self.resource_prefix}*"], + conditions={ + 'StringEquals': { + f'aws:ResourceTag/{self.tag_key}': [self.tag_value] + } + }, + ) + ] + return statements diff --git a/backend/dataall/cdkproxy/stacks/policies/stepfunctions.py b/backend/dataall/cdkproxy/stacks/policies/stepfunctions.py index d8611b001..a80c29f46 100644 --- a/backend/dataall/cdkproxy/stacks/policies/stepfunctions.py +++ b/backend/dataall/cdkproxy/stacks/policies/stepfunctions.py @@ -1,30 +1,61 @@ -from aws_cdk import aws_iam as iam +from aws_cdk import aws_iam as aws_iam from .service_policy import ServicePolicy class StepFunctions(ServicePolicy): + """ + Class including all permissions needed to work with AWS Step Functions. + """ def get_statements(self): return [ - iam.PolicyStatement( + aws_iam.PolicyStatement( + # sid='ListMonitorStepFunctions', + effect=aws_iam.Effect.ALLOW, actions=[ - 'states:SendTaskSuccess', 'states:ListStateMachines', - 'states:SendTaskFailure', 'states:ListActivities', + 'states:SendTaskFailure', + 'states:SendTaskSuccess', 'states:SendTaskHeartbeat', ], resources=['*'], - effect=iam.Effect.ALLOW, ), - iam.PolicyStatement( - actions=['states:*'], + aws_iam.PolicyStatement( + # sid='CreateTeamStepFunctions', + effect=aws_iam.Effect.ALLOW, + actions=[ + 'states:CreateStateMachine', + 'states:UpdateStateMachine', + 'states:CreateActivity', + 'states:TagResource' + ], + resources=[ + f'arn:aws:states:{self.region}:{self.account}:stateMachine:{self.resource_prefix}*', + f'arn:aws:states:{self.region}:{self.account}:activity:{self.resource_prefix}*', + ], + conditions={ + 'StringEquals': { + f'aws:RequestTag/{self.tag_key}': [self.tag_value] + } + }, + ), + aws_iam.PolicyStatement( + # sid='ManageTeamStepFunctions', + effect=aws_iam.Effect.ALLOW, + actions=[ + 'states:Delete*', + 'states:Describe*', + 'states:Get*', + 'states:List*', + 'states:Start*', + 'states:StopExecution' + ], resources=[ - f'arn:aws:states:{self.region}:{self.account}:execution:{self.resource_prefix}:*', - f'arn:aws:states:{self.region}:{self.account}:activity:{self.resource_prefix}', - f'arn:aws:states:{self.region}:{self.account}:stateMachine:{self.resource_prefix}', + f'arn:aws:states:{self.region}:{self.account}:execution:{self.resource_prefix}*:*', + f'arn:aws:states:{self.region}:{self.account}:activity:{self.resource_prefix}*', + f'arn:aws:states:{self.region}:{self.account}:stateMachine:{self.resource_prefix}*' ], - effect=iam.Effect.ALLOW, conditions={ 'StringEquals': { f'aws:ResourceTag/{self.tag_key}': [self.tag_value] diff --git a/backend/dataall/cdkproxy/stacks/sagemakerstudio.py b/backend/dataall/cdkproxy/stacks/sagemakerstudio.py index 491a5359a..e1767b5cd 100644 --- a/backend/dataall/cdkproxy/stacks/sagemakerstudio.py +++ b/backend/dataall/cdkproxy/stacks/sagemakerstudio.py @@ -31,7 +31,7 @@ def __init__( self, stack, id, - environment: models.Environment + environment: models.Environment, ): self.stack = stack self.id = id @@ -146,14 +146,48 @@ def create_sagemaker_domain_resources(self, sagemaker_principals): 'SagemakerDomainKmsKey', alias='SagemakerStudioDomain', enable_key_rotation=True, + admins=[ + iam.ArnPrincipal(self.environment.CDKRoleArn) + ], policy=iam.PolicyDocument( assign_sids=True, statements=[ iam.PolicyStatement( - resources=['*'], + actions=[ + "kms:Encrypt", + "kms:Decrypt", + "kms:ReEncrypt*", + "kms:GenerateDataKey*", + "kms:CreateGrant" + ], + effect=iam.Effect.ALLOW, + principals=[ + sagemaker_domain_role, + iam.ArnPrincipal(self.environment.CDKRoleArn) + ] + sagemaker_principals, + resources=["*"], + conditions={ + "StringEquals": { + "kms:ViaService": [ + f"sagemaker.{self.environment.region}.amazonaws.com", + f"elasticfilesystem.{self.environment.region}.amazonaws.com", + f"ec2.{self.environment.region}.amazonaws.com", + f"s3.{self.environment.region}.amazonaws.com" + ] + } + } + ), + iam.PolicyStatement( + actions=[ + "kms:DescribeKey", + "kms:List*", + "kms:GetKeyPolicy", + ], effect=iam.Effect.ALLOW, - principals=[iam.AccountPrincipal(account_id=self.environment.AwsAccountId), sagemaker_domain_role] + sagemaker_principals, - actions=['kms:*'], + principals=[ + sagemaker_domain_role, + ] + sagemaker_principals, + resources=["*"], ) ], ), diff --git a/backend/dataall/db/api/dataset.py b/backend/dataall/db/api/dataset.py index 3ea30ed08..f913f7e3e 100644 --- a/backend/dataall/db/api/dataset.py +++ b/backend/dataall/db/api/dataset.py @@ -149,8 +149,7 @@ def _set_dataset_aws_resources(dataset: models.Dataset, data, environment): ).build_compliant_name() dataset.GlueDatabaseName = data.get('glueDatabaseName') or glue_db_name - kms_alias = bucket_name - dataset.KmsAlias = data.get('KmsKeyId') or kms_alias + dataset.KmsAlias = bucket_name iam_role_name = NamingConventionService( target_uri=dataset.datasetUri, @@ -170,13 +169,20 @@ def _set_dataset_aws_resources(dataset: models.Dataset, data, environment): dataset.IAMDatasetAdminRoleArn = iam_role_arn dataset.IAMDatasetAdminUserArn = iam_role_arn - dataset.GlueCrawlerName = f'{dataset.S3BucketName}-{dataset.datasetUri}-crawler' - dataset.GlueProfilingJobName = f'{dataset.S3BucketName}-{dataset.datasetUri}-profiler' + glue_etl_basename = NamingConventionService( + target_uri=dataset.datasetUri, + target_label=dataset.label, + pattern=NamingConventionPattern.GLUE_ETL, + resource_prefix=environment.resourcePrefix, + ).build_compliant_name() + + dataset.GlueCrawlerName = f"{glue_etl_basename}-crawler" + dataset.GlueProfilingJobName = f"{glue_etl_basename}-profiler" dataset.GlueProfilingTriggerSchedule = None - dataset.GlueProfilingTriggerName = f'{dataset.S3BucketName}-{dataset.datasetUri}-trigger' - dataset.GlueDataQualityJobName = f'{dataset.S3BucketName}-{dataset.datasetUri}-dataquality' + dataset.GlueProfilingTriggerName = f"{glue_etl_basename}-trigger" + dataset.GlueDataQualityJobName = f"{glue_etl_basename}-dataquality" dataset.GlueDataQualitySchedule = None - dataset.GlueDataQualityTriggerName = f'{dataset.S3BucketName}-{dataset.datasetUri}-dqtrigger' + dataset.GlueDataQualityTriggerName = f"{glue_etl_basename}-dqtrigger" return dataset @staticmethod @@ -326,6 +332,9 @@ def update_dataset( for k in data.keys(): if k != 'stewards': setattr(dataset, k, data.get(k)) + if data.get('KmsAlias') not in ["Undefined"]: + dataset.KmsAlias = "SSE-S3" if data.get('KmsAlias') == "" else data.get('KmsAlias') + dataset.importedKmsKey = False if data.get('KmsAlias') == "" else True if data.get('stewards') and data.get('stewards') != dataset.stewards: if data.get('stewards') != dataset.SamlAdminGroupName: Dataset.transfer_stewardship_to_new_stewards( @@ -358,6 +367,26 @@ def update_dataset( @staticmethod def transfer_stewardship_to_owners(session, dataset): + # Remove Steward Resource Policy on Dataset + env = Environment.get_environment_by_uri(session, dataset.environmentUri) + if dataset.stewards != env.SamlGroupName: + ResourcePolicy.delete_resource_policy( + session=session, + group=dataset.stewards, + resource_uri=dataset.datasetUri, + ) + + # Remove Steward Resource Policy on Dataset Tables + dataset_tables = [t.tableUri for t in Dataset.get_dataset_tables(session, dataset.datasetUri)] + for tableUri in dataset_tables: + if dataset.stewards != env.SamlGroupName: + ResourcePolicy.delete_resource_policy( + session=session, + group=dataset.stewards, + resource_uri=tableUri, + ) + + # Remove Steward Resource Policy on Dataset Share Objects dataset_shares = ( session.query(models.ShareObject) .filter(models.ShareObject.datasetUri == dataset.datasetUri) @@ -365,19 +394,17 @@ def transfer_stewardship_to_owners(session, dataset): ) if dataset_shares: for share in dataset_shares: - ResourcePolicy.attach_resource_policy( + ResourcePolicy.delete_resource_policy( session=session, - group=dataset.SamlAdminGroupName, - permissions=permissions.SHARE_OBJECT_APPROVER, + group=dataset.stewards, resource_uri=share.shareUri, - resource_type=models.ShareObject.__name__, ) return dataset @staticmethod def transfer_stewardship_to_new_stewards(session, dataset, new_stewards): env = Environment.get_environment_by_uri(session, dataset.environmentUri) - if dataset.stewards != env.SamlGroupName: + if dataset.stewards != dataset.SamlAdminGroupName: ResourcePolicy.delete_resource_policy( session=session, group=dataset.stewards, @@ -393,7 +420,7 @@ def transfer_stewardship_to_new_stewards(session, dataset, new_stewards): dataset_tables = [t.tableUri for t in Dataset.get_dataset_tables(session, dataset.datasetUri)] for tableUri in dataset_tables: - if dataset.stewards != env.SamlGroupName: + if dataset.stewards != dataset.SamlAdminGroupName: ResourcePolicy.delete_resource_policy( session=session, group=dataset.stewards, @@ -421,11 +448,12 @@ def transfer_stewardship_to_new_stewards(session, dataset, new_stewards): resource_uri=share.shareUri, resource_type=models.ShareObject.__name__, ) - ResourcePolicy.delete_resource_policy( - session=session, - group=dataset.stewards, - resource_uri=share.shareUri, - ) + if dataset.stewards != dataset.SamlAdminGroupName: + ResourcePolicy.delete_resource_policy( + session=session, + group=dataset.stewards, + resource_uri=share.shareUri, + ) return dataset @staticmethod diff --git a/backend/dataall/db/api/share_object.py b/backend/dataall/db/api/share_object.py index ff1c426d7..b41548a62 100644 --- a/backend/dataall/db/api/share_object.py +++ b/backend/dataall/db/api/share_object.py @@ -343,6 +343,7 @@ def create_share_object( groupUri = data['groupUri'] itemUri = data.get('itemUri') itemType = data.get('itemType') + requestPurpose = data.get('requestPurpose') dataset: models.Dataset = data.get( 'dataset', api.Dataset.get_dataset_by_uri(session, datasetUri) @@ -411,6 +412,7 @@ def create_share_object( principalType=principalType, principalIAMRoleName=principalIAMRoleName, status=ShareObjectStatus.Draft.value, + requestPurpose=requestPurpose ) session.add(share) session.commit() @@ -470,8 +472,7 @@ def create_share_object( # Attaching REQUESTER permissions to: # requester group (groupUri) - # dataset.SamlAdminGroupName - # environment.SamlGroupName + # environment.SamlGroupName (if not dataset admins) ResourcePolicy.attach_resource_policy( session=session, group=groupUri, @@ -479,30 +480,24 @@ def create_share_object( resource_uri=share.shareUri, resource_type=models.ShareObject.__name__, ) + + # Attaching APPROVER permissions to: + # dataset.stewards (includes the dataset Admins) ResourcePolicy.attach_resource_policy( session=session, group=dataset.SamlAdminGroupName, - permissions=permissions.SHARE_OBJECT_REQUESTER, + permissions=permissions.SHARE_OBJECT_APPROVER, resource_uri=share.shareUri, resource_type=models.ShareObject.__name__, ) - if dataset.SamlAdminGroupName != environment.SamlGroupName: + if dataset.stewards != dataset.SamlAdminGroupName: ResourcePolicy.attach_resource_policy( session=session, - group=environment.SamlGroupName, - permissions=permissions.SHARE_OBJECT_REQUESTER, + group=dataset.stewards, + permissions=permissions.SHARE_OBJECT_APPROVER, resource_uri=share.shareUri, resource_type=models.ShareObject.__name__, ) - # Attaching REQUESTER permissions to: - # dataset.stewards (includes the dataset Admins) - ResourcePolicy.attach_resource_policy( - session=session, - group=dataset.stewards, - permissions=permissions.SHARE_OBJECT_APPROVER, - resource_uri=share.shareUri, - resource_type=models.ShareObject.__name__, - ) return share @staticmethod @@ -607,9 +602,42 @@ def approve_share_object( resource_type=models.DatasetTable.__name__, ) + share.rejectPurpose = "" + session.commit() + api.Notification.notify_share_object_approval(session, username, dataset, share) return share + @staticmethod + @has_resource_perm(permissions.SUBMIT_SHARE_OBJECT) + def update_share_request_purpose( + session, + username: str, + groups: [str], + uri: str, + data: dict = None, + check_perm: bool = False, + ) -> models.ShareObject: + share = ShareObject.get_share_by_uri(session, uri) + share.requestPurpose = data.get("requestPurpose") + session.commit() + return True + + @staticmethod + @has_resource_perm(permissions.REJECT_SHARE_OBJECT) + def update_share_reject_purpose( + session, + username: str, + groups: [str], + uri: str, + data: dict = None, + check_perm: bool = False, + ) -> models.ShareObject: + share = ShareObject.get_share_by_uri(session, uri) + share.rejectPurpose = data.get("rejectPurpose") + session.commit() + return True + @staticmethod @has_resource_perm(permissions.REJECT_SHARE_OBJECT) def reject_share_object( @@ -624,7 +652,6 @@ def reject_share_object( share = ShareObject.get_share_by_uri(session, uri) dataset = api.Dataset.get_dataset_by_uri(session, share.datasetUri) share_items_states = ShareObject.get_share_items_states(session, uri) - Share_SM = ShareObjectSM(share.status) new_share_state = Share_SM.run_transition(ShareObjectActions.Reject.value) @@ -640,6 +667,11 @@ def reject_share_object( group=share.groupUri, resource_uri=dataset.datasetUri, ) + + # Update Reject Purpose + share.rejectPurpose = data.get("rejectPurpose") + session.commit() + api.Notification.notify_share_object_rejection(session, username, dataset, share) return share @@ -1031,6 +1063,7 @@ def list_user_received_share_requests( f'{{{username}}}' ), models.Dataset.stewards.in_(groups), + models.Dataset.SamlAdminGroupName.in_(groups), ) ) ) diff --git a/backend/dataall/db/connection.py b/backend/dataall/db/connection.py index 77a031461..8b5016b50 100644 --- a/backend/dataall/db/connection.py +++ b/backend/dataall/db/connection.py @@ -29,19 +29,19 @@ def __init__(self, dbconfig: DbConfig): dbconfig.url, echo=False, pool_size=1, - connect_args={'options': f"-csearch_path={dbconfig.params['schema']}"}, + connect_args={'options': f"-csearch_path={dbconfig.schema}"}, ) try: if not self.engine.dialect.has_schema( - self.engine, dbconfig.params['schema'] + self.engine, dbconfig.schema ): log.info( - f"Schema not found - init the schema {dbconfig.params['schema']}" + f"Schema not found - init the schema {dbconfig.schema}" ) self.engine.execute( - sqlalchemy.schema.CreateSchema(dbconfig.params['schema']) + sqlalchemy.schema.CreateSchema(dbconfig.schema) ) - log.info('-- Using schema: %s --', dbconfig.params['schema']) + log.info('-- Using schema: %s --', dbconfig.schema) except Exception as e: log.error(f'Could not create schema: {e}') @@ -124,10 +124,12 @@ def get_engine(envname=ENVNAME): creds = json.loads(db_credentials_string['SecretString']) user = creds['username'] pwd = creds['password'] + host = param_store.get_parameter(env=envname, path='aurora/hostname') + database = param_store.get_parameter(env=envname, path='aurora/db') + db_params = { - 'host': param_store.get_parameter(env=envname, path='aurora/hostname'), - 'port': param_store.get_parameter(env=envname, path='aurora/port'), - 'db': param_store.get_parameter(env=envname, path='aurora/db'), + 'host': host, + 'db': database, 'user': user, 'pwd': pwd, 'schema': schema, @@ -136,7 +138,6 @@ def get_engine(envname=ENVNAME): hostname = 'db' if envname == 'dkrcompose' else 'localhost' db_params = { 'host': hostname, - 'port': '5432', 'db': 'dataall', 'user': 'postgres', 'pwd': 'docker', diff --git a/backend/dataall/db/dbconfig.py b/backend/dataall/db/dbconfig.py index ca20268e9..667ec9513 100644 --- a/backend/dataall/db/dbconfig.py +++ b/backend/dataall/db/dbconfig.py @@ -1,23 +1,59 @@ +import os +import re + +_SANITIZE_WORD_REGEX = r"[^\w]" # A-Za-z0-9_ +_SANITIZE_HOST_REGEX = r"[^\w.-]" +_SANITIZE_PWD_REGEX = r"[\"\s%+~`#$&*()|\[\]{}:;<>?!'/]+" +_AURORA_HOST_SUFFIX = "rds.amazonaws.com" +_POSTGRES_MAX_LEN = 63 +_MAX_HOST_LENGTH = 253 + +_envname = os.getenv('envname', 'local') + + class DbConfig: - def __init__(self, **kwargs): - self.params = kwargs - self.url = f"postgresql+pygresql://{self.params['user']}:{self.params['pwd']}@{self.params['host']}/{self.params['db']}" + def __init__(self, user: str, pwd: str, host: str, db: str, schema: str): + for param in (user, db, schema): + if len(param) > _POSTGRES_MAX_LEN: + raise ValueError( + f"PostgreSQL doesn't allow values more than 63 characters" + f" parameters {user}, {db}, {schema}" + ) + + if len(host) > _MAX_HOST_LENGTH: + raise ValueError(f"Hostname is too long: {host}") + + if _envname not in ['local', 'pytest', 'dkrcompose'] and not host.lower().endswith(_AURORA_HOST_SUFFIX): + raise ValueError(f"Unknown host {host} for the rds") + + self.user = self._sanitize_and_compare(_SANITIZE_WORD_REGEX, user, "username") + self.host = self._sanitize_and_compare(_SANITIZE_HOST_REGEX, host, "host") + self.db = self._sanitize_and_compare(_SANITIZE_WORD_REGEX, db, "database name") + self.schema = self._sanitize_and_compare(_SANITIZE_WORD_REGEX, schema, "schema") + pwd = self._sanitize_and_compare(_SANITIZE_PWD_REGEX, pwd, "password") + self.url = f"postgresql+pygresql://{self.user}:{pwd}@{self.host}/{self.db}" def __str__(self): - lines = [] - lines.append(' DbConfig >') + lines = [' DbConfig >'] hr = ' '.join(['+', ''.ljust(10, '-'), '+', ''.ljust(65, '-'), '+']) lines.append(hr) header = ' '.join(['+', 'Db Param'.ljust(10), ' ', 'Value'.ljust(65), '+']) lines.append(header) hr = ' '.join(['+', ''.ljust(10, '-'), '+', ''.ljust(65, '-'), '+']) lines.append(hr) - for k in self.params: - v = self.params[k] - if k == 'pwd': - v = '*' * len(self.params[k]) - lines.append(' '.join(['|', k.ljust(10), '|', v.ljust(65), '|'])) + lines.append(' '.join(['|', "host".ljust(10), '|', self.host.ljust(65), '|'])) + lines.append(' '.join(['|', "db".ljust(10), '|', self.db.ljust(65), '|'])) + lines.append(' '.join(['|', "user".ljust(10), '|', self.user.ljust(65), '|'])) + lines.append(' '.join(['|', "pwd".ljust(10), '|', "*****".ljust(65), '|'])) hr = ' '.join(['+', ''.ljust(10, '-'), '+', ''.ljust(65, '-'), '+']) lines.append(hr) return '\n'.join(lines) + + @staticmethod + def _sanitize_and_compare(regex, string: str, param_name) -> str: + sanitized = re.sub(regex, "", string) + if sanitized != string: + raise ValueError(f"Can't create a database connection. The {param_name} parameter has invalid symbols." + f" The sanitized string length: {len(sanitized)} < original : {len(string)}") + return sanitized diff --git a/backend/dataall/db/models/ShareObject.py b/backend/dataall/db/models/ShareObject.py index 220099fd5..403de15a7 100644 --- a/backend/dataall/db/models/ShareObject.py +++ b/backend/dataall/db/models/ShareObject.py @@ -33,5 +33,7 @@ class ShareObject(Base): updated = Column(DateTime, onupdate=datetime.now) deleted = Column(DateTime) confirmed = Column(Boolean, default=False) + requestPurpose = Column(String, nullable=True) + rejectPurpose = Column(String, nullable=True) userRoleForShareObject = query_expression() existingSharedItems = query_expression() diff --git a/backend/dataall/db/permissions.py b/backend/dataall/db/permissions.py index cf921a30c..1f79445ea 100644 --- a/backend/dataall/db/permissions.py +++ b/backend/dataall/db/permissions.py @@ -172,7 +172,6 @@ SHARE_OBJECT_APPROVER = [ ADD_ITEM, REMOVE_ITEM, - SUBMIT_SHARE_OBJECT, APPROVE_SHARE_OBJECT, REJECT_SHARE_OBJECT, DELETE_SHARE_OBJECT, diff --git a/backend/dataall/tasks/data_sharing/share_managers/s3_share_manager.py b/backend/dataall/tasks/data_sharing/share_managers/s3_share_manager.py index 1323770a4..0b1a15e87 100644 --- a/backend/dataall/tasks/data_sharing/share_managers/s3_share_manager.py +++ b/backend/dataall/tasks/data_sharing/share_managers/s3_share_manager.py @@ -349,7 +349,7 @@ def delete_target_role_access_policy( ) access_point_name = S3ShareManager.build_access_point_name(share) existing_policy = IAM.get_role_policy( - dataset.AwsAccountId, + target_environment.AwsAccountId, share.principalIAMRoleName, "targetDatasetAccessControlPolicy", ) @@ -388,7 +388,7 @@ def delete_dataset_bucket_key_policy( target_requester_id = SessionHelper.get_role_id(target_environment.AwsAccountId, share.principalIAMRoleName) if existing_policy and f'{target_requester_id}:*' in existing_policy: policy = json.loads(existing_policy) - policy["Statement"] = [item for item in policy["Statement"] if item["Sid"] != f"{target_requester_id}"] + policy["Statement"] = [item for item in policy["Statement"] if item.get("Sid", None) != f"{target_requester_id}"] KMS.put_key_policy( dataset.AwsAccountId, dataset.region, diff --git a/backend/dataall/tasks/subscriptions/sqs_poller.py b/backend/dataall/tasks/subscriptions/sqs_poller.py index a6415d903..47b38abbe 100644 --- a/backend/dataall/tasks/subscriptions/sqs_poller.py +++ b/backend/dataall/tasks/subscriptions/sqs_poller.py @@ -23,7 +23,11 @@ def poll_queues(queues): for queue in queues: - sqs = boto3.client('sqs', region_name=queue['region']) + sqs = boto3.client( + 'sqs', + region_name=queue['region'], + endpoint_url=f"https://sqs.{queue['region']}.amazonaws.com" + ) try: response = sqs.receive_message( diff --git a/backend/dataall/tasks/tables_syncer.py b/backend/dataall/tasks/tables_syncer.py index 04bafdfa5..a441ff197 100644 --- a/backend/dataall/tasks/tables_syncer.py +++ b/backend/dataall/tasks/tables_syncer.py @@ -80,7 +80,6 @@ def sync_tables(engine, es=None): table, principals=[ SessionHelper.get_delegation_role_arn(env.AwsAccountId), - env.EnvironmentDefaultIAMRoleArn, env_group.environmentIAMRoleArn, ], ) diff --git a/backend/dataall/utils/naming_convention.py b/backend/dataall/utils/naming_convention.py index def67e40c..abe55c649 100644 --- a/backend/dataall/utils/naming_convention.py +++ b/backend/dataall/utils/naming_convention.py @@ -10,6 +10,7 @@ def __str__(self): S3 = {'regex': '[^a-zA-Z0-9-]', 'separator': '-', 'max_length': 63} IAM = {'regex': '[^a-zA-Z0-9-_]', 'separator': '-', 'max_length': 63} GLUE = {'regex': '[^a-zA-Z0-9_]', 'separator': '_', 'max_length': 63} + GLUE_ETL = {'regex': '[^a-zA-Z0-9-]', 'separator': '-', 'max_length': 52} NOTEBOOK = {'regex': '[^a-zA-Z0-9-]', 'separator': '-', 'max_length': 63} DEFAULT = {'regex': '[^a-zA-Z0-9-_]', 'separator': '-', 'max_length': 63} @@ -40,6 +41,9 @@ def build_compliant_name(self) -> str: elif self.service == NamingConventionPattern.GLUE: regex = self.service.GLUE.value['regex'] return self.build_glue_compliant_name(regex) + elif self.service == NamingConventionPattern.GLUE_ETL: + regex = self.service.GLUE_ETL.value['regex'] + return self.build_glue_etl_compliant_name(regex) elif self.service == NamingConventionPattern.NOTEBOOK: regex = self.service.NOTEBOOK.value['regex'] return self.build_notebook_compliant_name(regex) @@ -56,6 +60,9 @@ def build_iam_compliant_name(self, regex) -> str: def build_glue_compliant_name(self, regex) -> str: return f"{slugify(self.resource_prefix + '-' + self.target_label[:(self.service.GLUE.value['max_length'] - len(self.resource_prefix + self.target_uri))] + '-' + self.target_uri, regex_pattern=fr'{regex}', separator=self.service.GLUE.value['separator'], lowercase=True)}" + def build_glue_etl_compliant_name(self, regex) -> str: + return f"{slugify(self.resource_prefix + '-' + self.target_label[:(self.service.GLUE_ETL.value['max_length'] - len(self.resource_prefix + self.target_uri))] + '-' + self.target_uri, regex_pattern=fr'{regex}', separator=self.service.GLUE_ETL.value['separator'], lowercase=True)}" + def build_notebook_compliant_name(self, regex) -> str: return f"{slugify(self.resource_prefix + '-' + self.target_label[:(self.service.NOTEBOOK.value['max_length'] - len(self.resource_prefix +self.target_uri))] + '-' + self.target_uri, regex_pattern=fr'{regex}', separator=self.service.NOTEBOOK.value['separator'], lowercase=True)}" diff --git a/backend/docker/prod/ecs/Dockerfile b/backend/docker/prod/ecs/Dockerfile index 417833bc4..334fc043a 100644 --- a/backend/docker/prod/ecs/Dockerfile +++ b/backend/docker/prod/ecs/Dockerfile @@ -53,13 +53,10 @@ RUN /bin/bash -c "pip3.8 install -r /dh.requirements.txt" \ ADD backend/dataall /dataall VOLUME ["/dataall"] -ADD backend/blueprints /blueprints ADD backend/cdkproxymain.py /cdkproxymain.py -RUN mkdir -p dataall/cdkproxy/assets/glueprofilingjob/jars \ - && mkdir -p blueprints/ml_data_pipeline/engine/glue/jars +RUN mkdir -p dataall/cdkproxy/assets/glueprofilingjob/jars ADD https://repo1.maven.org/maven2/com/amazon/deequ/deequ/$DEEQU_VERSION/deequ-$DEEQU_VERSION.jar /dataall/cdkproxy/assets/glueprofilingjob/jars/ -RUN cp -f dataall/cdkproxy/assets/glueprofilingjob/jars/deequ-$DEEQU_VERSION.jar blueprints/ml_data_pipeline/engine/glue/jars/deequ-$DEEQU_VERSION.jar WORKDIR / diff --git a/backend/migrations/versions/72b8a90b6ee8__share_request_purpose.py b/backend/migrations/versions/72b8a90b6ee8__share_request_purpose.py new file mode 100644 index 000000000..1b358b11d --- /dev/null +++ b/backend/migrations/versions/72b8a90b6ee8__share_request_purpose.py @@ -0,0 +1,136 @@ +"""_share_request_purpose + +Revision ID: 72b8a90b6ee8 +Revises: 509997f0a51e +Create Date: 2023-06-05 12:28:56.221364 + +""" +from alembic import op +from sqlalchemy import orm, Column, String, and_ +from sqlalchemy.ext.declarative import declarative_base + +from dataall.db import api, models, permissions + +# revision identifiers, used by Alembic. +revision = '72b8a90b6ee8' +down_revision = '509997f0a51e' +branch_labels = None +depends_on = None + +Base = declarative_base() + + +def upgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.add_column('share_object', Column('requestPurpose', String(), nullable=True)) + op.add_column('share_object', Column('rejectPurpose', String(), nullable=True)) + + # ### Fix Permissions Set for Share Object Approvers + Requesters + try: + bind = op.get_bind() + session = orm.Session(bind=bind) + + print('Getting all Share Objects...') + shares: [models.ShareObject] = session.query(models.ShareObject).all() + for share in shares: + dataset = api.Dataset.get_dataset_by_uri(session, share.datasetUri) + environment = api.Environment.get_environment_by_uri(session, share.environmentUri) + + # Env Admins + # Delete Share Object Permissions on Share Env Admin if Not Share Requester Group + if share.groupUri != environment.SamlGroupName: + api.ResourcePolicy.delete_resource_policy( + session=session, + group=environment.SamlGroupName, + resource_uri=share.shareUri, + ) + print(f"Delete SHARE_OBJECT Permissions for Env Owner {environment.SamlGroupName} on Share {share.shareUri}") + + # Dataset Admins + # Delete and Recreate Dataset Share Object Permissions to be Share Object Approver Permission Set + api.ResourcePolicy.delete_resource_policy( + session=session, + group=dataset.SamlAdminGroupName, + resource_uri=share.shareUri, + ) + api.ResourcePolicy.attach_resource_policy( + session=session, + group=dataset.SamlAdminGroupName, + permissions=permissions.SHARE_OBJECT_APPROVER, + resource_uri=share.shareUri, + resource_type=models.ShareObject.__name__, + ) + print(f"Recreated SHARE_OBJECT_APPROVER Permissions for Dataset Owner {dataset.SamlAdminGroupName} on Share {share.shareUri}") + + # Dataset Stewards + # Delete and Recreate Dataset Share Object Permissions to be Share Object Approver Permission Set + if dataset.SamlAdminGroupName != dataset.stewards: + api.ResourcePolicy.delete_resource_policy( + session=session, + group=dataset.stewards, + resource_uri=share.shareUri, + ) + api.ResourcePolicy.attach_resource_policy( + session=session, + group=dataset.stewards, + permissions=permissions.SHARE_OBJECT_APPROVER, + resource_uri=share.shareUri, + resource_type=models.ShareObject.__name__, + ) + print(f"Recreated SHARE_OBJECT_APPROVER Permissions for Dataset Steward {dataset.stewards} on Share {share.shareUri}") + + except Exception as e: + print(e) + print(f'Failed to update share object approver permissions due to: {e}') + raise e + # ### end Alembic commands ### + + +def downgrade(): + # ### commands auto generated by Alembic - please adjust! ### + try: + bind = op.get_bind() + session = orm.Session(bind=bind) + + print('Getting all Share Objects...') + shares: [models.ShareObject] = session.query(models.ShareObject).all() + for share in shares: + dataset = api.Dataset.get_dataset_by_uri(session, share.datasetUri) + environment = api.Environment.get_environment_by_uri(session, share.environmentUri) + + # Env Admins + # Add SHARE_OBJECT_REQUESTER to Env Admin Group + api.ResourcePolicy.attach_resource_policy( + session=session, + group=environment.SamlGroupName, + permissions=permissions.SHARE_OBJECT_REQUESTER, + resource_uri=share.shareUri, + resource_type=models.ShareObject.__name__, + ) + print(f"Adding SHARE_OBJECT_REQUESTER Permissions for Share Env Admin {environment.SamlGroupName} on Share {share.shareUri}") + + # Dataset Admins + # Remove SHARE_OBJECT_APPROVER Permissions if Exists Separate from Stewards(i.e. if steward != owner) + # Add SHARE_OBJECT_REQUESTER Permissions to Dataset Admin Group + if dataset.SamlAdminGroupName != dataset.stewards: + api.ResourcePolicy.delete_resource_policy( + session=session, + group=dataset.SamlAdminGroupName, + resource_uri=share.shareUri, + ) + api.ResourcePolicy.attach_resource_policy( + session=session, + group=dataset.SamlAdminGroupName, + permissions=permissions.SHARE_OBJECT_REQUESTER, + resource_uri=share.shareUri, + resource_type=models.ShareObject.__name__, + ) + print(f"Adding SHARE_OBJECT_REQUESTER Permissions for Dataset Owner {dataset.SamlAdminGroupName} on Share {share.shareUri}") + except Exception as e: + print(e) + print(f'Failed to update share object approver permissions due to: {e}') + raise e + + op.drop_column('share_object', 'requestPurpose') + op.drop_column('share_object', 'rejectPurpose') + # ### end Alembic commands ### diff --git a/backend/migrations/versions/e1cd4927482b_rename_imported_dataset_aws_resources.py b/backend/migrations/versions/e1cd4927482b_rename_imported_dataset_aws_resources.py new file mode 100644 index 000000000..9f77df9cc --- /dev/null +++ b/backend/migrations/versions/e1cd4927482b_rename_imported_dataset_aws_resources.py @@ -0,0 +1,132 @@ +"""rename_imported_dataset_aws_resources + +Revision ID: e1cd4927482b +Revises: 72b8a90b6ee8 +Create Date: 2023-07-13 09:20:20.091639 + +""" +from alembic import op +import sqlalchemy as sa +from sqlalchemy import orm, Column, String, Boolean +from sqlalchemy.dialects import postgresql +from sqlalchemy.ext.declarative import declarative_base +from sqlalchemy.orm import query_expression + +from dataall.db import utils, Resource +from dataall.utils.naming_convention import ( + NamingConventionService, + NamingConventionPattern, +) + +# revision identifiers, used by Alembic. +revision = 'e1cd4927482b' +down_revision = '72b8a90b6ee8' +branch_labels = None +depends_on = None + +Base = declarative_base() + + +class Environment(Resource, Base): + __tablename__ = 'environment' + organizationUri = Column(String, nullable=False) + environmentUri = Column(String, primary_key=True, default=utils.uuid('environment')) + AwsAccountId = Column(String, nullable=False) + resourcePrefix = Column(String, nullable=False, default='dataall') + + +class Dataset(Resource, Base): + __tablename__ = 'dataset' + environmentUri = Column(String, nullable=False) + organizationUri = Column(String, nullable=False) + datasetUri = Column(String, primary_key=True, default=utils.uuid('dataset')) + region = Column(String, default='eu-west-1') + AwsAccountId = Column(String, nullable=False) + S3BucketName = Column(String, nullable=False) + GlueDatabaseName = Column(String, nullable=False) + GlueCrawlerName = Column(String) + GlueCrawlerSchedule = Column(String) + GlueProfilingJobName = Column(String) + GlueProfilingTriggerSchedule = Column(String) + GlueProfilingTriggerName = Column(String) + GlueDataQualityJobName = Column(String) + GlueDataQualitySchedule = Column(String) + GlueDataQualityTriggerName = Column(String) + IAMDatasetAdminRoleArn = Column(String, nullable=False) + IAMDatasetAdminUserArn = Column(String, nullable=False) + KmsAlias = Column(String, nullable=False) + language = Column(String, nullable=False, default='English') + topics = Column(postgresql.ARRAY(String), nullable=True) + confidentiality = Column(String, nullable=False, default='Unclassified') + tags = Column(postgresql.ARRAY(String)) + + bucketCreated = Column(Boolean, default=False) + glueDatabaseCreated = Column(Boolean, default=False) + iamAdminRoleCreated = Column(Boolean, default=False) + iamAdminUserCreated = Column(Boolean, default=False) + kmsAliasCreated = Column(Boolean, default=False) + lakeformationLocationCreated = Column(Boolean, default=False) + bucketPolicyCreated = Column(Boolean, default=False) + + businessOwnerEmail = Column(String, nullable=True) + businessOwnerDelegationEmails = Column(postgresql.ARRAY(String), nullable=True) + stewards = Column(String, nullable=True) + + SamlAdminGroupName = Column(String, nullable=True) + + importedS3Bucket = Column(Boolean, default=False) + importedGlueDatabase = Column(Boolean, default=False) + importedKmsKey = Column(Boolean, default=False) + importedAdminRole = Column(Boolean, default=False) + imported = Column(Boolean, default=False) + + +def upgrade(): + try: + bind = op.get_bind() + session = orm.Session(bind=bind) + print('Updating imported dataset aws resources names...') + imported_datasets: [Dataset] = session.query(Dataset).filter(Dataset.imported.is_(True)) + for dataset in imported_datasets: + print(f"Updating dataset {dataset.datasetUri}") + environment: [Environment] = session.query(Environment).filter( + Environment.environmentUri == dataset.environmentUri + ).first() + glue_etl_basename = NamingConventionService( + target_uri=dataset.datasetUri, + target_label=dataset.label, + pattern=NamingConventionPattern.GLUE_ETL, + resource_prefix=environment.resourcePrefix, + ).build_compliant_name() + dataset.GlueCrawlerName = f"{glue_etl_basename}-crawler" + dataset.GlueProfilingJobName = f"{glue_etl_basename}-profiler" + dataset.GlueProfilingTriggerName = f"{glue_etl_basename}-trigger" + dataset.GlueDataQualityJobName = f"{glue_etl_basename}-dataquality" + dataset.GlueDataQualityTriggerName = f"{glue_etl_basename}-dqtrigger" + if not dataset.importedKmsKey: + # Not adding downgrade for this line because this is a fix not an upgrade + dataset.KmsAlias = "Undefined" + session.commit() + print('imported Datasets resources updated successfully') + except Exception as e: + print(f'Failed to update imported dataset aws resources names due to: {e}') + + +def downgrade(): + try: + bind = op.get_bind() + session = orm.Session(bind=bind) + print('Updating imported dataset aws resources names to previous...') + imported_datasets: [Dataset] = session.query(Dataset).filter(Dataset.imported.is_(True)) + for dataset in imported_datasets: + print(f"Updating dataset {dataset.datasetUri}") + glue_etl_basename = f"{dataset.S3BucketName}-{dataset.datasetUri}" + dataset.GlueCrawlerName = f"{glue_etl_basename}-crawler" + dataset.GlueProfilingJobName = f"{glue_etl_basename}-profiler" + dataset.GlueProfilingTriggerName = f"{glue_etl_basename}-trigger" + dataset.GlueDataQualityJobName = f"{glue_etl_basename}-dataquality" + dataset.GlueDataQualityTriggerName = f"{glue_etl_basename}-dqtrigger" + session.commit() + print('imported Datasets resources updated successfully') + except Exception as e: + print(f'Failed to update imported dataset aws resources to previous names due to: {e}') diff --git a/deploy/cdk_exec_policy/cdkExecPolicy.yaml b/deploy/cdk_exec_policy/cdkExecPolicy.yaml new file mode 100644 index 000000000..a285d0d59 --- /dev/null +++ b/deploy/cdk_exec_policy/cdkExecPolicy.yaml @@ -0,0 +1,281 @@ +AWSTemplateFormatVersion: 2010-09-09 +Description: Custom least privilege IAM policy for linking environments to dataall +Parameters: + AwsAccountId: + Description: AWS AccountId of the account that we wish to link. + Type: String + PolicyName: + Description: IAM policy name (The same name must be used during CDK bootstrapping. Default is DataAllCustomCDKPolicy.) + Type: String + Default: 'DataAllCustomCDKPolicy' + EnvironmentResourcePrefix: + Description: The resource prefix value of the dataall environment. It MUST match the resource prefix that we use when we create the environment. + Type: String +Resources: + CDKCustomExecutionPolicy0: + Type: 'AWS::IAM::ManagedPolicy' + Properties: + ManagedPolicyName: !Ref PolicyName + PolicyDocument: + Version: 2012-10-17 + Statement: + - Sid: KMS + Action: + - 'kms:CreateKey' + Effect: Allow + Resource: '*' + - Sid: ec2 + Action: + - 'ec2:DescribeSecurityGroups' + - 'ec2:CreateSecurityGroup' + - 'ec2:createTags' + - 'ec2:DeleteSecurityGroup' + - 'ec2:RevokeSecurityGroupEgress' + - 'ec2:AuthorizeSecurityGroupIngress' + - 'ec2:AuthorizeSecurityGroupEgress' + - 'ec2:RevokeSecurityGroupIngress' + - 'ec2:AttachInternetGateway' + - 'ec2:DetachInternetGateway' + - 'ec2:DescribeInternetGateways' + - 'ec2:DescribeRouteTables' + - 'ec2:AssociateRouteTable' + - 'ec2:DisassociateRouteTable' + - 'ec2:CreateRoute' + - 'ec2:DeleteRoute' + Effect: Allow + Resource: '*' + - Sid: Athena + Effect: Allow + Action: 'athena:CreateWorkGroup' + Resource: + - !Sub 'arn:aws:athena:*:${AWS::AccountId}:workgroup/*' + - Sid: IAM + Action: + - 'iam:CreatePolicy' + - 'iam:GetPolicy' + Effect: Allow + Resource: + - !Sub 'arn:aws:iam::${AWS::AccountId}:policy/*' + - Sid: IAMRole + Action: + - 'iam:AttachRolePolicy' + - 'iam:CreateRole' + - 'iam:CreateServiceLinkedRole' + - 'iam:GetRole' + - 'iam:GetRolePolicy' + - 'iam:PutRolePolicy' + - 'iam:TagRole' + - 'iam:UnTagRole' + - 'iam:DeleteRole' + - 'iam:DetachRolePolicy' + - 'iam:DeleteRolePolicy' + - 'iam:PassRole' + - 'iam:UpdateAssumeRolePolicy' + - 'iam:DeletePolicy' + - 'iam:List*' + - 'iam:GetServiceLastAccessedDetails' + Effect: Allow + Resource: '*' + - Sid: IAMQuickSight + Effect: Allow + Action: + - 'iam:CreatePolicyVersion' + - 'iam:DeletePolicyVersion' + Resource: + - !Sub 'arn:aws:iam::${AWS::AccountId}:policy/service-role/AWSQuickSight*' + - Sid: QuickSight + Effect: Allow + Action: + - 'ds:AuthorizeApplication' + - 'ds:UnauthorizeApplication' + - 'ds:CheckAlias' + - 'ds:CreateAlias' + - 'ds:DescribeDirectories' + - 'ds:DescribeTrusts' + - 'ds:DeleteDirectory' + - 'ds:CreateIdentityPoolDirectory' + - 'quicksight:CreateAdmin' + - 'quicksight:CreateUser' + - 'quicksight:Subscribe' + - 'quicksight:GetGroupMapping' + - 'quicksight:SearchDirectoryGroups' + - 'quicksight:SetGroupMapping' + - 'quicksight:RegisterUser' + - 'quicksight:GetDashboardEmbedUrl' + - 'quicksight:DescribeDashboardPermissions' + Resource: '*' + - Sid: QuickSightDeny + Effect: Deny + Action: + - 'quicksight:Unsubscribe' + Resource: '*' + - Sid: KMSCreateAlias + Action: + - 'kms:CreateAlias' + Effect: Allow + Resource: + - !Sub 'arn:aws:kms:*:${AWS::AccountId}:alias/*' + - Sid: KMSKey + Action: + - 's3:PutBucketAcl' + - 's3:PutBucketNotification' + Effect: Allow + Resource: + - !Sub 'arn:aws:s3:::${EnvironmentResourcePrefix}-logging-*' + - Sid: ReadBuckets + Action: + - 'kms:CreateAlias' + - 'kms:CreateGrant' + - 'kms:Decrypt' + - 'kms:DescribeKey' + - 'kms:EnableKeyRotation' + - 'kms:Encrypt' + - 'kms:GetKeyPolicy' + - 'kms:GetKeyRotationStatus' + - 'kms:ListResourceTags' + - 'kms:PutKeyPolicy' + - 'kms:TagResource' + Effect: Allow + Resource: !Sub 'arn:aws:kms:*:${AWS::AccountId}:key/*' + - Sid: Lambda + Action: + - 'lambda:AddPermission' + - 'lambda:CreateFunction' + - 'lambda:GetFunction' + - 'lambda:GetFunctionCodeSigningConfig' + - 'lambda:GetRuntimeManagementConfig' + - 'lambda:PutFunctionEventInvokeConfig' + - 'lambda:InvokeFunction' + - 'lambda:RemovePermission' + Effect: Allow + Resource: '*' + - Sid: LambdaPublishLayer + Effect: Allow + Action: + - 'lambda:PublishLayerVersion' + Resource: + - !Sub 'arn:aws:lambda:*:${AWS::AccountId}:layer:*' + - Sid: S3 + Action: + - 's3:CreateBucket' + - 's3:GetBucketPolicy' + - 's3:PutBucketCORS' + - 's3:PutBucketLogging' + - 's3:PutBucketPolicy' + - 's3:PutBucketPublicAccessBlock' + - 's3:PutBucketTagging' + - 's3:PutBucketVersioning' + - 's3:PutEncryptionConfiguration' + - 's3:PutLifecycleConfiguration' + - 's3:DeleteBucketPolicy' + - 's3:DeleteBucket' + Effect: Allow + Resource: 'arn:aws:s3:::*' + - Sid: SQS + Effect: Allow + Action: + - 'sqs:CreateQueue' + - 'sqs:SetQueueAttributes' + Resource: !Sub 'arn:aws:sqs:*:${AWS::AccountId}:*' + - Sid: SSM + Effect: Allow + Action: + - 'ssm:GetParameters' + - 'ssm:PutParameter' + Resource: '*' + - Sid: Logs + Effect: Allow + Action: + - 'logs:CreateLogGroup' + - 'logs:CreateLogStream' + - 'logs:PutLogEvents' + - 'logs:DescribeLogStreams' + Resource: 'arn:aws:logs:*:*:*' + - Sid: STS + Effect: Allow + Action: + - 'sts:AssumeRole' + - 'iam:*Role*' + Resource: !Sub 'arn:aws:iam::${AWS::AccountId}:role/cdk-*' + - Sid: CloudFormation + Effect: Allow + Action: + - 'cloudformation:*' + Resource: !Sub 'arn:aws:cloudformation:*:${AWS::AccountId}:stack/CDKToolkit/*' + - Sid: ECR + Effect: Allow + Action: + - 'ecr:SetRepositoryPolicy' + - 'ecr:GetLifecyclePolicy' + - 'ecr:PutImageScanningConfiguration' + - 'ecr:DescribeRepositories' + - 'ecr:CreateRepository' + - 'ecr:DeleteRepository' + Resource: !Sub 'arn:aws:ecr:*:${AWS::AccountId}:repository/cdk-*' + - Sid: SSMTwo + Effect: Allow + Action: + - 'ssm:GetParameter' + - 'ssm:PutParameter' + - 'ssm:DeleteParameter' + Resource: !Sub 'arn:aws:ssm:*:${AWS::AccountId}:parameter/cdk-bootstrap/*' + - Sid: CloudformationTwo + Effect: Allow + Action: + - '*' + Resource: '*' + Condition: + 'ForAnyValue:StringEquals': + 'aws:CalledVia': 'cloudformation.amazonaws.com' + - Sid: S3Staging + Effect: Allow + Action: + - 's3:*' + Resource: + - !Sub 'arn:aws:s3:::cdktoolkit-stagingbucket-*' + - Sid: Pipelines + Effect: Allow + Action: + - 'codepipeline:TagResource' + - 'codepipeline:UntagResource' + - 'codepipeline:CreatePipeline' + - 'codepipeline:UpdatePipeline' + - 'codepipeline:StartPipelineExecution' + - 'codepipeline:GetPipeline' + - 'codepipeline:GetPipelineState' + - 'codepipeline:GetPipelineExecution' + - 'codepipeline:ListPipelineExecutions' + - 'codepipeline:ListActionExecutions' + - 'codepipeline:ListActionTypes' + - 'codepipeline:ListPipelines' + - 'codepipeline:ListTagsForResource' + - 'codepipeline:DeletePipeline' + - 'codestar-notifications:ListNotificationRules' + - 'codestar-notifications:ListEventTypes' + - 'codestar-notifications:ListTargets' + Resource: '*' + - Sid: PipelinesS3 + Effect: Allow + Action: + - 's3:GetObject' + - 's3:ListBucket' + - 's3:GetBucketPolicy' + Resource: + - 'arn:aws:s3::*:codepipeline-*' + - Sid: CodeStarNotificationsReadOnly + Effect: Allow + Action: + - 'codestar-notifications:DescribeNotificationRule' + Resource: '*' + Condition: + 'StringLike': + 'codestar-notifications:NotificationsForResource': 'arn:aws:codepipeline:*' + - Sid: Eventrules + Effect: Allow + Action: + - 'events:PutRule' + - 'events:DescribeRule' + - 'events:PutTargets' + - 'events:RemoveTargets' + - 'events:DeleteRule' + Resource: '*' diff --git a/deploy/pivot_role/pivotRole.yaml b/deploy/pivot_role/pivotRole.yaml index 3721ea81f..3a4ce3243 100644 --- a/deploy/pivot_role/pivotRole.yaml +++ b/deploy/pivot_role/pivotRole.yaml @@ -26,9 +26,9 @@ Resources: - Effect: Allow Principal: Service: - - glue.amazonaws.com - lakeformation.amazonaws.com - lambda.amazonaws.com + - glue.amazonaws.com Action: - 'sts:AssumeRole' - Effect: Allow @@ -40,48 +40,25 @@ Resources: Condition: StringEquals: 'sts:ExternalId': !Ref ExternalId + StringLike: + 'aws:PrincipalArn': [ + !Sub "arn:aws:iam::${AwsAccountId}:role/*graphql-role", + !Sub "arn:aws:iam::${AwsAccountId}:role/*awsworker-role", + !Sub "arn:aws:iam::${AwsAccountId}:role/*ecs-tasks-role" + ] PivotRolePolicy0: Type: 'AWS::IAM::ManagedPolicy' Properties: PolicyDocument: Version: 2012-10-17 Statement: - - Sid: Athena + - Sid: ReadBuckets Action: - - 'athena:GetQuery*' - - 'athena:StartQueryExecution' - - 'athena:ListWorkGroups' + - 's3:ListAllMyBuckets' + - 's3:GetBucketLocation' + - 's3:PutBucketTagging' Effect: Allow Resource: '*' - - Sid: AthenaWorkgroups - Action: - - 'athena:GetWorkGroup' - - 'athena:CreateWorkGroup' - - 'athena:UpdateWorkGroup' - - 'athena:DeleteWorkGroup' - - 'athena:TagResource' - - 'athena:UntagResource' - - 'athena:ListTagsForResource' - Effect: Allow - Resource: !Sub 'arn:aws:athena:*:${AWS::AccountId}:workgroup/${EnvironmentResourcePrefix}*' - - Sid: AwsGlueCrawlerBucket - Effect: Allow - Action: 's3:GetObject' - Resource: - - 'arn:aws:s3:::crawler-public*' - - Sid: ManagedAccessPoints - Action: - - 's3:GetAccessPoint' - - 's3:GetAccessPointPolicy' - - 's3:ListAccessPoints' - - 's3:CreateAccessPoint' - - 's3:DeleteAccessPoint' - - 's3:GetAccessPointPolicyStatus' - - 's3:DeleteAccessPointPolicy' - - 's3:PutAccessPointPolicy' - Effect: Allow - Resource: - - !Sub 'arn:aws:s3:*:${AWS::AccountId}:accesspoint/*' - Sid: ManagedBuckets Action: - 's3:List*' @@ -105,118 +82,81 @@ Resources: Effect: Allow Resource: - 'arn:aws:s3:::*' - - Sid: AWSLoggingBuckets + - Sid: KMS Action: - - 's3:PutBucketAcl' - - 's3:PutBucketNotification' + - 'kms:Decrypt' + - 'kms:Encrypt' + - 'kms:GenerateDataKey*' + - 'kms:PutKeyPolicy' + - 'kms:ReEncrypt*' + - 'kms:TagResource' + - 'kms:UntagResource' Effect: Allow Resource: - - !Sub 'arn:aws:s3:::${EnvironmentResourcePrefix}-logging-*' - - Sid: ReadBuckets - Action: - - 's3:ListAllMyBuckets' - - 's3:GetBucketLocation' - - 's3:PutBucketTagging' - Effect: Allow - Resource: '*' - - Sid: CWMetrics + - '*' + - Sid: KMSList Action: - - 'cloudwatch:PutMetricData' - - 'cloudwatch:GetMetricData' - - 'cloudwatch:GetMetricStatistics' + - 'kms:List*' + - 'kms:DescribeKey' Effect: Allow Resource: '*' - - Sid: Logs - Effect: Allow - Action: - - 'logs:CreateLogGroup' - - 'logs:CreateLogStream' - - 'logs:PutLogEvents' - Resource: - - !Sub 'arn:aws:logs:*:${AWS::AccountId}:log-group:/aws-glue/*' - - !Sub 'arn:aws:logs:*:${AWS::AccountId}:log-group:/aws/lambda/*' - - !Sub 'arn:aws:logs:*:${AWS::AccountId}:log-group:/${EnvironmentResourcePrefix}*' - - Sid: Logging + - Sid: AthenaWorkgroups Action: - - 'logs:PutLogEvents' + - 'athena:GetWorkGroup' + - 'athena:GetQueryExecution' + - 'athena:GetQueryResults' + - 'athena:StartQueryExecution' Effect: Allow - Resource: '*' - - Sid: CWEvents + Resource: !Sub 'arn:aws:athena:*:${AWS::AccountId}:workgroup/${EnvironmentResourcePrefix}*' + - Sid: ManagedAccessPoints Action: - - 'events:DeleteRule' - - 'events:List*' - - 'events:PutRule' - - 'events:PutTargets' - - 'events:RemoveTargets' + - 's3:GetAccessPoint' + - 's3:GetAccessPointPolicy' + - 's3:ListAccessPoints' + - 's3:CreateAccessPoint' + - 's3:DeleteAccessPoint' + - 's3:GetAccessPointPolicyStatus' + - 's3:DeleteAccessPointPolicy' + - 's3:PutAccessPointPolicy' Effect: Allow - Resource: '*' - - Sid: Glue + Resource: + - !Sub 'arn:aws:s3:*:${AWS::AccountId}:accesspoint/*' + - Sid: GlueCatalog Action: - 'glue:BatchCreatePartition' - 'glue:BatchDeletePartition' - 'glue:BatchDeleteTable' - - 'glue:CreateCrawler' - 'glue:CreateDatabase' - 'glue:CreatePartition' - 'glue:CreateTable' - - 'glue:DeleteCrawler' - 'glue:DeleteDatabase' - - 'glue:DeleteJob' - 'glue:DeletePartition' - 'glue:DeleteTable' - - 'glue:DeleteTrigger' - 'glue:BatchGet*' - 'glue:Get*' - 'glue:List*' - - 'glue:StartCrawler' - - 'glue:StartJobRun' - - 'glue:StartTrigger' - 'glue:SearchTables' - 'glue:UpdateDatabase' - 'glue:UpdatePartition' - 'glue:UpdateTable' - - 'glue:UpdateTrigger' - - 'glue:UpdateJob' - 'glue:TagResource' - - 'glue:UpdateCrawler' + - 'glue:DeleteResourcePolicy' + - 'glue:PutResourcePolicy' Effect: Allow Resource: '*' - - Sid: KMS + - Sid: GlueETL Action: - - 'kms:Decrypt' - - 'kms:Encrypt' - - 'kms:GenerateDataKey*' - - 'kms:PutKeyPolicy' - - 'kms:ReEncrypt*' - - 'kms:TagResource' - - 'kms:UntagResource' - Effect: Allow - Resource: - - '*' - - Sid: KMSAlias - Action: - - 'kms:DeleteAlias' + - 'glue:StartCrawler' + - 'glue:StartJobRun' + - 'glue:StartTrigger' + - 'glue:UpdateTrigger' + - 'glue:UpdateJob' + - 'glue:UpdateCrawler' Effect: Allow Resource: - - !Sub 'arn:aws:kms:*:${AWS::AccountId}:alias/${EnvironmentResourcePrefix}*' - - Sid: KMSCreate - Action: - - 'kms:List*' - - 'kms:DescribeKey' - - 'kms:CreateAlias' - - 'kms:CreateKey' - Effect: Allow - Resource: '*' - - Sid: Organizations - Action: 'organizations:DescribeOrganization' - Effect: Allow - Resource: '*' - - Sid: ResourcesGroupTags - Action: - - 'tag:*' - - 'resource-groups:*' - Effect: Allow - Resource: '*' + - !Sub 'arn:aws:glue:*:${AWS::AccountId}:crawler/${EnvironmentResourcePrefix}*' + - !Sub 'arn:aws:glue:*:${AWS::AccountId}:job/${EnvironmentResourcePrefix}*' + - !Sub 'arn:aws:glue:*:${AWS::AccountId}:trigger/${EnvironmentResourcePrefix}*' - Sid: SNSPublish Action: - 'sns:Publish' @@ -245,6 +185,33 @@ Resources: - 'sqs:SendMessage' Effect: Allow Resource: !Sub 'arn:aws:sqs:*:${AWS::AccountId}:${EnvironmentResourcePrefix}*' + - Sid: AWSLoggingBuckets + Action: + - 's3:PutBucketAcl' + - 's3:PutBucketNotification' + Effect: Allow + Resource: + - !Sub 'arn:aws:s3:::${EnvironmentResourcePrefix}-logging-*' + - Sid: CWMetrics + Action: + - 'cloudwatch:PutMetricData' + - 'cloudwatch:GetMetricData' + - 'cloudwatch:GetMetricStatistics' + Effect: Allow + Resource: '*' + - Sid: Logs + Effect: Allow + Action: + - 'logs:CreateLogGroup' + - 'logs:CreateLogStream' + Resource: + - !Sub 'arn:aws:logs:*:${AWS::AccountId}:log-group:/aws/lambda/*' + - !Sub 'arn:aws:logs:*:${AWS::AccountId}:log-group:/${EnvironmentResourcePrefix}*' + - Sid: Logging + Action: + - 'logs:PutLogEvents' + Effect: Allow + Resource: '*' ManagedPolicyName: !Sub ${EnvironmentResourcePrefix}-pivotrole-policy-0 Roles: - !Ref PivotRoleName @@ -256,75 +223,20 @@ Resources: PolicyDocument: Version: 2012-10-17 Statement: - - Sid: Redshift - Effect: Allow - Action: - - 'redshift:DeleteTags' - - 'redshift:ModifyClusterIamRoles' - - 'redshift:DescribeClusterSecurityGroups' - - 'redshift:DescribeClusterSubnetGroups' - - 'redshift:pauseCluster' - - 'redshift:resumeCluster' - Resource: '*' - Condition: - StringEquals: - 'aws:ResourceTag/dataall': 'true' - - Sid: RedshiftRead - Effect: Allow - Action: - - 'redshift:DescribeClusters' - - 'redshift:CreateTags' - - 'redshift:DescribeClusterSubnetGroups' - Resource: '*' - - Sid: RedshiftCreds - Effect: Allow - Action: - - 'redshift:GetClusterCredentials' - Resource: - - !Sub 'arn:aws:redshift:*:${AWS::AccountId}:dbgroup:*/*' - - !Sub 'arn:aws:redshift:*:${AWS::AccountId}:dbname:*/*' - - !Sub 'arn:aws:redshift:*:${AWS::AccountId}:dbuser:*/*' - - Sid: AllowRedshiftSubnet - Effect: Allow - Action: - - 'redshift:CreateClusterSubnetGroup' - Resource: '*' - - Sid: AllowRedshiftDataApi - Effect: Allow - Action: - - 'redshift-data:ListTables' - - 'redshift-data:GetStatementResult' - - 'redshift-data:CancelStatement' - - 'redshift-data:ListSchemas' - - 'redshift-data:ExecuteStatement' - - 'redshift-data:ListStatements' - - 'redshift-data:ListDatabases' - - 'redshift-data:DescribeStatement' - Resource: '*' - Sid: EC2SG Effect: Allow Action: - - 'ec2:CreateSecurityGroup' - - 'ec2:CreateNetworkInterface' - - 'ec2:Describe*' + - 'ec2:DescribeSubnets' + - 'ec2:DescribeSecurityGroups' + - 'ec2:DescribeVpcs' + - 'ec2:DescribeInstances' + - 'ec2:DescribeNetworkInterfaces' Resource: '*' - - Sid: TagsforENI - Effect: Allow - Action: - - 'ec2:DeleteTags' - - 'ec2:CreateTags' - Resource: !Sub 'arn:aws:ec2:*:${AWS::AccountId}:network-interface/*' - - Sid: DeleteENI - Effect: Allow - Action: - - 'ec2:DeleteNetworkInterface' - Resource: !Sub 'arn:aws:ec2:*:${AWS::AccountId}:network-interface/*' - Sid: SageMakerNotebookActions Effect: Allow Action: - 'sagemaker:ListTags' - 'sagemaker:DescribeUserProfile' - - 'sagemaker:DeleteNotebookInstance' - 'sagemaker:StopNotebookInstance' - 'sagemaker:CreatePresignedNotebookInstanceUrl' - 'sagemaker:DescribeNotebookInstance' @@ -370,8 +282,6 @@ Resources: - 'ram:UpdateResourceShare' Resource: !Sub 'arn:aws:ram:*:${AWS::AccountId}:resource-share/*' Condition: - StringEquals: - 'aws:ResourceTag/dataall': 'true' 'ForAllValues:StringLike': 'ram:ResourceShareName': - LakeFormation* @@ -390,106 +300,37 @@ Resources: Action: - 'ram:DeleteResourceShare' Resource: !Sub 'arn:aws:ram:*:${AWS::AccountId}:resource-share/*' - Condition: - StringEqualsIfExists: - 'aws:ResourceTag/dataall': 'true' - Sid: RamInvitations Effect: Allow Action: - "ram:AcceptResourceShareInvitation" - "ram:RejectResourceShareInvitation" - - "ec2:DescribeAvailabilityZones" - "ram:EnableSharingWithAwsOrganization" Resource: '*' - - Sid: RamReadGlue + - Sid: RamRead Effect: Allow Action: - - 'glue:PutResourcePolicy' - - 'glue:DeleteResourcePolicy' - 'ram:Get*' - 'ram:List*' Resource: '*' - - Sid: SGCreateTag - Effect: Allow - Action: - - 'ec2:CreateTags' - Resource: - - !Sub 'arn:aws:ec2:*:${AWS::AccountId}:security-group/*' - Condition: - StringEquals: - 'aws:RequestTag/dataall': 'true' - - Sid: SGandRedshift - Effect: Allow - Action: - - 'ec2:DeleteTags' - - 'ec2:DeleteSecurityGroup' - - 'redshift:DeleteClusterSubnetGroup' - Resource: - - '*' - Condition: - 'ForAnyValue:StringEqualsIfExists': - 'aws:ResourceTag/dataall': 'true' - - Sid: RedshiftDataApi - Effect: Allow - Action: - - 'redshift-data:ListTables' - - 'redshift-data:GetStatementResult' - - 'redshift-data:CancelStatement' - - 'redshift-data:ListSchemas' - - 'redshift-data:ExecuteStatement' - - 'redshift-data:ListStatements' - - 'redshift-data:ListDatabases' - - 'redshift-data:DescribeStatement' - Resource: '*' - Condition: - StringEqualsIfExists: - 'aws:ResourceTag/dataall': 'true' - - Sid: DevTools0 - Effect: Allow - Action: 'cloudformation:ValidateTemplate' - Resource: '*' - - Sid: DevTools1 - Effect: Allow - Action: - - 'secretsmanager:CreateSecret' - - 'secretsmanager:DeleteSecret' - - 'secretsmanager:TagResource' - - 'codebuild:DeleteProject' - Resource: '*' - Condition: - StringEquals: - 'aws:ResourceTag/dataall': 'true' - - Sid: DevTools2 - Effect: Allow - Action: - - 'codebuild:CreateProject' - - 'ecr:CreateRepository' - - 'ssm:PutParameter' - - 'ssm:AddTagsToResource' - Resource: '*' - Condition: - StringEquals: - 'aws:RequestTag/dataall': 'true' - Sid: CloudFormation Effect: Allow Action: - - 'cloudformation:CreateStack' + - 'cloudformation:DescribeStacks' + - 'cloudformation:DescribeStackResources' + - 'cloudformation:DescribeStackEvents' + - 'cloudformation:DeleteStack' Resource: - !Sub 'arn:aws:cloudformation:*:${AWS::AccountId}:stack/${EnvironmentResourcePrefix}*/*' - !Sub 'arn:aws:cloudformation:*:${AWS::AccountId}:stack/CDKToolkit/*' - - Sid: CloudFormation2 + - Sid: CloudFormationDataPipelines Effect: Allow Action: - 'cloudformation:DescribeStacks' - 'cloudformation:DescribeStackResources' - 'cloudformation:DescribeStackEvents' - 'cloudformation:DeleteStack' - - 'cloudformation:GetTemplate' - - 'cloudformation:ListStackResources' - - 'cloudformation:DescribeStackResource' Resource: - - !Sub 'arn:aws:cloudformation:*:${AWS::AccountId}:stack/${EnvironmentResourcePrefix}*/*' - - !Sub 'arn:aws:cloudformation:*:${AWS::AccountId}:stack/CDKToolkit/*' - !Sub 'arn:aws:cloudformation:*:${AWS::AccountId}:stack/*/*' ManagedPolicyName: !Sub ${EnvironmentResourcePrefix}-pivotrole-policy-1 Roles: @@ -505,8 +346,6 @@ Resources: - Sid: LakeFormation Effect: Allow Action: - - "lakeformation:RegisterResource" - - "lakeformation:DeregisterResource" - "lakeformation:UpdateResource" - "lakeformation:DescribeResource" - "lakeformation:AddLFTagsToResource" @@ -533,61 +372,10 @@ Resources: - 'lakeformation:GetWorkUnitResults' - 'lakeformation:GetQueryState' - 'lakeformation:GetQueryStatistics' - - 'lakeformation:StartTransaction' - - 'lakeformation:CommitTransaction' - - 'lakeformation:CancelTransaction' - - 'lakeformation:ExtendTransaction' - - 'lakeformation:DescribeTransaction' - - 'lakeformation:ListTransactions' - 'lakeformation:GetTableObjects' - 'lakeformation:UpdateTableObjects' - 'lakeformation:DeleteObjectsOnCancel' Resource: '*' - - Sid: Compute - Effect: Allow - Action: - - 'lambda:CreateFunction' - - 'lambda:AddPermission' - - 'lambda:InvokeFunction' - - 'lambda:RemovePermission' - - 'lambda:GetFunction' - - 'lambda:GetFunctionConfiguration' - - 'lambda:DeleteFunction' - - 'ecr:CreateRepository' - - 'ecr:SetRepositoryPolicy' - - 'ecr:DeleteRepository' - - 'ecr:DescribeImages' - - 'ecr:BatchDeleteImage' - - 'codepipeline:GetPipelineState' - - 'codepipeline:DeletePipeline' - - 'codepipeline:GetPipeline' - - 'codepipeline:CreatePipeline' - - 'codepipeline:TagResource' - - 'codepipeline:UntagResource' - Resource: - - !Sub 'arn:aws:lambda:*:${AWS::AccountId}:function:${EnvironmentResourcePrefix}*' - - !Sub 'arn:aws:s3:::${EnvironmentResourcePrefix}*' - - !Sub 'arn:aws:codepipeline:*:${AWS::AccountId}:${EnvironmentResourcePrefix}*' - - !Sub 'arn:aws:ecr:*:${AWS::AccountId}:repository/${EnvironmentResourcePrefix}*' - - Sid: DatabrewList - Effect: Allow - Action: - - 'databrew:List*' - Resource: '*' - - Sid: DatabrewPermissions - Effect: Allow - Action: - - 'databrew:BatchDeleteRecipeVersion' - - 'databrew:Delete*' - - 'databrew:Describe*' - - 'databrew:PublishRecipe' - - 'databrew:SendProjectSessionAction' - - 'databrew:Start*' - - 'databrew:Stop*' - - 'databrew:TagResource' - - 'databrew:UntagResource' - - 'databrew:Update*' - Resource: !Sub 'arn:aws:databrew:*:${AWS::AccountId}:*/${EnvironmentResourcePrefix}*' - Sid: QuickSight Effect: Allow Action: @@ -641,19 +429,6 @@ Resources: - !Sub 'arn:aws:ssm:*:${AWS::AccountId}:parameter/${EnvironmentResourcePrefix}/*' - !Sub 'arn:aws:ssm:*:${AWS::AccountId}:parameter/dataall/*' - !Sub 'arn:aws:ssm:*:${AWS::AccountId}:parameter/ddk/*' - - Sid: Secretsmanager - Effect: Allow - Action: - - "secretsmanager:DescribeSecret" - - "secretsmanager:GetSecretValue" - Resource: - - !Sub 'arn:aws:secretsmanager:*:${AWS::AccountId}:secret:${EnvironmentResourcePrefix}*' - - !Sub 'arn:aws:secretsmanager:*:${AWS::AccountId}:secret:dataall*' - - Sid: SecretsmanagerList - Effect: Allow - Action: - - "secretsmanager:ListSecrets" - Resource: '*' - Sid: IAMListGet Action: - 'iam:Get*' @@ -671,24 +446,23 @@ Resources: - 'iam:PassRole' Effect: Allow Resource: - - !Sub 'arn:aws:iam::${AWS::AccountId}:role/${EnvironmentResourcePrefix}*' - !Sub 'arn:aws:iam::${AWS::AccountId}:role/${PivotRoleName}' - - !Sub 'arn:aws:iam::${AWS::AccountId}:role/cdk-*' - - Sid: STS + - Sid: IAMPassRoleGlue Action: - - 'sts:AssumeRole' + - 'iam:PassRole' Effect: Allow Resource: - !Sub 'arn:aws:iam::${AWS::AccountId}:role/${EnvironmentResourcePrefix}*' - - !Sub 'arn:aws:iam::${AWS::AccountId}:role/ddk-*' - - Sid: StepFunctions + Condition: + StringEquals: + 'iam:PassedToService': [ "glue.amazonaws.com" ] + - Sid: STS Action: - - 'states:DescribeStateMachine' - - 'states:ListExecutions' - - 'states:StartExecution' + - 'sts:AssumeRole' Effect: Allow Resource: - - !Sub 'arn:aws:states:*:${AWS::AccountId}:stateMachine:${EnvironmentResourcePrefix}*' + - !Sub 'arn:aws:iam::${AWS::AccountId}:role/${EnvironmentResourcePrefix}*' + - !Sub 'arn:aws:iam::${AWS::AccountId}:role/ddk-*' - Sid: CodeCommit Action: - 'codecommit:GetFile' diff --git a/deploy/requirements.txt b/deploy/requirements.txt index 4490b9d4a..fdc8a53e5 100644 --- a/deploy/requirements.txt +++ b/deploy/requirements.txt @@ -1,4 +1,4 @@ -aws-cdk-lib==2.77.0 +aws-cdk-lib==2.78.0 boto3-stubs==1.20.20 boto3==1.24.85 botocore==1.27.85 diff --git a/deploy/stacks/aurora.py b/deploy/stacks/aurora.py index 6fe1975b0..d1b5d36a8 100644 --- a/deploy/stacks/aurora.py +++ b/deploy/stacks/aurora.py @@ -29,6 +29,7 @@ def __init__( ): super().__init__(scope, id, **kwargs) + # if exclude_characters property is set make sure that the pwd regex in DbConfig is changed accordingly db_credentials = rds.DatabaseSecret( self, f'{resource_prefix}-{envname}-aurora-db', username='dtaadmin' ) @@ -52,60 +53,9 @@ def __init__( security_group_name=f'{resource_prefix}-{envname}-aurora-sg', vpc=vpc, allow_all_outbound=False, + disable_inline_rules=True ) - if lambdas: - l: _lambda.Function - for l in lambdas: - sgs = l.connections.security_groups - for i, sg in enumerate(sgs): - db_security_group.add_ingress_rule( - peer=sg, - connection=ec2.Port.tcp(5432), - description=f'Allow dataall lambda {l.function_name}', - ) - - if ecs_security_groups: - for sg in ecs_security_groups: - db_security_group.add_ingress_rule( - peer=sg, - connection=ec2.Port.tcp(5432), - description=f'Allow dataall ECS cluster tasks', - ) - - if codebuild_dbmigration_sg: - db_security_group.add_ingress_rule( - peer=codebuild_dbmigration_sg, - connection=ec2.Port.tcp(5432), - description=f'Allow dataall ECS codebuild alembic migration', - ) - - if quicksight_monitoring_sg: - db_security_group.add_ingress_rule( - peer=quicksight_monitoring_sg, - connection=ec2.Port.tcp(5432), - description=f'Allow Quicksight connection from Quicksight to RDS port', - ) - - db_security_group.add_egress_rule( - peer=quicksight_monitoring_sg, - connection=ec2.Port.all_tcp(), - description=f'Allow Quicksight connection from RDS to Quicksight', - ) - - quicksight_monitoring_sg.add_ingress_rule( - peer=db_security_group, - connection=ec2.Port.all_tcp(), - description=f'Allow RDS from RDS to Quicksight', - ) - - quicksight_monitoring_sg.add_egress_rule( - peer=db_security_group, - connection=ec2.Port.tcp(5432), - description=f'Allow RDS from Quicksight to RDS', - ) - - key = aws_kms.Key( self, f'AuroraKMSKey', @@ -146,18 +96,52 @@ def __init__( storage_encryption_key=key, ) database.add_rotation_single_user(automatically_after=Duration.days(90)) + + # Allow Lambda Connections + if lambdas: + l: _lambda.Function + for l in lambdas: + database.connections.allow_from( + l.connections, + ec2.Port.tcp(5432), + f'Allow dataall lambda {l.function_name}', + ) + + # Allow ECS Connections + if ecs_security_groups: + for sg in ecs_security_groups: + database.connections.allow_from( + ec2.Connections(security_groups=[sg]), + ec2.Port.tcp(5432), + f'Allow dataall ecs to db connection', + ) + + # Allow CodeBuild DB Migration Connections + if codebuild_dbmigration_sg: + database.connections.allow_from( + ec2.Connections(security_groups=[codebuild_dbmigration_sg]), + ec2.Port.tcp(5432), + 'Allow dataall ECS codebuild alembic migration', + ) + + if quicksight_monitoring_sg: + database.connections.allow_from( + ec2.Connections(security_groups=[quicksight_monitoring_sg]), + ec2.Port.tcp(5432), + 'Allow Quicksight connection from Quicksight to RDS port', + ) + database.connections.allow_to( + ec2.Connections(security_groups=[quicksight_monitoring_sg]), + ec2.Port.all_tcp(), + 'Allow Quicksight connection from RDS to Quicksight', + ) + ssm.StringParameter( self, 'DatabaseHostParameter', parameter_name=f'/dataall/{envname}/aurora/hostname', string_value=str(database.cluster_endpoint.hostname), ) - ssm.StringParameter( - self, - 'DatabasePortParameter', - parameter_name=f'/dataall/{envname}/aurora/port', - string_value=str(database.cluster_endpoint.port), - ) ssm.StringParameter( self, diff --git a/deploy/stacks/backend_stack.py b/deploy/stacks/backend_stack.py index ee88405d4..65d4371ca 100644 --- a/deploy/stacks/backend_stack.py +++ b/deploy/stacks/backend_stack.py @@ -1,4 +1,5 @@ from builtins import super +import boto3 from aws_cdk import aws_ecr as ecr from aws_cdk import aws_iam as iam @@ -29,6 +30,7 @@ def __init__( id, envname: str = 'dev', resource_prefix='dataall', + tooling_region=None, tooling_account_id=None, ecr_repository=None, image_tag=None, @@ -46,6 +48,8 @@ def __init__( shared_dashboard_sessions='anonymous', enable_pivot_role_auto_create=False, enable_opensearch_serverless=False, + codeartifact_domain_name=None, + codeartifact_pip_repo_name=None, **kwargs, ): super().__init__(scope, id, **kwargs) @@ -65,6 +69,8 @@ def __init__( ) vpc = self.vpc_stack.vpc vpc_endpoints_sg = self.vpc_stack.vpce_security_group + vpce_connection = ec2.Connections(security_groups=[vpc_endpoints_sg]) + self.s3_prefix_list = self.get_s3_prefix_list(tooling_region) self.pivot_role_name = f"dataallPivotRole{'-cdk' if enable_pivot_role_auto_create else ''}" @@ -78,18 +84,17 @@ def __init__( quicksight_enabled=quicksight_enabled, shared_dashboard_sessions=shared_dashboard_sessions, enable_pivot_role_auto_create=enable_pivot_role_auto_create, - **kwargs, - ) - - SecretsManagerStack( - self, - f'Secrets', - envname=envname, - resource_prefix=resource_prefix, - enable_cw_canaries=enable_cw_canaries, pivot_role_name=self.pivot_role_name, **kwargs, ) + if enable_cw_canaries: + SecretsManagerStack( + self, + f'Secrets', + envname=envname, + resource_prefix=resource_prefix, + **kwargs, + ) s3_resources_stack = S3ResourcesStack( self, @@ -129,6 +134,7 @@ def __init__( envname=envname, resource_prefix=resource_prefix, vpc=vpc, + vpce_connection=vpce_connection, sqs_queue=sqs_stack.queue, image_tag=image_tag, ecr_repository=repo, @@ -147,12 +153,18 @@ def __init__( envname=envname, resource_prefix=resource_prefix, vpc=vpc, - vpc_endpoints_sg=vpc_endpoints_sg, + vpce_connection=vpce_connection, ecr_repository=repo, image_tag=image_tag, prod_sizing=prod_sizing, pivot_role_name=self.pivot_role_name, tooling_account_id=tooling_account_id, + s3_prefix_list=self.s3_prefix_list, + lambdas=[ + self.lambda_api_stack.aws_handler, + self.lambda_api_stack.api_handler, + self.lambda_api_stack.elasticsearch_proxy_handler, + ], **kwargs, ) @@ -162,8 +174,12 @@ def __init__( envname=envname, resource_prefix=resource_prefix, vpc=vpc, + s3_prefix_list=self.s3_prefix_list, tooling_account_id=tooling_account_id, pipeline_bucket=pipeline_bucket, + vpce_connection=vpce_connection, + codeartifact_domain_name=codeartifact_domain_name, + codeartifact_pip_repo_name=codeartifact_pip_repo_name, **kwargs, ) @@ -243,6 +259,7 @@ def __init__( security_group_name=f'{resource_prefix}-{envname}-quicksight-monitoring-sg', vpc=vpc, allow_all_outbound=False, + disable_inline_rules=True, ) else: @@ -342,3 +359,15 @@ def create_opensearch_serverless_stack(self): collection_id=aoss_stack.collection_id, collection_name=aoss_stack.collection_name, ) + + def get_s3_prefix_list(self, tooling_region): + ec2_client = boto3.client("ec2", region_name=tooling_region) + response = ec2_client.describe_prefix_lists( + Filters=[ + { + 'Name': 'prefix-list-name', + 'Values': [f'com.amazonaws.{tooling_region}.s3'] + }, + ] + ) + return response['PrefixLists'][0].get("PrefixListId") diff --git a/deploy/stacks/backend_stage.py b/deploy/stacks/backend_stage.py index 86a21ba86..da39862db 100644 --- a/deploy/stacks/backend_stage.py +++ b/deploy/stacks/backend_stage.py @@ -14,6 +14,7 @@ def __init__( resource_prefix='dataall', ecr_repository=None, commit_id=None, + tooling_region=None, tooling_account_id=None, pipeline_bucket=None, vpc_id=None, @@ -29,6 +30,8 @@ def __init__( shared_dashboard_sessions='anonymous', enable_opensearch_serverless=False, enable_pivot_role_auto_create=False, + codeartifact_domain_name=None, + codeartifact_pip_repo_name=None, **kwargs, ): super().__init__(scope, id, **kwargs) @@ -38,6 +41,7 @@ def __init__( f'backend-stack', envname=envname, resource_prefix=resource_prefix, + tooling_region=tooling_region, tooling_account_id=tooling_account_id, ecr_repository=ecr_repository, pipeline_bucket=pipeline_bucket, @@ -55,6 +59,8 @@ def __init__( shared_dashboard_sessions=shared_dashboard_sessions, enable_opensearch_serverless=enable_opensearch_serverless, enable_pivot_role_auto_create=enable_pivot_role_auto_create, + codeartifact_domain_name=codeartifact_domain_name, + codeartifact_pip_repo_name=codeartifact_pip_repo_name, **kwargs, ) diff --git a/deploy/stacks/cloudfront.py b/deploy/stacks/cloudfront.py index 382b91d8e..b654320f0 100644 --- a/deploy/stacks/cloudfront.py +++ b/deploy/stacks/cloudfront.py @@ -5,6 +5,7 @@ aws_ssm as ssm, aws_s3 as s3, aws_cloudfront as cloudfront, + aws_cloudfront_origins as origins, aws_certificatemanager as acm, aws_route53 as route53, aws_route53_targets as route53_targets, @@ -285,43 +286,24 @@ def __init__( ) ) - cloudfront_distribution = cloudfront.CloudFrontWebDistribution( + cloudfront_distribution = cloudfront.Distribution( self, 'CloudFrontDistribution', - viewer_certificate=frontend_alias_configuration, - origin_configs=[ - cloudfront.SourceConfiguration( - s3_origin_source=cloudfront.S3OriginConfig( - s3_bucket_source=cloudfront_bucket, - origin_access_identity=origin_access_identity, - ), - behaviors=[ - cloudfront.Behavior( - is_default_behavior=True, default_ttl=Duration.hours(1) - ) - ], - ) - ], - viewer_protocol_policy=cloudfront.ViewerProtocolPolicy.REDIRECT_TO_HTTPS, - default_root_object='index.html', - error_configurations=[ - cloudfront.CfnDistribution.CustomErrorResponseProperty( - error_code=404, - response_code=404, - error_caching_min_ttl=0, - response_page_path='/index.html', + certificate=frontend_alias_configuration, + default_behavior=cloudfront.BehaviorOptions( + origin=origins.S3Origin( + bucket=cloudfront_bucket, + origin_access_identity=origin_access_identity ), - cloudfront.CfnDistribution.CustomErrorResponseProperty( - error_code=403, - response_code=403, - error_caching_min_ttl=0, - response_page_path='/index.html', - ), - ], - web_acl_id=acl.get_att('Arn').to_string(), - logging_config=cloudfront.LoggingConfiguration( - bucket=logging_bucket, prefix='cloudfront-logs/frontend' + viewer_protocol_policy=cloudfront.ViewerProtocolPolicy.REDIRECT_TO_HTTPS, + response_headers_policy=cloudfront.ResponseHeadersPolicy.SECURITY_HEADERS, + cache_policy=cloudfront.CachePolicy.CACHING_OPTIMIZED, ), + default_root_object='index.html', + error_responses=self.error_responses(), + web_acl_id=acl.get_att('Arn').to_string(), + log_bucket=logging_bucket, + log_file_prefix='cloudfront-logs/frontend', ) ssm_distribution_id = ssm.StringParameter( @@ -558,120 +540,47 @@ def build_static_site( cloudfront_bucket.grant_read(origin_access_identity) - cloudfront_distribution = cloudfront.CloudFrontWebDistribution( + cloudfront_distribution = cloudfront.Distribution( self, f'{construct_id}Distribution', - viewer_certificate=alias_configuration, - origin_configs=[ - cloudfront.SourceConfiguration( - custom_origin_source=cloudfront.CustomOriginConfig( - domain_name='example.org', - origin_protocol_policy=cloudfront.OriginProtocolPolicy.MATCH_VIEWER, - ), - behaviors=[ - cloudfront.Behavior( - path_pattern='/parseauth', - compress=True, - forwarded_values=cloudfront.CfnDistribution.ForwardedValuesProperty( - query_string=True - ), - lambda_function_associations=[ - cloudfront.LambdaFunctionAssociation( - event_type=cloudfront.LambdaEdgeEventType.VIEWER_REQUEST, - lambda_function=_lambda.Version.from_version_arn( - self, - f'{construct_id}ParserV', - version_arn=parse, - ), - ) - ], - ), - cloudfront.Behavior( - path_pattern='/refreshauth', - compress=True, - forwarded_values=cloudfront.CfnDistribution.ForwardedValuesProperty( - query_string=True - ), - lambda_function_associations=[ - cloudfront.LambdaFunctionAssociation( - event_type=cloudfront.LambdaEdgeEventType.VIEWER_REQUEST, - lambda_function=_lambda.Version.from_version_arn( - self, - f'{construct_id}RefresherV', - version_arn=refresh, - ), - ) - ], - ), - cloudfront.Behavior( - path_pattern='/signout', - compress=True, - forwarded_values=cloudfront.CfnDistribution.ForwardedValuesProperty( - query_string=True - ), - lambda_function_associations=[ - cloudfront.LambdaFunctionAssociation( - event_type=cloudfront.LambdaEdgeEventType.VIEWER_REQUEST, - lambda_function=_lambda.Version.from_version_arn( - self, - f'{construct_id}SingouterV', - version_arn=signout, - ), - ) - ], - ), - ], + certificate=alias_configuration, + default_behavior=cloudfront.BehaviorOptions( + viewer_protocol_policy=cloudfront.ViewerProtocolPolicy.REDIRECT_TO_HTTPS, + response_headers_policy=cloudfront.ResponseHeadersPolicy.SECURITY_HEADERS, + cache_policy=cloudfront.CachePolicy.CACHING_OPTIMIZED, + compress=True, + origin=origins.S3Origin( + bucket=cloudfront_bucket, + origin_access_identity=origin_access_identity ), - cloudfront.SourceConfiguration( - s3_origin_source=cloudfront.S3OriginConfig( - s3_bucket_source=cloudfront_bucket, - origin_access_identity=origin_access_identity, + + edge_lambdas=[ + cloudfront.EdgeLambda( + event_type=cloudfront.LambdaEdgeEventType.VIEWER_REQUEST, + function_version=self.func_version(f'{construct_id}CheckerV', check) ), - behaviors=[ - cloudfront.Behavior( - is_default_behavior=True, - compress=True, - forwarded_values=cloudfront.CfnDistribution.ForwardedValuesProperty( - query_string=True - ), - lambda_function_associations=[ - cloudfront.LambdaFunctionAssociation( - event_type=cloudfront.LambdaEdgeEventType.VIEWER_REQUEST, - lambda_function=_lambda.Version.from_version_arn( - self, - f'{construct_id}CheckerV', - version_arn=check, - ), - ), - cloudfront.LambdaFunctionAssociation( - event_type=cloudfront.LambdaEdgeEventType.ORIGIN_RESPONSE, - lambda_function=self.http_header_func.current_version, - ), - ], - ), - ], + cloudfront.EdgeLambda( + event_type=cloudfront.LambdaEdgeEventType.VIEWER_RESPONSE, + function_version=self.http_header_func.current_version, + ), + ], + ), + additional_behaviors={ + '/parseauth': self.additional_documentation_behavior( + self.func_version(f'{construct_id}ParserV', parse) ), - ], - viewer_protocol_policy=cloudfront.ViewerProtocolPolicy.REDIRECT_TO_HTTPS, - default_root_object='index.html', - error_configurations=[ - cloudfront.CfnDistribution.CustomErrorResponseProperty( - error_code=404, - response_code=404, - error_caching_min_ttl=0, - response_page_path='/index.html', + '/refreshauth': self.additional_documentation_behavior( + self.func_version(f'{construct_id}RefresherV', refresh) ), - cloudfront.CfnDistribution.CustomErrorResponseProperty( - error_code=403, - response_code=403, - error_caching_min_ttl=0, - response_page_path='/index.html', + '/signout': self.additional_documentation_behavior( + self.func_version(f'{construct_id}SingouterV', signout) ), - ], + }, + default_root_object='index.html', + error_responses=self.error_responses(), web_acl_id=acl.get_att('Arn').to_string(), - logging_config=cloudfront.LoggingConfiguration( - bucket=logging_bucket, prefix=f'cloudfront-logs/{construct_id}' - ), + log_bucket=logging_bucket, + log_file_prefix=f'cloudfront-logs/{construct_id}' ) param_path = f'/dataall/{envname}/cloudfront/docs/user' @@ -702,3 +611,40 @@ def store_distribution_params( parameter_name=f'{param_path}/CloudfrontDistributionBucket', string_value=cloudfront_bucket.bucket_name, ) + + @staticmethod + def additional_documentation_behavior(func) -> cloudfront.BehaviorOptions: + return cloudfront.BehaviorOptions( + origin=origins.HttpOrigin('example.org'), + viewer_protocol_policy=cloudfront.ViewerProtocolPolicy.REDIRECT_TO_HTTPS, + compress=True, + cache_policy=cloudfront.CachePolicy.CACHING_OPTIMIZED, + response_headers_policy=cloudfront.ResponseHeadersPolicy.SECURITY_HEADERS, + + edge_lambdas=[ + cloudfront.EdgeLambda( + event_type=cloudfront.LambdaEdgeEventType.VIEWER_REQUEST, + function_version=func + ) + ], + ) + + def func_version(self, name, arn): + return _lambda.Version.from_version_arn(self, name, version_arn=arn) + + @staticmethod + def error_responses(): + return [ + cloudfront.ErrorResponse( + http_status=404, + response_http_status=404, + ttl=Duration.seconds(0), + response_page_path='/index.html', + ), + cloudfront.ErrorResponse( + http_status=403, + response_http_status=403, + ttl=Duration.seconds(0), + response_page_path='/index.html', + ), + ] \ No newline at end of file diff --git a/deploy/stacks/codeartifact.py b/deploy/stacks/codeartifact.py index 542057ca8..b28c6aaa2 100644 --- a/deploy/stacks/codeartifact.py +++ b/deploy/stacks/codeartifact.py @@ -36,6 +36,27 @@ def __init__( ) domain_dict['permissions_policy_document'] = domain_policy + pip_repo_policy = iam.PolicyDocument( + statements=[ + iam.PolicyStatement( + effect=iam.Effect.ALLOW, + actions=[ + "codeartifact:DescribePackageVersion", + "codeartifact:DescribeRepository", + "codeartifact:GetPackageVersionReadme", + "codeartifact:GetRepositoryEndpoint", + "codeartifact:ListPackageVersionAssets", + "codeartifact:ListPackageVersionDependencies", + "codeartifact:ListPackageVersions", + "codeartifact:ListPackages", + "codeartifact:ReadFromRepository" + ], + principals=principals, + resources=['*'], + ) + ] + ) + domain = codeartifact.CfnDomain(self, 'CodeArtifactDomain', **domain_dict) npm_repo = codeartifact.CfnRepository( self, @@ -57,6 +78,7 @@ def __init__( external_connections=[ 'public:pypi', ], + permissions_policy_document=pip_repo_policy ) pip_repo.add_override('Properties.DomainName', domain.domain_name) pip_repo.add_depends_on(domain) @@ -64,3 +86,15 @@ def __init__( self.domain = domain self.npm_repo = npm_repo self.pip_repo = pip_repo + + @property + def codeartifact_domain_name(self) -> str: + return self.domain.domain_name + + @property + def codeartifact_pip_repo_name(self) -> str: + return self.pip_repo.repository_name + + @property + def codeartifact_npm_repo_name(self) -> str: + return self.npm_repo.repository_name \ No newline at end of file diff --git a/deploy/stacks/container.py b/deploy/stacks/container.py index 544a72e18..be002fd30 100644 --- a/deploy/stacks/container.py +++ b/deploy/stacks/container.py @@ -19,7 +19,7 @@ def __init__( scope, id, vpc: ec2.Vpc = None, - vpc_endpoints_sg: ec2.SecurityGroup = None, + vpce_connection: ec2.Connections = None, envname='dev', resource_prefix='dataall', ecr_repository=None, @@ -27,6 +27,8 @@ def __init__( prod_sizing=False, pivot_role_name=None, tooling_account_id=None, + s3_prefix_list=None, + lambdas=None, **kwargs, ): super().__init__(scope, id, **kwargs) @@ -35,8 +37,16 @@ def __init__( image_tag = self.node.try_get_context('image_tag') cdkproxy_image_tag = f'cdkproxy-{image_tag}' - - self.ecs_security_groups: [aws_ec2.SecurityGroup] = [] + + (self.scheduled_tasks_sg, self.share_manager_sg) = self.create_ecs_security_groups( + envname, + resource_prefix, + vpc, + vpce_connection, + s3_prefix_list, + lambdas + ) + self.ecs_security_groups: [aws_ec2.SecurityGroup] = [self.scheduled_tasks_sg, self.share_manager_sg] cluster = ecs.Cluster( self, @@ -133,10 +143,6 @@ def __init__( string_value=cdkproxy_container_name, ) - scheduled_tasks_sg = self.create_task_sg( - envname, resource_prefix, vpc, vpc_endpoints_sg - ) - sync_tables_task, sync_tables_task_def = self.set_scheduled_task( cluster=cluster, command=['python3.8', '-m', 'dataall.tasks.tables_syncer'], @@ -156,10 +162,9 @@ def __init__( task_id=f'{resource_prefix}-{envname}-tables-syncer', task_role=self.task_role, vpc=vpc, - security_group=scheduled_tasks_sg, + security_group=self.scheduled_tasks_sg, prod_sizing=prod_sizing, ) - self.ecs_security_groups.extend(sync_tables_task.task.security_groups) catalog_indexer_task, catalog_indexer_task_def = self.set_scheduled_task( cluster=cluster, @@ -180,10 +185,9 @@ def __init__( task_id=f'{resource_prefix}-{envname}-catalog-indexer', task_role=self.task_role, vpc=vpc, - security_group=scheduled_tasks_sg, + security_group=self.scheduled_tasks_sg, prod_sizing=prod_sizing, ) - self.ecs_security_groups.extend(catalog_indexer_task.task.security_groups) stacks_updater, stacks_updater_task_def = self.set_scheduled_task( cluster=cluster, @@ -204,10 +208,9 @@ def __init__( task_id=f'{resource_prefix}-{envname}-stacks-updater', task_role=self.task_role, vpc=vpc, - security_group=scheduled_tasks_sg, + security_group=self.scheduled_tasks_sg, prod_sizing=prod_sizing, ) - self.ecs_security_groups.extend(stacks_updater.task.security_groups) ssm.StringParameter( self, @@ -235,12 +238,9 @@ def __init__( task_id=f'{resource_prefix}-{envname}-policies-updater', task_role=self.task_role, vpc=vpc, - security_group=scheduled_tasks_sg, + security_group=self.scheduled_tasks_sg, prod_sizing=prod_sizing, ) - self.ecs_security_groups.extend( - update_bucket_policies_task.task.security_groups - ) subscriptions_task, subscription_task_def = self.set_scheduled_task( cluster=cluster, @@ -265,10 +265,9 @@ def __init__( task_id=f'{resource_prefix}-{envname}-subscriptions', task_role=self.task_role, vpc=vpc, - security_group=scheduled_tasks_sg, + security_group=self.scheduled_tasks_sg, prod_sizing=prod_sizing, ) - self.ecs_security_groups.extend(subscriptions_task.task.security_groups) share_management_task_definition = ecs.FargateTaskDefinition( self, @@ -333,13 +332,6 @@ def __init__( ), ) - ssm.StringParameter( - self, - f'SecurityGroup{envname}', - parameter_name=f'/dataall/{envname}/ecs/security_groups', - string_value=','.join([s.security_group_id for s in sync_tables_task.task.security_groups]), - ) - self.ecs_cluster = cluster self.ecs_task_definitions_families = [ cdkproxy_task_definition.family, @@ -350,6 +342,80 @@ def __init__( subscriptions_task.task_definition.family, ] + def create_ecs_security_groups(self, envname, resource_prefix, vpc, vpce_connection, s3_prefix_list, lambdas): + scheduled_tasks_sg = ec2.SecurityGroup( + self, + f'ScheduledTasksSG{envname}', + security_group_name=f'{resource_prefix}-{envname}-ecs-tasks-sg', + vpc=vpc, + allow_all_outbound=False, + disable_inline_rules=True, + ) + + # Requires RAM Access via NAT + share_manager_sg = ec2.SecurityGroup( + self, + f'ShareManagerSG{envname}', + security_group_name=f'{resource_prefix}-{envname}-ecs-share-manager-tasks-sg', + vpc=vpc, + allow_all_outbound=False, + disable_inline_rules=True, + ) + + for sg in [scheduled_tasks_sg,share_manager_sg]: + sg_connection = ec2.Connections(security_groups=[sg]) + # Add ECS to VPC Endpoint Connection + if vpce_connection: + sg_connection.allow_to( + vpce_connection, + ec2.Port.tcp(443), + 'Allow ECS to VPC Endpoint SG' + ) + sg_connection.allow_from( + vpce_connection, + ec2.Port.tcp_range(start_port=1024, end_port=65535), + 'Allow ECS from VPC Endpoint SG' + ) + # Add S3 Prefix List Connection + if s3_prefix_list: + sg_connection.allow_to( + ec2.Connections(peer=ec2.Peer.prefix_list(s3_prefix_list)), + ec2.Port.tcp(443), + 'Allow ECS Task to S3 Prefix List' + ) + + # Add Lambda to ECS Connection + if lambdas: + for l in lambdas: + sg_connection.connections.allow_from( + l.connections, + ec2.Port.tcp(443), + 'Allow Lambda to ECS Connection' + ) + + # Add NAT Gateway Access for Cross-region requests in same region the more specific rules apply + sg_connection.allow_to( + ec2.Peer.any_ipv4(), + ec2.Port.tcp(443), + 'Allow NAT Internet Access SG Egress' + ) + + # Create SSM of Security Group IDs + ssm.StringParameter( + self, + f'SecurityGroup{envname}', + parameter_name=f'/dataall/{envname}/ecs/security_groups', + string_value=scheduled_tasks_sg.security_group_id, + ) + ssm.StringParameter( + self, + f'SecurityGroupShareManager{envname}', + parameter_name=f'/dataall/{envname}/ecs/sharemanager_security_groups', + string_value=share_manager_sg.security_group_id, + ) + + return scheduled_tasks_sg, share_manager_sg + def create_cicd_stacks_updater_role(self, envname, resource_prefix, tooling_account_id): cicd_stacks_updater_role = iam.Role( self, @@ -487,31 +553,6 @@ def create_task_role(self, envname, resource_prefix, pivot_role_name): task_role.grant_pass_role(task_role) return task_role - def create_task_sg(self, envname, resource_prefix, vpc, vpc_endpoints_sg): - if vpc_endpoints_sg: - scheduled_tasks_sg = ec2.SecurityGroup( - self, - f'ScheduledTasksSG{envname}', - security_group_name=f'{resource_prefix}-{envname}-ecs-tasks-sg', - vpc=vpc, - allow_all_outbound=False, - ) - - scheduled_tasks_sg.add_egress_rule( - peer=vpc_endpoints_sg, - connection=ec2.Port.tcp(443), - description='Allow VPC Endpoint SG Egress', - ) - else: - scheduled_tasks_sg = ec2.SecurityGroup( - self, - f'ScheduledTasksSG{envname}', - security_group_name=f'{resource_prefix}-{envname}-ecs-tasks-sg', - vpc=vpc, - allow_all_outbound=True, - ) - return scheduled_tasks_sg - def create_log_group(self, envname, resource_prefix, log_group_name): log_group = logs.LogGroup( self, @@ -601,8 +642,8 @@ def set_scheduled_task( subnet_type=ec2.SubnetType.PRIVATE_WITH_NAT ).subnets ), - rule_name=scheduled_task_id - # security_groups=[security_group], + rule_name=scheduled_task_id, + security_groups=[security_group], ) return scheduled_task, task diff --git a/deploy/stacks/dbmigration.py b/deploy/stacks/dbmigration.py index f48712795..d71320ebe 100644 --- a/deploy/stacks/dbmigration.py +++ b/deploy/stacks/dbmigration.py @@ -11,10 +11,14 @@ def __init__( scope, id, vpc, + s3_prefix_list=None, envname='dev', resource_prefix='dataall', pipeline_bucket: str = None, tooling_account_id=None, + codeartifact_domain_name=None, + codeartifact_pip_repo_name=None, + vpce_connection=None, **kwargs, ): super().__init__(scope, id, **kwargs) @@ -82,13 +86,56 @@ def __init__( ], ), ) + self.build_project_role.add_to_policy( + iam.PolicyStatement( + actions=[ + "codeartifact:GetAuthorizationToken", + "codeartifact:ReadFromRepository", + "codeartifact:GetRepositoryEndpoint", + "codeartifact:GetRepositoryPermissionsPolicy" + ], + resources=[ + f"arn:aws:codeartifact:*:{tooling_account_id}:repository/{codeartifact_domain_name}/{codeartifact_pip_repo_name}", + f"arn:aws:codeartifact:*:{tooling_account_id}:domain/{codeartifact_domain_name}", + ], + ), + ) + self.build_project_role.add_to_policy( + iam.PolicyStatement( + actions=[ + 'sts:GetServiceBearerToken' + ], + resources=['*'], + conditions={ + 'StringEquals': {'sts:AWSServiceName': 'codeartifact.amazonaws.com'} + }, + ), + ) self.codebuild_sg = ec2.SecurityGroup( self, f'DBMigrationCBSG{envname}', security_group_name=f'{resource_prefix}-{envname}-cb-dbmigration-sg', vpc=vpc, - allow_all_outbound=True, + allow_all_outbound=False, + disable_inline_rules=True ) + sg_connection = ec2.Connections(security_groups=[self.codebuild_sg]) + sg_connection.allow_to( + vpce_connection, + ec2.Port.tcp(443), + 'Allow DB Migration CodeBuild to VPC Endpoint SG' + ) + sg_connection.allow_from( + vpce_connection, + ec2.Port.tcp_range(start_port=1024, end_port=65535), + 'Allow DB Migration CodeBuild from VPC Endpoint' + ) + sg_connection.allow_to( + ec2.Connections(peer=ec2.Peer.prefix_list(s3_prefix_list)), + ec2.Port.tcp(443), + 'Allow DB Migration CodeBuild to S3 Prefix List' + ) + self.db_migration_project = codebuild.Project( scope=self, id=f'DBMigrationCBProject{envname}', @@ -107,6 +154,7 @@ def __init__( 'unzip source_build.zip', 'python -m venv env', '. env/bin/activate', + f'aws codeartifact login --tool pip --domain {codeartifact_domain_name} --domain-owner {tooling_account_id} --repository {codeartifact_pip_repo_name}', 'pip install -r backend/requirements.txt', 'pip install alembic', 'export PYTHONPATH=backend', diff --git a/deploy/stacks/lambda_api.py b/deploy/stacks/lambda_api.py index 95c670f78..f4ff3bb5c 100644 --- a/deploy/stacks/lambda_api.py +++ b/deploy/stacks/lambda_api.py @@ -36,6 +36,7 @@ def __init__( envname='dev', resource_prefix='dataall', vpc=None, + vpce_connection=None, sqs_queue: sqs.Queue = None, ecr_repository=None, image_tag=None, @@ -55,7 +56,9 @@ def __init__( image_tag = f'lambdas-{image_tag}' + self.esproxy_dlq = self.set_dlq(f'{resource_prefix}-{envname}-esproxy-dlq') + esproxy_sg = self.create_lambda_sgs(envname, "esproxy", resource_prefix, vpc) self.elasticsearch_proxy_handler = _lambda.DockerImageFunction( self, 'ElasticSearchProxyHandler', @@ -66,6 +69,7 @@ def __init__( repository=ecr_repository, tag=image_tag, cmd=['search_handler.handler'] ), vpc=vpc, + security_groups=[esproxy_sg], memory_size=1664 if prod_sizing else 256, timeout=Duration.minutes(15), environment={'envname': envname, 'LOG_LEVEL': 'INFO'}, @@ -76,6 +80,7 @@ def __init__( ) self.api_handler_dlq = self.set_dlq(f'{resource_prefix}-{envname}-graphql-dlq') + api_handler_sg = self.create_lambda_sgs(envname, "apihandler", resource_prefix, vpc) self.api_handler = _lambda.DockerImageFunction( self, 'LambdaGraphQL', @@ -86,6 +91,7 @@ def __init__( repository=ecr_repository, tag=image_tag, cmd=['api_handler.handler'] ), vpc=vpc, + security_groups=[api_handler_sg], memory_size=3008 if prod_sizing else 1024, timeout=Duration.minutes(15), environment={'envname': envname, 'LOG_LEVEL': 'INFO'}, @@ -96,6 +102,7 @@ def __init__( ) self.aws_handler_dlq = self.set_dlq(f'{resource_prefix}-{envname}-awsworker-dlq') + awsworker_sg = self.create_lambda_sgs(envname, "awsworker", resource_prefix, vpc) self.aws_handler = _lambda.DockerImageFunction( self, 'AWSWorker', @@ -109,6 +116,7 @@ def __init__( memory_size=1664 if prod_sizing else 256, timeout=Duration.minutes(15), vpc=vpc, + security_groups=[awsworker_sg], dead_letter_queue_enabled=True, dead_letter_queue=self.aws_handler_dlq, on_failure=lambda_destination.SqsDestination(self.aws_handler_dlq), @@ -121,6 +129,36 @@ def __init__( ) ) + # Add VPC Endpoint Connectivity + if vpce_connection: + for lmbda in [ + self.aws_handler, + self.api_handler, + self.elasticsearch_proxy_handler, + ]: + lmbda.connections.allow_from( + vpce_connection, + ec2.Port.tcp_range(start_port=1024, end_port=65535), + 'Allow Lambda from VPC Endpoint' + ) + lmbda.connections.allow_to( + vpce_connection, + ec2.Port.tcp(443), + 'Allow Lambda to VPC Endpoint' + ) + + # Add NAT Connectivity For API Handler + self.api_handler.connections.allow_to( + ec2.Peer.any_ipv4(), + ec2.Port.tcp(443), + 'Allow NAT Internet Access SG Egress' + ) + self.aws_handler.connections.allow_to( + ec2.Peer.any_ipv4(), + ec2.Port.tcp(443), + 'Allow NAT Internet Access SG Egress' + ) + self.backend_api_name = f'{resource_prefix}-{envname}-api' self.graphql_api, self.acl = self.create_api_gateway( @@ -141,6 +179,17 @@ def __init__( param_name='backend_sns_topic_arn', topic_name=f'{resource_prefix}-{envname}-backend-topic', ) + + def create_lambda_sgs(self, envname, name, resource_prefix, vpc): + lambda_sg = ec2.SecurityGroup( + self, + f'{name}SG{envname}', + security_group_name=f'{resource_prefix}-{envname}-{name}-sg', + vpc=vpc, + allow_all_outbound=False, + disable_inline_rules=True, + ) + return lambda_sg def create_function_role(self, envname, resource_prefix, fn_name, pivot_role_name): diff --git a/deploy/stacks/opensearch.py b/deploy/stacks/opensearch.py index 51ebbbaf2..118aff944 100644 --- a/deploy/stacks/opensearch.py +++ b/deploy/stacks/opensearch.py @@ -33,27 +33,9 @@ def __init__( security_group_name=f'{resource_prefix}-{envname}-elasticsearch-sg', vpc=vpc, allow_all_outbound=False, + disable_inline_rules=True, ) - if lambdas: - l: _lambda.Function - for l in lambdas: - sgs = l.connections.security_groups - for i, sg in enumerate(sgs): - db_security_group.add_ingress_rule( - peer=sg, - connection=ec2.Port.tcp(443), - description=f'Allow dataall lambda {l.function_name}', - ) - - if ecs_security_groups: - for sg in ecs_security_groups: - db_security_group.add_ingress_rule( - peer=sg, - connection=ec2.Port.tcp(443), - description=f'Allow dataall ECS cluster tasks', - ) - key = aws_kms.Key( self, f'ESKMSKey', @@ -115,6 +97,24 @@ def __init__( ], ) + if lambdas: + l: _lambda.Function + for l in lambdas: + self.domain.connections.allow_from( + l.connections, + ec2.Port.tcp(443), + f'Allow dataall opensearch to lambda {l.function_name}', + ) + + if ecs_security_groups: + for sg in ecs_security_groups: + sg_connection = ec2.Connections(security_groups=[sg]) + self.domain.connections.allow_from( + sg_connection, + ec2.Port.tcp(443), + f'Allow dataall opensearch to ecs sg', + ) + ssm.StringParameter( self, 'ElasticSearchEndpointParameter', diff --git a/deploy/stacks/param_store_stack.py b/deploy/stacks/param_store_stack.py index 2419d1f66..d2eddc50b 100644 --- a/deploy/stacks/param_store_stack.py +++ b/deploy/stacks/param_store_stack.py @@ -1,3 +1,7 @@ +import random +import string + +import boto3 from aws_cdk import ( aws_ssm, ) @@ -17,6 +21,7 @@ def __init__( quicksight_enabled=False, shared_dashboard_sessions='anonymous', enable_pivot_role_auto_create=False, + pivot_role_name='dataallPivotRole', **kwargs, ): super().__init__(scope, id, **kwargs) @@ -87,4 +92,47 @@ def __init__( f'dataallCreationPivotRole{envname}', parameter_name=f"/dataall/{envname}/pivotRole/enablePivotRoleAutoCreate", string_value=str(enable_pivot_role_auto_create), - ) \ No newline at end of file + ) + + aws_ssm.StringParameter( + self, + f'dataallPivotRoleName{envname}', + parameter_name=f"/dataall/{envname}/pivotRole/pivotRoleName", + string_value=str(pivot_role_name), + description=f"Stores dataall pivot role name for environment {envname}", + ) + + existing_external_id = _get_external_id_value(envname=envname, region=self.region) + external_id_value = existing_external_id if existing_external_id else _generate_external_id() + + aws_ssm.StringParameter( + self, + f'dataallExternalId{envname}', + parameter_name=f"/dataall/{envname}/pivotRole/externalId", + string_value=str(external_id_value), + description=f"Stores dataall external id for environment {envname}", + ) + +def _get_external_id_value(envname, region): + """For first deployments it returns False, + for existing deployments it returns the ssm parameter value generated in the first deployment + for prior to V1.5.1 upgrades it returns the secret from secrets manager + """ + session = boto3.Session() + secret_id = f"dataall-externalId-{envname}" + parameter_path = f"/dataall/{envname}/pivotRole/externalId" + try: + ssm_client = session.client('ssm', region_name=region) + parameter_value = ssm_client.get_parameter(Name=parameter_path)['Parameter']['Value'] + return parameter_value + except: + try: + secrets_client = session.client('secretsmanager', region_name=region) + secret_value = secrets_client.get_secret_value(SecretId=secret_id)['SecretString'] + return secret_value + except: + return False + +def _generate_external_id(): + allowed_chars = string.ascii_uppercase + string.ascii_lowercase + string.digits + return ''.join(random.choice(allowed_chars) for i in range(32)) \ No newline at end of file diff --git a/deploy/stacks/pipeline.py b/deploy/stacks/pipeline.py index 3b646575f..b914e40bc 100644 --- a/deploy/stacks/pipeline.py +++ b/deploy/stacks/pipeline.py @@ -32,7 +32,6 @@ def __init__( **kwargs, ): super().__init__(id, scope, **kwargs) - self.validate_deployment_params(git_branch, resource_prefix, target_envs) self.git_branch = git_branch self.source = source @@ -82,69 +81,8 @@ def __init__( resource_prefix=self.resource_prefix, ) - self.codebuild_policy = [ - iam.PolicyStatement( - actions=[ - 'sts:GetServiceBearerToken', - ], - resources=['*'], - conditions={ - 'StringEquals': {'sts:AWSServiceName': 'codeartifact.amazonaws.com'} - }, - ), - iam.PolicyStatement( - actions=[ - 'ecr:GetAuthorizationToken', - 'ec2:DescribePrefixLists', - 'ec2:DescribeManagedPrefixLists' - ], - resources=['*'], - ), - iam.PolicyStatement( - actions=[ - 'codeartifact:GetAuthorizationToken', - 'codeartifact:GetRepositoryEndpoint', - 'codeartifact:ReadFromRepository', - 'ecr:GetDownloadUrlForLayer', - 'ecr:BatchGetImage', - 'ecr:BatchCheckLayerAvailability', - 'ecr:PutImage', - 'ecr:InitiateLayerUpload', - 'ecr:UploadLayerPart', - 'ecr:CompleteLayerUpload', - 'ecr:GetDownloadUrlForLayer', - 'kms:Decrypt', - 'kms:Encrypt', - 'kms:GenerateDataKey', - 'secretsmanager:GetSecretValue', - 'secretsmanager:DescribeSecret', - 'ssm:GetParametersByPath', - 'ssm:GetParameters', - 'ssm:GetParameter', - 's3:Get*', - 's3:Put*', - 's3:List*', - 'codebuild:CreateReportGroup', - 'codebuild:CreateReport', - 'codebuild:UpdateReport', - 'codebuild:BatchPutTestCases', - 'codebuild:BatchPutCodeCoverages', - ], - resources=[ - f'arn:aws:s3:::{self.resource_prefix}*', - f'arn:aws:s3:::{self.resource_prefix}*/*', - f'arn:aws:codebuild:{self.region}:{self.account}:project/*{self.resource_prefix}*', - f'arn:aws:secretsmanager:{self.region}:{self.account}:secret:*{resource_prefix}*', - f'arn:aws:secretsmanager:{self.region}:{self.account}:secret:*dataall*', - f'arn:aws:kms:{self.region}:{self.account}:key/*', - f'arn:aws:ssm:*:{self.account}:parameter/*dataall*', - f'arn:aws:ssm:*:{self.account}:parameter/*{resource_prefix}*', - f'arn:aws:ecr:{self.region}:{self.account}:repository/{resource_prefix}*', - f'arn:aws:codeartifact:{self.region}:{self.account}:repository/{resource_prefix}*', - f'arn:aws:codeartifact:{self.region}:{self.account}:domain/{resource_prefix}*', - ], - ), - ] + self.set_codebuild_iam_roles() + self.pipeline_bucket_name = f'{self.resource_prefix}-{self.git_branch}-code-{self.account}-{self.region}' self.pipeline_bucket = s3.Bucket( self, @@ -173,19 +111,6 @@ def __init__( ) self.pipeline_bucket.grant_read_write(iam.AccountPrincipal(self.account)) - self.pipeline_iam_role = iam.Role( - self, - id=f'CDKPipelinesRole{self.git_branch}', - role_name=f'{self.resource_prefix}-{self.git_branch}-cdkpipelines-role', - assumed_by=iam.CompositePrincipal( - iam.ServicePrincipal('codebuild.amazonaws.com'), - iam.ServicePrincipal('codepipeline.amazonaws.com'), - iam.AccountPrincipal(self.account), - ), - ) - for policy in self.codebuild_policy: - self.pipeline_iam_role.add_to_policy(policy) - if self.source == 'github': source = CodePipelineSource.git_hub( repo_string='awslabs/aws-dataall', @@ -211,14 +136,14 @@ def __init__( build_image=codebuild.LinuxBuildImage.AMAZON_LINUX_2_4, ), commands=[ - f'aws codeartifact login --tool npm --repository {self.codeartifact.npm_repo.attr_name} --domain {self.codeartifact.domain.attr_name} --domain-owner {self.codeartifact.domain.attr_owner}', + f'aws codeartifact login --tool npm --repository {self.codeartifact.codeartifact_npm_repo_name} --domain {self.codeartifact.codeartifact_domain_name} --domain-owner {self.codeartifact.domain.attr_owner}', 'npm install -g aws-cdk', - f'aws codeartifact login --tool pip --repository {self.codeartifact.pip_repo.attr_name} --domain {self.codeartifact.domain.attr_name} --domain-owner {self.codeartifact.domain.attr_owner}', + f'aws codeartifact login --tool pip --repository {self.codeartifact.codeartifact_pip_repo_name} --domain {self.codeartifact.codeartifact_domain_name} --domain-owner {self.codeartifact.domain.attr_owner}', 'pip install -r deploy/requirements.txt', 'cdk synth', 'echo ${CODEBUILD_SOURCE_VERSION}' ], - role_policy_statements=self.codebuild_policy, + role=self.baseline_codebuild_role, vpc=self.vpc, ), cross_account_keys=True, @@ -259,28 +184,6 @@ def __init__( comment=f'Approve deployment for environment {target_env["envname"]}', ) ) - self.codebuild_policy.append( - iam.PolicyStatement( - actions=[ - 'cloudfront:CreateInvalidation', - 'ssm:GetParametersByPath', - 'ssm:GetParameters', - 'ssm:GetParameter', - 's3:Get*', - 's3:Put*', - 's3:List*', - 'sts:AssumeRole', - ], - resources=[ - f'arn:aws:s3:::{self.resource_prefix}-*', - f'arn:aws:s3:::{self.resource_prefix}*/*', - f'arn:aws:ssm:*:{self.account}:parameter/*dataall*', - f'arn:aws:ssm:*:{self.account}:parameter/*{resource_prefix}*', - f'arn:aws:iam::*:role/{resource_prefix}*', - f'arn:aws:cloudfront::*:distribution/*', - ], - ), - ) self.set_db_migration_stage( target_env, @@ -290,7 +193,7 @@ def __init__( self.set_stacks_updater_stage( target_env ) - + if target_env.get('internet_facing', True): self.set_cloudfront_stage( target_env, @@ -303,6 +206,151 @@ def __init__( Tags.of(self).add('Application', f'{resource_prefix}-{git_branch}') + def set_codebuild_iam_roles(self): + # IAM Role Creation + self.baseline_codebuild_role = iam.Role( + self, + id=f'CodeBuildBaselineRole{self.git_branch}', + role_name=f'{self.resource_prefix}-{self.git_branch}-baseline-codebuild-role', + assumed_by=iam.CompositePrincipal( + iam.ServicePrincipal('codebuild.amazonaws.com'), + iam.ServicePrincipal('codepipeline.amazonaws.com'), + iam.AccountPrincipal(self.account), + ), + ) + self.expanded_codebuild_role = iam.Role( + self, + id=f'CodeBuildExpandedRole{self.git_branch}', + role_name=f'{self.resource_prefix}-{self.git_branch}-expanded-codebuild-role', + assumed_by=iam.ServicePrincipal('codebuild.amazonaws.com'), + ) + + self.baseline_codebuild_policy = iam.Policy( + self, + 'BaselineCodeBuildPolicy', + policy_name=f'{self.resource_prefix}-{self.git_branch}-baseline-codebuild-policy', + roles=[self.baseline_codebuild_role, self.expanded_codebuild_role], + statements= [ + iam.PolicyStatement( + actions=[ + 'sts:GetServiceBearerToken', + ], + resources=['*'], + conditions={ + 'StringEquals': {'sts:AWSServiceName': 'codeartifact.amazonaws.com'} + }, + ), + iam.PolicyStatement( + actions=[ + 'ecr:GetAuthorizationToken', + 'ec2:DescribePrefixLists', + 'ec2:DescribeManagedPrefixLists' + ], + resources=['*'], + ), + iam.PolicyStatement( + actions=[ + 'codeartifact:GetAuthorizationToken', + 'codeartifact:GetRepositoryEndpoint', + 'codeartifact:ReadFromRepository', + 'ecr:GetDownloadUrlForLayer', + 'ecr:BatchGetImage', + 'ecr:BatchCheckLayerAvailability', + 'ecr:PutImage', + 'ecr:InitiateLayerUpload', + 'ecr:UploadLayerPart', + 'ecr:CompleteLayerUpload', + 'ecr:GetDownloadUrlForLayer', + 'kms:Decrypt', + 'kms:Encrypt', + 'kms:GenerateDataKey', + 'secretsmanager:GetSecretValue', + 'secretsmanager:DescribeSecret', + 'ssm:GetParametersByPath', + 'ssm:GetParameters', + 'ssm:GetParameter', + 's3:Get*', + 's3:Put*', + 's3:List*', + 'codebuild:CreateReportGroup', + 'codebuild:CreateReport', + 'codebuild:UpdateReport', + 'codebuild:BatchPutTestCases', + 'codebuild:BatchPutCodeCoverages', + 'ec2:GetManagedPrefixListEntries' + ], + resources=[ + f'arn:aws:s3:::{self.resource_prefix}*', + f'arn:aws:s3:::{self.resource_prefix}*/*', + f'arn:aws:codebuild:{self.region}:{self.account}:project/*{self.resource_prefix}*', + f'arn:aws:secretsmanager:{self.region}:{self.account}:secret:*{self.resource_prefix}*', + f'arn:aws:secretsmanager:{self.region}:{self.account}:secret:*dataall*', + f'arn:aws:kms:{self.region}:{self.account}:key/*', + f'arn:aws:ssm:*:{self.account}:parameter/*dataall*', + f'arn:aws:ssm:*:{self.account}:parameter/*{self.resource_prefix}*', + f'arn:aws:ecr:{self.region}:{self.account}:repository/{self.resource_prefix}*', + f'arn:aws:codeartifact:{self.region}:{self.account}:repository/{self.resource_prefix}*', + f'arn:aws:codeartifact:{self.region}:{self.account}:domain/{self.resource_prefix}*', + f'arn:aws:ec2:{self.region}:{self.account}:prefix-list/*', + ], + ), + ], + ) + self.expanded_codebuild_policy = iam.Policy( + self, + 'ExpandedCodeBuildPolicy', + policy_name=f'{self.resource_prefix}-{self.git_branch}-expanded-codebuild-policy', + roles=[self.expanded_codebuild_role], + statements= [ + iam.PolicyStatement( + actions=[ + 'cloudfront:CreateInvalidation', + 'sts:AssumeRole', + ], + resources=[ + f'arn:aws:iam::*:role/{self.resource_prefix}*', + f'arn:aws:cloudfront::*:distribution/*', + ], + ) + ], + ) + if self.node.try_get_context('git_release'): + self.git_project_role = iam.Role( + self, + id=f'GitReleaseCBRole{self.git_branch}', + role_name=f'{self.resource_prefix}-{self.git_branch}-git-release-role', + assumed_by=iam.CompositePrincipal( + iam.ServicePrincipal('codebuild.amazonaws.com'), + iam.AccountPrincipal(self.account), + ), + managed_policies=[self.baseline_codebuild_policy, self.git_release_policy, self.expanded_codebuild_policy] + ) + self.expanded_codebuild_policy.attach_to_role(self.git_project_role) + self.baseline_codebuild_policy.attach_to_role(self.git_project_role) + self.git_release_policy = iam.Policy( + self, + 'GitReleasePolicy', + policy_name=f'{self.resource_prefix}-{self.git_branch}-git-release-policy', + roles=[self.git_project_role], + statements= [ + iam.PolicyStatement( + actions=[ + 'codecommit:CreateBranch', + 'codecommit:GetCommit', + 'codecommit:ListBranches', + 'codecommit:GetRepository', + 'codecommit:GetBranch', + 'codecommit:GitPull', + 'codecommit:PutFile', + 'codecommit:CreateCommit', + 'codecommit:GitPush', + 'codecommit:ListTagsForResource', + ], + resources=[f'arn:aws:codecommit:{self.region}:{self.account}:dataall'], + ) + ], + ) + def validate_deployment_params(self, git_branch, resource_prefix, target_envs): if not bool(re.match(r'^[a-zA-Z0-9-_]+$', git_branch)): raise ValueError( @@ -345,17 +393,6 @@ def validate_deployment_params(self, git_branch, resource_prefix, target_envs): def set_quality_gate_stage(self): quality_gate_param = self.node.try_get_context('quality_gate') if quality_gate_param is not False: - it_project_role = iam.Role( - self, - id=f'ItCobdeBuildRole{self.git_branch}', - role_name=f'{self.resource_prefix}-{self.git_branch}-integration-tests-role', - assumed_by=iam.CompositePrincipal( - iam.ServicePrincipal('codebuild.amazonaws.com'), - iam.AccountPrincipal(self.account), - ), - ) - for policy in self.codebuild_policy: - it_project_role.add_to_policy(policy) gate_quality_wave = self.pipeline.add_wave('QualityGate') gate_quality_wave.add_pre( pipelines.CodeBuildStep( @@ -364,7 +401,7 @@ def set_quality_gate_stage(self): build_image=codebuild.LinuxBuildImage.AMAZON_LINUX_2_4, ), commands=[ - f'aws codeartifact login --tool pip --repository {self.codeartifact.pip_repo.attr_name} --domain {self.codeartifact.domain.attr_name} --domain-owner {self.codeartifact.domain.attr_owner}', + f'aws codeartifact login --tool pip --repository {self.codeartifact.codeartifact_pip_repo_name} --domain {self.codeartifact.codeartifact_domain_name} --domain-owner {self.codeartifact.domain.attr_owner}', f'export envname={self.git_branch}', f'export schema_name=validation', 'python -m venv env', @@ -372,7 +409,7 @@ def set_quality_gate_stage(self): 'make drop-tables', 'make upgrade-db', ], - role_policy_statements=self.codebuild_policy, + role=self.baseline_codebuild_role, vpc=self.vpc, security_groups=[self.codebuild_sg], ), @@ -382,13 +419,13 @@ def set_quality_gate_stage(self): build_image=codebuild.LinuxBuildImage.AMAZON_LINUX_2_4, ), commands=[ - f'aws codeartifact login --tool pip --repository {self.codeartifact.pip_repo.attr_name} --domain {self.codeartifact.domain.attr_name} --domain-owner {self.codeartifact.domain.attr_owner}', + f'aws codeartifact login --tool pip --repository {self.codeartifact.codeartifact_pip_repo_name} --domain {self.codeartifact.codeartifact_domain_name} --domain-owner {self.codeartifact.domain.attr_owner}', 'pip install --upgrade pip', 'python -m venv env', '. env/bin/activate', 'make check-security', ], - role_policy_statements=self.codebuild_policy, + role=self.baseline_codebuild_role, vpc=self.vpc, ), pipelines.CodeBuildStep( @@ -397,17 +434,17 @@ def set_quality_gate_stage(self): build_image=codebuild.LinuxBuildImage.AMAZON_LINUX_2_4, ), commands=[ - f'aws codeartifact login --tool pip --repository {self.codeartifact.pip_repo.attr_name} --domain {self.codeartifact.domain.attr_name} --domain-owner {self.codeartifact.domain.attr_owner}', + f'aws codeartifact login --tool pip --repository {self.codeartifact.codeartifact_pip_repo_name} --domain {self.codeartifact.codeartifact_domain_name} --domain-owner {self.codeartifact.domain.attr_owner}', 'pip install --upgrade pip', 'python -m venv env', '. env/bin/activate', 'make lint', 'cd frontend', - f'aws codeartifact login --tool npm --repository {self.codeartifact.npm_repo.attr_name} --domain {self.codeartifact.domain.attr_name} --domain-owner {self.codeartifact.domain.attr_owner}', + f'aws codeartifact login --tool npm --repository {self.codeartifact.codeartifact_npm_repo_name} --domain {self.codeartifact.codeartifact_domain_name} --domain-owner {self.codeartifact.domain.attr_owner}', 'npm install', 'npm run lint', ], - role_policy_statements=self.codebuild_policy, + role=self.baseline_codebuild_role, vpc=self.vpc, ), ) @@ -424,7 +461,7 @@ def set_quality_gate_stage(self): 'build': { 'commands': [ 'set -eu', - f'aws codeartifact login --tool pip --repository {self.codeartifact.pip_repo.attr_name} --domain {self.codeartifact.domain.attr_name} --domain-owner {self.codeartifact.domain.attr_owner}', + f'aws codeartifact login --tool pip --repository {self.codeartifact.codeartifact_pip_repo_name} --domain {self.codeartifact.codeartifact_domain_name} --domain-owner {self.codeartifact.domain.attr_owner}', f'export envname={self.git_branch}', 'python -m venv env', '. env/bin/activate', @@ -442,7 +479,7 @@ def set_quality_gate_stage(self): ) ), commands=[], - role=it_project_role, + role=self.baseline_codebuild_role, vpc=self.vpc, security_groups=[self.codebuild_sg], ), @@ -457,24 +494,12 @@ def set_quality_gate_stage(self): 'cd source_build/ && zip -r ../source_build/source_build.zip *', f'aws s3api put-object --bucket {self.pipeline_bucket.bucket_name} --key source_build.zip --body source_build.zip', ], - role_policy_statements=self.codebuild_policy, + role=self.baseline_codebuild_role, vpc=self.vpc, security_groups=[self.codebuild_sg], ), ) else: - it_project_role = iam.Role( - self, - id=f'ItCobdeBuildRole{self.git_branch}', - role_name=f'{self.resource_prefix}-{self.git_branch}-integration-tests-role', - assumed_by=iam.CompositePrincipal( - iam.ServicePrincipal('codebuild.amazonaws.com'), - iam.AccountPrincipal(self.account), - ), - ) - for policy in self.codebuild_policy: - it_project_role.add_to_policy(policy) - gate_quality_wave = self.pipeline.add_wave('UploadCodeToS3') gate_quality_wave.add_pre( pipelines.CodeBuildStep( @@ -488,7 +513,7 @@ def set_quality_gate_stage(self): 'cd source_build/ && zip -r ../source_build/source_build.zip *', f'aws s3api put-object --bucket {self.pipeline_bucket.bucket_name} --key source_build.zip --body source_build.zip', ], - role_policy_statements=self.codebuild_policy, + role=self.baseline_codebuild_role, vpc=self.vpc, security_groups=[self.codebuild_sg], ), @@ -529,7 +554,7 @@ def set_ecr_stage( commands=[ f"make deploy-image type=lambda image-tag=$IMAGE_TAG account={target_env['account']} region={target_env['region']} repo={repository_name}", ], - role_policy_statements=self.codebuild_policy, + role=self.baseline_codebuild_role, vpc=self.vpc, ), pipelines.CodeBuildStep( @@ -547,7 +572,7 @@ def set_ecr_stage( commands=[ f"make deploy-image type=ecs image-tag=$IMAGE_TAG account={target_env['account']} region={target_env['region']} repo={repository_name}", ], - role_policy_statements=self.codebuild_policy, + role=self.baseline_codebuild_role, vpc=self.vpc, ), ) @@ -564,6 +589,7 @@ def set_backend_stage(self, target_env, repository_name): }, envname=target_env['envname'], resource_prefix=self.resource_prefix, + tooling_region=self.region, tooling_account_id=self.account, pipeline_bucket=self.pipeline_bucket_name, ecr_repository=f'arn:aws:ecr:{target_env.get("region", self.region)}:{self.account}:repository/{repository_name}', @@ -581,6 +607,8 @@ def set_backend_stage(self, target_env, repository_name): shared_dashboard_sessions=target_env.get('shared_dashboard_sessions', 'anonymous'), enable_opensearch_serverless=target_env.get('enable_opensearch_serverless', False), enable_pivot_role_auto_create=target_env.get('enable_pivot_role_auto_create', False), + codeartifact_domain_name=self.codeartifact.codeartifact_domain_name, + codeartifact_pip_repo_name=self.codeartifact.codeartifact_pip_repo_name, ) ) return backend_stage @@ -610,7 +638,7 @@ def set_db_migration_stage( 'if [ "$(jq -r .builds[0].buildStatus codebuild-output.json)" = "FAILED" ]; then echo "Failed"; cat codebuild-output.json; exit -1; fi', 'cat codebuild-output.json ', ], - role_policy_statements=self.codebuild_policy, + role=self.expanded_codebuild_role, vpc=self.vpc, ), ) @@ -642,7 +670,7 @@ def set_stacks_updater_stage( f'cluster_arn="arn:aws:ecs:{target_env["region"]}:{target_env["account"]}:cluster/$cluster_name"', f'aws --profile buildprofile ecs run-task --task-definition $task_definition --cluster "$cluster_arn" --launch-type "FARGATE" --network-configuration "$network_config" --launch-type FARGATE --propagate-tags TASK_DEFINITION', ], - role_policy_statements=self.codebuild_policy, + role=self.expanded_codebuild_role, vpc=self.vpc, ), ) @@ -697,7 +725,7 @@ def set_cloudfront_stage(self, target_env): 'aws s3 sync build/ s3://$bucket --profile buildprofile', "aws cloudfront create-invalidation --distribution-id $distributionId --paths '/*' --profile buildprofile", ], - role_policy_statements=self.codebuild_policy, + role=self.expanded_codebuild_role, vpc=self.vpc, ), self.cognito_config_action(target_env), @@ -719,7 +747,7 @@ def set_cloudfront_stage(self, target_env): build_image=codebuild.LinuxBuildImage.AMAZON_LINUX_2_4, ), commands=[ - f'aws codeartifact login --tool pip --repository {self.codeartifact.pip_repo.attr_name} --domain {self.codeartifact.domain.attr_name} --domain-owner {self.codeartifact.domain.attr_owner}', + f'aws codeartifact login --tool pip --repository {self.codeartifact.codeartifact_pip_repo_name} --domain {self.codeartifact.codeartifact_domain_name} --domain-owner {self.codeartifact.domain.attr_owner}', f"make assume-role REMOTE_ACCOUNT_ID={target_env['account']} REMOTE_ROLE={self.resource_prefix}-{target_env['envname']}-S3DeploymentRole", '. ./.env.assumed_role', 'aws sts get-caller-identity', @@ -732,7 +760,7 @@ def set_cloudfront_stage(self, target_env): 'aws s3 sync site/ s3://$bucket', "aws cloudfront create-invalidation --distribution-id $distributionId --paths '/*'", ], - role_policy_statements=self.codebuild_policy, + role=self.expanded_codebuild_role, vpc=self.vpc, ), ) @@ -759,7 +787,7 @@ def cw_rum_config_action(self, target_env): 'pip install boto3==1.20.46', 'python deploy/configs/rum_config.py', ], - role_policy_statements=self.codebuild_policy, + role=self.expanded_codebuild_role, vpc=self.vpc, ) @@ -786,7 +814,7 @@ def cognito_config_action(self, target_env): 'pip install boto3==1.20.46', 'python deploy/configs/cognito_urls_config.py', ], - role_policy_statements=self.codebuild_policy, + role=self.expanded_codebuild_role, vpc=self.vpc, ) @@ -820,7 +848,7 @@ def set_albfront_stage(self, target_env, repository_name): }, ), commands=[ - f'aws codeartifact login --tool pip --repository {self.codeartifact.pip_repo.attr_name} --domain {self.codeartifact.domain.attr_name} --domain-owner {self.codeartifact.domain.attr_owner}', + f'aws codeartifact login --tool pip --repository {self.codeartifact.codeartifact_pip_repo_name} --domain {self.codeartifact.codeartifact_domain_name} --domain-owner {self.codeartifact.domain.attr_owner}', f'export REACT_APP_STAGE={target_env["envname"]}', f'export envname={target_env["envname"]}', f'export internet_facing={target_env.get("internet_facing", False)}', @@ -844,7 +872,7 @@ def set_albfront_stage(self, target_env, repository_name): 'docker tag $IMAGE_TAG:$IMAGE_TAG $REPOSITORY_URI:$IMAGE_TAG', 'docker push $REPOSITORY_URI:$IMAGE_TAG', ], - role_policy_statements=self.codebuild_policy, + role=self.expanded_codebuild_role, vpc=self.vpc, ), pipelines.CodeBuildStep( @@ -861,14 +889,14 @@ def set_albfront_stage(self, target_env, repository_name): }, ), commands=[ - f'aws codeartifact login --tool pip --repository {self.codeartifact.pip_repo.attr_name} --domain {self.codeartifact.domain.attr_name} --domain-owner {self.codeartifact.domain.attr_owner}', + f'aws codeartifact login --tool pip --repository {self.codeartifact.codeartifact_pip_repo_name} --domain {self.codeartifact.codeartifact_domain_name} --domain-owner {self.codeartifact.domain.attr_owner}', 'cd documentation/userguide', 'docker build -f docker/prod/Dockerfile -t $IMAGE_TAG:$IMAGE_TAG .', f'aws ecr get-login-password --region {self.region} | docker login --username AWS --password-stdin {self.account}.dkr.ecr.{self.region}.amazonaws.com', 'docker tag $IMAGE_TAG:$IMAGE_TAG $REPOSITORY_URI:$IMAGE_TAG', 'docker push $REPOSITORY_URI:$IMAGE_TAG', ], - role_policy_statements=self.codebuild_policy, + role=self.expanded_codebuild_role, vpc=self.vpc, ), ], @@ -890,35 +918,6 @@ def evaluate_post_albfront_stage(self, target_env): def set_release_stage( self, ): - git_project_role = iam.Role( - self, - id=f'GitReleaseCBRole{self.git_branch}', - role_name=f'{self.resource_prefix}-{self.git_branch}-git-release-role', - assumed_by=iam.CompositePrincipal( - iam.ServicePrincipal('codebuild.amazonaws.com'), - iam.AccountPrincipal(self.account), - ), - ) - for policy in self.codebuild_policy: - git_project_role.add_to_policy(policy) - - git_project_role.add_to_policy( - iam.PolicyStatement( - actions=[ - 'codecommit:CreateBranch', - 'codecommit:GetCommit', - 'codecommit:ListBranches', - 'codecommit:GetRepository', - 'codecommit:GetBranch', - 'codecommit:GitPull', - 'codecommit:PutFile', - 'codecommit:CreateCommit', - 'codecommit:GitPush', - 'codecommit:ListTagsForResource', - ], - resources=[f'arn:aws:codecommit:{self.region}:{self.account}:dataall'], - ), - ) self.pipeline.add_wave( f'{self.resource_prefix}-{self.git_branch}-release-stage' ).add_post( @@ -934,7 +933,7 @@ def set_release_stage( 'build': { 'commands': [ 'set -eu', - f'aws codeartifact login --tool pip --repository {self.codeartifact.pip_repo.attr_name} --domain {self.codeartifact.domain.attr_name} --domain-owner {self.codeartifact.domain.attr_owner}', + f'aws codeartifact login --tool pip --repository {self.codeartifact.codeartifact_pip_repo_name} --domain {self.codeartifact.codeartifact_domain_name} --domain-owner {self.codeartifact.domain.attr_owner}', 'python -m venv env', '. env/bin/activate', 'pip install git-remote-codecommit', @@ -948,7 +947,7 @@ def set_release_stage( }, ) ), - role=git_project_role, + role=self.git_project_role, vpc=self.vpc, security_groups=[self.codebuild_sg], commands=[], diff --git a/deploy/stacks/s3_resources.py b/deploy/stacks/s3_resources.py index 699549736..1d19cb4e0 100644 --- a/deploy/stacks/s3_resources.py +++ b/deploy/stacks/s3_resources.py @@ -55,6 +55,10 @@ def __init__(self, scope, id, envname='dev', resource_prefix='dataall', **kwargs os.path.abspath(os.path.join(__file__, '..', '..', 'pivot_role')) ) + cdk_exec_policy = os.path.realpath( + os.path.abspath(os.path.join(__file__, '..', '..', 'cdk_exec_policy')) + ) + s3d.BucketDeployment( self, f'PivotRoleDeployment{envname}', @@ -70,6 +74,21 @@ def __init__(self, scope, id, envname='dev', resource_prefix='dataall', **kwargs string_value='roles/pivotRole.yaml', ) + s3d.BucketDeployment( + self, + f'CDKExecutionPolicyDeployment{envname}', + sources=[s3d.Source.asset(cdk_exec_policy)], + destination_bucket=self.bucket, + destination_key_prefix='policies', + ) + + ssm.StringParameter( + self, + f'S3ResourcesBucketKeyParamCDK{envname}', + parameter_name=f'/dataall/{envname}/s3/cdk_exec_policy_prefix', + string_value='policies/cdkExecPolicy.yaml', + ) + CfnOutput( self, f'{resource_prefix}-{envname}-resources-bucket-output', diff --git a/deploy/stacks/secrets_stack.py b/deploy/stacks/secrets_stack.py index 8d71129e1..0ba24c2d9 100644 --- a/deploy/stacks/secrets_stack.py +++ b/deploy/stacks/secrets_stack.py @@ -17,71 +17,26 @@ def __init__( id, envname='dev', resource_prefix='dataall', - enable_cw_canaries=False, - pivot_role_name=None, **kwargs, ): super().__init__(scope, id, **kwargs) - self.external_id_key = kms.Key( + self.canary_user = sm.Secret( self, - f'ExternalIdSecretKey{envname}', - alias=f'{resource_prefix}-{envname}-externalId-key', - enable_key_rotation=True, - removal_policy=RemovalPolicy.DESTROY, - ) - - self.external_id_secret = sm.Secret( - self, - f'ExternalIdSecret{envname}', - secret_name=f'dataall-externalId-{envname}', - generate_secret_string=sm.SecretStringGenerator(exclude_punctuation=True), + f'canary-user', + secret_name=f'{resource_prefix}-{envname}-cognito-canary-user', + generate_secret_string=sm.SecretStringGenerator( + secret_string_template=json.dumps({'username': f'cwcanary-{self.account}'}), + generate_string_key='password', + include_space=False, + password_length=12, + ), encryption_key=self.external_id_key, - description=f'Stores dataall external id for environment {envname}', + description=f'Stores dataall Cognito canary user', removal_policy=RemovalPolicy.DESTROY, ) - - self.pivot_role_name_key = kms.Key( - self, - f'PivotRoleNameSecretKey{envname}', - alias=f'{resource_prefix}-{envname}-pivotrolename-key', - enable_key_rotation=True, - ) - - self.pivot_role_name_secret = sm.CfnSecret( - self, - f'PivotRoleNameSecret{envname}', - name=f'dataall-pivot-role-name-{envname}', - secret_string=pivot_role_name, - kms_key_id=self.pivot_role_name_key.key_id, - description=f'Stores dataall pivot role name for environment {envname}', + self.canary_user.add_rotation_schedule( + id=envname[:2], + automatically_after=Duration.days(90), + hosted_rotation=sm.HostedRotation.postgre_sql_single_user(), ) - - self.cognito_default_user = kms.Key( - self, - f'{resource_prefix}-{envname}-cognito-defaultuser-key', - alias=f'{resource_prefix}-{envname}-cognito-defaultuser-key', - enable_key_rotation=True, - removal_policy=RemovalPolicy.DESTROY, - ) - - if enable_cw_canaries: - self.canary_user = sm.Secret( - self, - f'canary-user', - secret_name=f'{resource_prefix}-{envname}-cognito-canary-user', - generate_secret_string=sm.SecretStringGenerator( - secret_string_template=json.dumps({'username': f'cwcanary-{self.account}'}), - generate_string_key='password', - include_space=False, - password_length=12, - ), - encryption_key=self.external_id_key, - description=f'Stores dataall Cognito canary user', - removal_policy=RemovalPolicy.DESTROY, - ) - self.canary_user.add_rotation_schedule( - id=envname[:2], - automatically_after=Duration.days(90), - hosted_rotation=sm.HostedRotation.postgre_sql_single_user(), - ) diff --git a/deploy/stacks/vpc.py b/deploy/stacks/vpc.py index 42f04b0fb..45c7ac685 100644 --- a/deploy/stacks/vpc.py +++ b/deploy/stacks/vpc.py @@ -11,7 +11,6 @@ from .pyNestedStack import pyNestedClass - class VpcStack(pyNestedClass): def __init__( self, @@ -38,11 +37,12 @@ def __init__( ) else: self.vpce_security_group = ec2.SecurityGroup( - self, 'vpc-sg', vpc=cast(ec2.IVpc, self.vpc), allow_all_outbound=False - ) - self.vpce_security_group.add_ingress_rule( - peer=ec2.Peer.ipv4(self.vpc.vpc_cidr_block), - connection=ec2.Port.all_tcp(), + self, + 'vpc-sg', + security_group_name=f'{resource_prefix}-{envname}-vpce-sg', + vpc=cast(ec2.IVpc, self.vpc), + allow_all_outbound=False, + disable_inline_rules=True ) self._create_vpc_endpoints() @@ -126,6 +126,7 @@ def create_new_vpc(self, cidr, envname, resource_prefix, restricted_nacl): ], nat_gateways=1, ) + if restricted_nacl: nacl = ec2.NetworkAcl( self, "RestrictedNACL", @@ -240,6 +241,12 @@ def _create_vpc_endpoints(self) -> None: 'cloudwatch_logs_endpoint': ec2.InterfaceVpcEndpointAwsService.CLOUDWATCH_LOGS, 'rds_endpoint': ec2.InterfaceVpcEndpointAwsService.RDS, 'rds_data_endpoint': ec2.InterfaceVpcEndpointAwsService.RDS_DATA, + 'sagemaker_api': ec2.InterfaceVpcEndpointAwsService.SAGEMAKER_API, + 'glue': ec2.InterfaceVpcEndpointAwsService.GLUE, + 'lakeformation': ec2.InterfaceVpcEndpointAwsService.LAKE_FORMATION, + 'athena': ec2.InterfaceVpcEndpointAwsService.ATHENA, + 'codecommit': ec2.InterfaceVpcEndpointAwsService.CODECOMMIT, + 'git-codecommit': ec2.InterfaceVpcEndpointAwsService.CODECOMMIT_GIT, } for name, gateway_vpc_endpoint_service in vpc_gateway_endpoints.items(): diff --git a/documentation/userguide/docs/datasets.md b/documentation/userguide/docs/datasets.md index 45e15a052..09605d3f3 100644 --- a/documentation/userguide/docs/datasets.md +++ b/documentation/userguide/docs/datasets.md @@ -1,6 +1,6 @@ # **Datasets** ## **Datasets** -In data.all, a Dataset is a representation of multiple AWS resources that helps +In *data.all*, a Dataset is a representation of multiple AWS resources that helps users store data and establish the basis to make this data discoverable and shareable with other teams. When data owners create a dataset the following resources are @@ -8,13 +8,32 @@ deployed on the selected environment and its linked AWS account: 1. Amazon S3 Bucket to store the data on AWS. 2. AWS KMS key to encrypt the data on AWS. -3. AWS IAM role that gives access to the data on Amazon S3. +3. AWS IAM role that gives access to the data on Amazon S3 (Dataset IAM role, see below) 4. AWS Glue database that is the representation of the structured data on AWS. -!!!abstract "AWS Champion" - data.all does all the infrastructure heavy lifting for data owners using - **AWS CDK** and **AWS CloudFormation** service while following AWS - deployment and security best practices. +### Dataset IAM role + +**Usage** + +- Assumed by Dataset owners from *data.all* UI to quickly ingest or access Dataset data +- Assumed by Dataset Glue crawler +- Assumed by the Dataset Glue profiling job + +**IAM Permissions** + +- read and write permissions to the Dataset S3 Bucket (ONLY this bucket) +- encrypt/decrypt data with the Dataset KMS key (ONLY this key) +- read and write permissions to the Dataset Glue database and tables (ONLY this database) +- read permissions to profiling/code folder in the Environment S3 Bucket (ONLY this folder) +- read and write permissions to profiling/results/datasetUri folder in the Environment S3 Bucket (ONLY this folder) +- put logs permissions to log crawler and profiling jobs results + +**Data Governance with Lake Formation** + +In addition to restricting the access via IAM policies, Dataset Glue database and tables are +protected using AWS Lake Formation. With Lake Formation, the Dataset IAM role gets granted +access to the Dataset Glue database only. + ### Tables and Folders @@ -76,13 +95,22 @@ On left pane choose **Datasets**, then click on the **Create** button. Fill the ## :material-import: **Import a dataset** -If you already have data stored on Amazon S3 buckets in your data.all environment, data.all got you covered with the import feature. In addition to -the fields of a newly created dataset you have to specify the S3 bucket and optionally a Glue database: -| Field | Description | Required | Editable |Example -|-------------------|----------------------------------------------------------------------------|----------|----------|------------- -| Amazon S3 bucket name | Name of the S3 bucket you want to import | Yes | No |importedBucket -| AWS Glue database name | Name of the Glue database tht you want to import | No | No |anyDatabase +If you already have data stored on Amazon S3 buckets in your data.all environment, data.all got you covered with the import feature. In addition to +the fields of a newly created dataset you have to specify the S3 bucket and optionally a Glue database and a KMS key Alias. If the Glue database +is left empty, data.all will create a Glue database pointing at the S3 Bucket. As for the KMS key Alias, data.all assumes that if nothing is specified +the S3 Bucket is encrypted with SSE-S3 encryption. + +| Field | Description | Required | Editable |Example +|------------------------|-------------------------------------------------------------------------------------------------|----------|----------|------------- +| Amazon S3 bucket name | Name of the S3 bucket you want to import | Yes | No |DOC-EXAMPLE-BUCKET +| Amazon KMS key Alias | Alias of the KMS key used to encrypt the S3 Bucket (do not include alias/, just ) | Yes | No |somealias +| AWS Glue database name | Name of the Glue database tht you want to import | No | No |anyDatabase + +!!!success "Update imported Datasets" + Imported keys is an addition of V1.6.0 release. Any previously imported bucket will have a KMS Key Alias set to `Undefined`. + If that is the case and you want to update the Dataset and import a KMS key Alias, data.all let's you edit the Dataset on the + **Edit** window. ![import_dataset](pictures/datasets/import_dataset.png#zoom#shadow) diff --git a/documentation/userguide/docs/environments.md b/documentation/userguide/docs/environments.md index 233d90ef3..864ddb57c 100644 --- a/documentation/userguide/docs/environments.md +++ b/documentation/userguide/docs/environments.md @@ -11,7 +11,8 @@ users store data and work with data.** ## :material-hammer-screwdriver: **AWS account Pre-requisites** *data.all* does not create AWS accounts. You need to provide an AWS account and complete the following bootstraping -steps. +steps. Only the first step, CDK bootstrap, is mandatory; the rest are needed depending on your deployment configuration +or on the features enabled in the environment. ### 1. CDK Bootstrap @@ -44,6 +45,12 @@ cdk bootstrap --trust DATA.ALL_AWS_ACCOUNT_NUMBER -c @aws-cdk/core:newStyleStac ````bash cdk bootstrap --trust 222222222222 -c @aws-cdk/core:newStyleStackSynthesis=true --cloudformation-execution-policies arn:aws:iam::aws:policy/AdministratorAccess aws://333333333333/eu-west-1 ```` +#### Restricted CDK Execution role +In the above command we define the `--cloudformation-execution-policies` to use the AdministratorAccess policy `arn:aws:iam::aws:policy/AdministratorAccess`. +This is the default policy that CDK uses to deploy resources, nevertheless it is possible to restrict it to any IAM policy created in the account. + +In V1.6.0 a more restricted policy is provided and directly downloadable from the UI. This more restrictive policy can be optionally used as +`--cloudformation-execution-policies` for the CDK Execution role. ### 2. (For manual) Pivot role @@ -61,7 +68,7 @@ In this case, the AWS CloudFormation stack of the role can be downloaded from *data.all* makes it easier to manage access to your AWS accounts. How? remember when we assigned granular AWS permissions -to invited groups and this created an IAM role? (If not, check the "Manage teams" section). From the **Teams** tab of +### :material-aws: **AWS access - Environment IAM roles** +For the environment admin team and for each team invited to the environment *data.all* +creates an IAM role. From the **Teams** tab of the environment we can assume our team's IAM role to get access to the AWS Console or copy the credentials to the clipboard. Both options are under the "Actions" column in the Teams table. + +![](pictures/environments/env_teams_3.png#zoom#shadow) + + +**Usage** + +- Assumed by Team members from *data.all* UI to explore and work with data +- Credentials can be copied in *data.all* UI to explore and work with data +- Assumed by *data.all* Worksheets to query data using Athena +- Credentials can be copied in *data.all* Pipelines to develop the pipeline + +**IAM Permissions** + +Default permissions + +- read permissions to profiling/code folder in the Environment S3 Bucket +- Athena permissions to use the Team's workgroup +- CloudFormation permissions to resources tagged with Team tag and prefixed with environment `resource_prefix` +- SSM Parameter Store permissions to resources tagged with team tag and prefixed with environment `resource_prefix` +- Secrets Manager permissions to resources tagged with team tag and prefixed with environment `resource_prefix` +- read permissions on Logs and IAM +- PassRole permissions for itself to Glue, Lambda, SageMaker, StepFunctions and DataBrew + +Data permissions + +- read and write permissions to the Team-owned Dataset S3 Buckets +- encrypt/decrypt data with the Team-owned Dataset KMS keys +- read and write permissions Dataset Glue databases - governed with Lake Formation + +Feature permissions + +Depending on the features enabled in the environment and granted to the Team, additional AWS permissions +are given to the role. Permissions for any AWS service need to be defined to allow access onlt to resources tagged +with team tag and prefixed with environment `resource_prefix` + +!!! warning "Access denied? You need to tag resources when you create them" + Since permissions to AWS services are restricted to team-tagged resources, you need to tag any new + resource that you create at creation time. + +Let's say you are using the "Engineers" IAM role in an environment that prefixes all resources with +the `resource_prefix` = "dataall" as in the following picture. + +![](pictures/environments/env_teams_5.png#zoom#shadow) + + +Assuming the IAM role you will be able to create parameters prefixed by "dataall" and tagged +with a tag Team=Engineers, otherwise you will get AccessDenied errors. + + +![](pictures/environments/env_teams_6.png#zoom#shadow) + +All the resources created in the environment stack are tagged with the tag `Team=EnvAdminTeam`, which means that +environment admins can access and manage the environment baseline AWS resources. + +**Data Governance with Lake Formation** + +We use AWS Lake Formation to govern Glue databases and tables. Using Lake Formation, we grant permissions to the +Environment teams IAM roles to read and write the Glue databases and tables that the Team owns. +In other words, each environment team IAM role can only access the Glue databases and tables of the Datasets +that the team owns. + + + ## :material-account-plus-outline: **Manage Consumption Roles** -Data.all creates or imports one IAM role per Cognito/IdP group that we invite to the environment. With these IAM roles data producers and consumers -can ingest and consume data, but sometimes we want to consume data from an application such as SageMaker pipelines, -Glue Jobs or any other downstream application. To increase the flexibility in the data consumption patterns, data.all introduces Consumption Roles. +*data.all* creates or imports one IAM role per Cognito/IdP group that we invite to the environment. With these IAM roles data producers and consumers +can ingest and consume data, but sometimes we want to consume data from an application that already has an execution role. To increase the flexibility in the data consumption patterns, data.all introduces Consumption Roles. -Any IAM role that exists in the Environment AWS Account can be added to data.all. In the **Teams** tab click on *Add Consumption Role* +Any IAM role that exists in the Environment AWS Account can be added to *data.all*. In the **Teams** tab click on *Add Consumption Role* ![](pictures/environments/env_consumption_roles_1.png#zoom#shadow) A window like the following will appear for you to introduce the arn of the IAM role and the Team that owns the consumption role. -Only members of this team and tenants of data.all can remove the consumption role. +Only members of this team and tenants of *data.all* can remove the consumption role. ![](pictures/environments/env_consumption_roles_2.png#zoom#shadow) !!! success "Existing roles only" - Data.all checks whether that IAM role exists in the AWS account of the environment before adding it as a consumption role. + *data.all* checks whether that IAM role exists in the AWS account of the environment before adding it as a consumption role. **Data Access** -- By default, a new consumption role does NOT have access to any data in data.all. +- By default, a new consumption role does NOT have access to any data in *data.all*. - The team that owns the consumption role needs to open a share request for the consumption role as shown in the picture below. diff --git a/documentation/userguide/docs/pictures/environments/env_teams_3.png b/documentation/userguide/docs/pictures/environments/env_teams_3.png new file mode 100644 index 0000000000000000000000000000000000000000..05f1c859a701ed5a539f68cf5532f5a1892284a8 GIT binary patch literal 83487 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 &je0x91k_SoS=$u2zL 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 ZY}iAckikif$Ya3YT@|g{MK`TN{ttbsJx>4t literal 0 HcmV?d00001 diff --git a/documentation/userguide/docs/pictures/environments/env_teams_5.png b/documentation/userguide/docs/pictures/environments/env_teams_5.png new file mode 100644 index 0000000000000000000000000000000000000000..c589e1cb3f8d812167138be93f1a3446b55993ab GIT binary patch literal 58577 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 literal 0 HcmV?d00001 diff --git a/documentation/userguide/docs/pictures/environments/env_teams_6.png b/documentation/userguide/docs/pictures/environments/env_teams_6.png new file mode 100644 index 0000000000000000000000000000000000000000..0b5c4c2a86b8fc1f8a5845797a3971914e93bb3e GIT binary patch literal 120769 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 ({ name region created + imported userRoleForDataset SamlAdminGroupName AwsAccountId diff --git a/frontend/src/api/Environment/getCDKExecPolicyPresignedUrl.js b/frontend/src/api/Environment/getCDKExecPolicyPresignedUrl.js new file mode 100644 index 000000000..026f6668a --- /dev/null +++ b/frontend/src/api/Environment/getCDKExecPolicyPresignedUrl.js @@ -0,0 +1,14 @@ +import { gql } from 'apollo-boost'; + +const getCDKExecPolicyPresignedUrl = (organizationUri) => ({ + variables: { + organizationUri + }, + query: gql` + query getCDKExecPolicyPresignedUrl($organizationUri: String!) { + getCDKExecPolicyPresignedUrl(organizationUri: $organizationUri) + } + ` +}); + +export default getCDKExecPolicyPresignedUrl; diff --git a/frontend/src/api/ShareObject/getShareObject.js b/frontend/src/api/ShareObject/getShareObject.js index 3444fa26b..e7da50f4e 100644 --- a/frontend/src/api/ShareObject/getShareObject.js +++ b/frontend/src/api/ShareObject/getShareObject.js @@ -12,6 +12,8 @@ const getShareObject = ({ shareUri, filter }) => ({ created owner status + requestPurpose + rejectPurpose userRoleForShareObject consumptionData { s3AccessPointName diff --git a/frontend/src/api/ShareObject/rejectShareObject.js b/frontend/src/api/ShareObject/rejectShareObject.js index 315330a16..5fb45dfee 100644 --- a/frontend/src/api/ShareObject/rejectShareObject.js +++ b/frontend/src/api/ShareObject/rejectShareObject.js @@ -1,12 +1,13 @@ import { gql } from 'apollo-boost'; -const rejectShareObject = ({ shareUri }) => ({ +const rejectShareObject = ({ shareUri, rejectPurpose }) => ({ variables: { - shareUri + shareUri, + rejectPurpose }, mutation: gql` - mutation RejectShareObject($shareUri: String!) { - rejectShareObject(shareUri: $shareUri) { + mutation RejectShareObject($shareUri: String!, $rejectPurpose: String!) { + rejectShareObject(shareUri: $shareUri,rejectPurpose: $rejectPurpose) { shareUri status } diff --git a/frontend/src/api/ShareObject/updateShareRejectReason.js b/frontend/src/api/ShareObject/updateShareRejectReason.js new file mode 100644 index 000000000..32df0c67e --- /dev/null +++ b/frontend/src/api/ShareObject/updateShareRejectReason.js @@ -0,0 +1,15 @@ +import { gql } from 'apollo-boost'; + +const updateShareRejectReason = ({ shareUri, rejectPurpose }) => ({ + variables: { + shareUri, + rejectPurpose + }, + mutation: gql` + mutation updateShareRejectReason($shareUri: String!,$rejectPurpose: String!) { + updateShareRejectReason(shareUri: $shareUri, rejectPurpose: $rejectPurpose) + } + ` +}); + +export default updateShareRejectReason; diff --git a/frontend/src/api/ShareObject/updateShareRequestReason.js b/frontend/src/api/ShareObject/updateShareRequestReason.js new file mode 100644 index 000000000..6bf4dd0dc --- /dev/null +++ b/frontend/src/api/ShareObject/updateShareRequestReason.js @@ -0,0 +1,15 @@ +import { gql } from 'apollo-boost'; + +const updateShareRequestReason = ({ shareUri, requestPurpose }) => ({ + variables: { + shareUri, + requestPurpose + }, + mutation: gql` + mutation updateShareRequestReason($shareUri: String!, $requestPurpose: String!) { + updateShareRequestReason(shareUri: $shareUri, requestPurpose: $requestPurpose) + } + ` +}); + +export default updateShareRequestReason; diff --git a/frontend/src/views/Catalog/RequestAccessModal.js b/frontend/src/views/Catalog/RequestAccessModal.js index 360c9246f..970d500aa 100644 --- a/frontend/src/views/Catalog/RequestAccessModal.js +++ b/frontend/src/views/Catalog/RequestAccessModal.js @@ -136,7 +136,8 @@ const RequestAccessModal = (props) => { environmentUri: values.environment.environmentUri, groupUri: values.groupUri, principalId: principal, - principalType: type + principalType: type, + requestPurpose: values.comment } }) ); @@ -151,7 +152,8 @@ const RequestAccessModal = (props) => { environmentUri: values.environment.environmentUri, groupUri: values.groupUri, principalId: principal, - principalType: type + principalType: type, + requestPurpose: values.comment } }) ); @@ -166,7 +168,8 @@ const RequestAccessModal = (props) => { environmentUri: values.environment.environmentUri, groupUri: values.groupUri, principalId: principal, - principalType: type + principalType: type, + requestPurpose: values.comment } }) ); diff --git a/frontend/src/views/Datasets/DatasetConsoleAccess.js b/frontend/src/views/Datasets/DatasetConsoleAccess.js index ebd2c18a5..5e469148d 100644 --- a/frontend/src/views/Datasets/DatasetConsoleAccess.js +++ b/frontend/src/views/Datasets/DatasetConsoleAccess.js @@ -1,10 +1,11 @@ import PropTypes from 'prop-types'; import { - Card, - CardContent, - CardHeader, - Divider, - Typography + Box, + Card, + CardContent, + CardHeader, + Divider, + Typography } from '@mui/material'; const DatasetConsoleAccess = (props) => { @@ -47,16 +48,26 @@ const DatasetConsoleAccess = (props) => { {dataset.IAMDatasetAdminRoleArn} - {!dataset.imported && ( + { dataset.KmsAlias === "SSE-S3" || dataset.KmsAlias === "Undefined" ? - KMS alias + S3 Encryption - {`arn:aws:kms:${dataset.region}:${dataset.AwsAccountId}/alias:${dataset.KmsAlias}`} + {`${dataset.KmsAlias}`} - )} + : + + + S3 Encryption SSE-KMS + + + {`arn:aws:kms:${dataset.region}:${dataset.AwsAccountId}/alias:${dataset.KmsAlias}`} + + + + } ); }; diff --git a/frontend/src/views/Datasets/DatasetEditForm.js b/frontend/src/views/Datasets/DatasetEditForm.js index ffa1464c6..eeb7cdfb5 100644 --- a/frontend/src/views/Datasets/DatasetEditForm.js +++ b/frontend/src/views/Datasets/DatasetEditForm.js @@ -149,7 +149,8 @@ const DatasetEditForm = (props) => { terms: values.terms.nodes ? values.terms.nodes.map((t) => t.nodeUri) : values.terms.map((t) => t.nodeUri), - confidentiality: values.confidentiality + confidentiality: values.confidentiality, + KmsAlias: values.KmsAlias } }) ); @@ -254,13 +255,15 @@ const DatasetEditForm = (props) => { tags: dataset.tags, terms: dataset.terms || [], stewards: dataset.stewards, - confidentiality: dataset.confidentiality + confidentiality: dataset.confidentiality, + KmsAlias: dataset.KmsAlias }} validationSchema={Yup.object().shape({ label: Yup.string() .max(255) .required('*Dataset name is required'), description: Yup.string().max(5000), + KmsAlias: Yup.string().max(255), topics: Yup.array().min(1).required('*Topics are required'), tags: Yup.array().min(1).required('*Tags are required'), confidentiality: Yup.string().required( @@ -480,6 +483,23 @@ const DatasetEditForm = (props) => { variant="outlined" /> + { dataset.imported && dataset.KmsAlias === 'Undefined' && + + + + } diff --git a/frontend/src/views/Datasets/DatasetImportForm.js b/frontend/src/views/Datasets/DatasetImportForm.js index 1cdd53045..eead249dc 100644 --- a/frontend/src/views/Datasets/DatasetImportForm.js +++ b/frontend/src/views/Datasets/DatasetImportForm.js @@ -113,7 +113,8 @@ const DatasetImportForm = (props) => { tags: values.tags, description: values.description, topics: values.topics ? values.topics.map((t) => t.value) : [], - bucketName: values.bucketName, + bucketName: values.bucketName, + KmsKeyAlias: values.KmsKeyAlias, glueDatabaseName: values.glueDatabaseName, stewards: values.stewards, confidentiality: values.confidentiality @@ -215,6 +216,7 @@ const DatasetImportForm = (props) => { topics: [], glueDatabaseName: '', bucketName: '', + KmsKeyAlias: '', confidentiality: '' }} validationSchema={Yup.object().shape({ @@ -229,6 +231,7 @@ const DatasetImportForm = (props) => { environment: Yup.object().required('*Environment is required'), tags: Yup.array().min(1).required('*Tags are required'), glueDatabaseName: Yup.string().max(255), + KmsKeyAlias: Yup.string().max(255), bucketName: Yup.string() .max(255) .required('*S3 bucket name is required'), @@ -454,6 +457,21 @@ const DatasetImportForm = (props) => { variant="outlined" /> + + + { dispatch({ type: SET_ERROR, error: response.errors[0].message }); } }; + + const getCDKExecPolicyUrl = async () => { + const response = await client.query(getCDKExecPolicyPresignedUrl(params.uri)); + if (!response.errors) { + window.open(response.data.getCDKExecPolicyPresignedUrl, '_blank'); + } else { + dispatch({ type: SET_ERROR, error: response.errors[0].message }); + } + }; + const getExternalId = async () => { const response = await client.query(getPivotRoleExternalId(params.uri)); if (!response.errors) { @@ -285,6 +296,42 @@ const EnvironmentCreateForm = (props) => { {`cdk bootstrap --trust ${trustedAccount} -c @aws-cdk/core:newStyleStackSynthesis=true --cloudformation-execution-policies arn:aws:iam::aws:policy/AdministratorAccess aws://ACCOUNT_ID/REGION`} + + + Use the below CloudFormation stack to create the custom IAM policy. + + + + copyNotification()} + text={`cdk bootstrap --trust ${trustedAccount} -c @aws-cdk/core:newStyleStackSynthesis=true --cloudformation-execution-policies arn:aws:iam::ACCOUNT_ID:policy/DataAllCustomCDKPolicy aws://ACCOUNT_ID/REGION`} + > + + + + + {`cdk bootstrap --trust ${trustedAccount} -c @aws-cdk/core:newStyleStackSynthesis=true --cloudformation-execution-policies arn:aws:iam::ACCOUNT_ID:policy/DataAllCustomCDKPolicy aws://ACCOUNT_ID/REGION`} + + {process.env.REACT_APP_ENABLE_PIVOT_ROLE_AUTO_CREATE == 'True' ? ( diff --git a/frontend/src/views/Shares/ShareRejectModal.js b/frontend/src/views/Shares/ShareRejectModal.js new file mode 100644 index 000000000..2011ee8c9 --- /dev/null +++ b/frontend/src/views/Shares/ShareRejectModal.js @@ -0,0 +1,119 @@ +import PropTypes from 'prop-types'; +import * as Yup from 'yup'; +import { Formik } from 'formik'; +import { + Box, + CardContent, + Dialog, + TextField, + FormHelperText, + Typography +} from '@mui/material'; +import { LoadingButton } from '@mui/lab'; +import SendIcon from '@mui/icons-material/Send'; +import React, { useState } from 'react'; + +const ShareRejectModal = (props) => { + const { share, onApply, onClose, open, rejectFunction, ...other } = props; + + return ( + + + + Reject Share + + + + (Optional) Provide a reason for rejecting this share in the text + input field below: + + + + { + await rejectFunction(values.comment); + }} + > + {({ + errors, + handleBlur, + handleChange, + handleSubmit, + isSubmitting, + setFieldValue, + touched, + values + }) => ( +
+ + + + {touched.comment && errors.comment && ( + + {errors.comment} + + )} + + + + } + color="primary" + disabled={isSubmitting} + type="submit" + variant="contained" + > + Reject Share + + +
+ )} +
+
+
+
+ ); +}; + +ShareRejectModal.propTypes = { + share: PropTypes.object.isRequired, + onApply: PropTypes.func, + onClose: PropTypes.func, + rejectFunction: PropTypes.func.isRequired, + open: PropTypes.bool.isRequired, +}; + +export default ShareRejectModal; diff --git a/frontend/src/views/Shares/ShareUpdateReject.js b/frontend/src/views/Shares/ShareUpdateReject.js new file mode 100644 index 000000000..d40ceed40 --- /dev/null +++ b/frontend/src/views/Shares/ShareUpdateReject.js @@ -0,0 +1,163 @@ +import PropTypes from 'prop-types'; +import * as Yup from 'yup'; +import { Formik } from 'formik'; +import { + Box, + CardContent, + Dialog, + TextField, + FormHelperText, + Typography +} from '@mui/material'; +import { LoadingButton } from '@mui/lab'; +import { SET_ERROR } from '../../store/errorReducer'; +import SendIcon from '@mui/icons-material/Send'; +import React, { useState } from 'react'; +import updateShareRejectReason from '../../api/ShareObject/updateShareRejectReason'; + +const UpdateRejectReason = (props) => { + const { share, client, dispatch, enqueueSnackbar, fetchItem, ...other } = props; + const [isUpdateRejectModalOpen, setIsUpdateRejectModalOpen] = useState(false); + const [updating, setUpdating] = useState(false); + + const handleUpdateRejectModalOpen = () => {setIsUpdateRejectModalOpen(true);}; + const handleUpdateRejectModalClose = () => {setIsUpdateRejectModalOpen(false);}; + const update = async (comment) => { + setUpdating(true); + const response = await client.mutate( + updateShareRejectReason( + { + shareUri: share.shareUri, + rejectPurpose: comment + } + ) + ); + if (!response.errors) { + handleUpdateRejectModalClose() + enqueueSnackbar('Share reject reason updated', { + anchorOrigin: { + horizontal: 'right', + vertical: 'top' + }, + variant: 'success' + }); + await fetchItem(); + } else { + dispatch({ type: SET_ERROR, error: response.errors[0].message }); + } + setUpdating(false); + }; + + return ( + <> + } + sx={{ m: 2 }} + onClick={handleUpdateRejectModalOpen} + type="button" + variant="outlined" + > + Edit + + + + + Update Share Reject Reason + + + + Update a reason to reject the share request: + + + + { + await update(values.comment); + }} + > + {({ + errors, + handleBlur, + handleChange, + handleSubmit, + isSubmitting, + setFieldValue, + touched, + values + }) => ( +
+ + + + {touched.comment && errors.comment && ( + + {errors.comment} + + )} + + + + } + color="primary" + disabled={isSubmitting} + type="submit" + variant="contained" + > + Update Share Reject Reason + + +
+ )} +
+
+
+
+ + ); +}; + +UpdateRejectReason.propTypes = { + share: PropTypes.any, + client: PropTypes.any, + dispatch: PropTypes.any, + enqueueSnackbar: PropTypes.any, + fetchItem: PropTypes.func, +}; + +export default UpdateRejectReason; diff --git a/frontend/src/views/Shares/ShareUpdateRequest.js b/frontend/src/views/Shares/ShareUpdateRequest.js new file mode 100644 index 000000000..bc2c003f1 --- /dev/null +++ b/frontend/src/views/Shares/ShareUpdateRequest.js @@ -0,0 +1,164 @@ +import PropTypes from 'prop-types'; +import * as Yup from 'yup'; +import { Formik } from 'formik'; +import { + Box, + CardContent, + Dialog, + TextField, + FormHelperText, + Typography +} from '@mui/material'; +import { LoadingButton } from '@mui/lab'; +import { SET_ERROR } from '../../store/errorReducer'; +import SendIcon from '@mui/icons-material/Send'; +import React, { useState } from 'react'; +import updateShareRequestReason from '../../api/ShareObject/updateShareRequestReason'; + + +const UpdateRequestReason = (props) => { + const { share, client, dispatch, enqueueSnackbar, fetchItem, ...other } = props; + const [isUpdateRequestModalOpen, setIsUpdateRequestModalOpen] = useState(false); + const [updating, setUpdating] = useState(false); + + const handleUpdateRequestModalOpen = () => {setIsUpdateRequestModalOpen(true);}; + const handleUpdateRequestModalClose = () => {setIsUpdateRequestModalOpen(false);}; + const update = async (comment) => { + setUpdating(true); + const response = await client.mutate( + updateShareRequestReason( + { + shareUri: share.shareUri, + requestPurpose: comment + } + ) + ); + if (!response.errors) { + handleUpdateRequestModalClose() + enqueueSnackbar('Share request reason updated', { + anchorOrigin: { + horizontal: 'right', + vertical: 'top' + }, + variant: 'success' + }); + await fetchItem(); + } else { + dispatch({ type: SET_ERROR, error: response.errors[0].message }); + } + setUpdating(false); + }; + + return ( + <> + } + sx={{ m: 2 }} + onClick={handleUpdateRequestModalOpen} + type="button" + variant="outlined" + > + Edit + + + + + Update Share Request + + + + Update a reason for your share request: + + + + { + await update(values.comment); + }} + > + {({ + errors, + handleBlur, + handleChange, + handleSubmit, + isSubmitting, + setFieldValue, + touched, + values + }) => ( +
+ + + + {touched.comment && errors.comment && ( + + {errors.comment} + + )} + + + + } + color="primary" + disabled={isSubmitting} + type="submit" + variant="contained" + > + Update Share Request + + +
+ )} +
+
+
+
+ + ); +}; + +UpdateRequestReason.propTypes = { + share: PropTypes.any, + client: PropTypes.any, + dispatch: PropTypes.any, + enqueueSnackbar: PropTypes.any, + fetchItem: PropTypes.func, +}; + +export default UpdateRequestReason; diff --git a/frontend/src/views/Shares/ShareView.js b/frontend/src/views/Shares/ShareView.js index e26e05d4e..b3aff9afd 100644 --- a/frontend/src/views/Shares/ShareView.js +++ b/frontend/src/views/Shares/ShareView.js @@ -59,6 +59,9 @@ import rejectShareObject from '../../api/ShareObject/rejectShareObject'; import deleteShareObject from '../../api/ShareObject/deleteShareObject.js'; import submitApproval from '../../api/ShareObject/submitApproval'; import removeSharedItem from '../../api/ShareObject/removeSharedItem'; +import ShareRejectModal from './ShareRejectModal'; +import UpdateRejectReason from './ShareUpdateReject'; +import UpdateRequestReason from './ShareUpdateRequest'; function ShareViewHeader(props) { @@ -76,6 +79,7 @@ function ShareViewHeader(props) { const [rejecting, setRejecting] = useState(false); const [submitting, setSubmitting] = useState(false); const [removing, setRemoving] = useState(false); + const [isRejectShareModalOpen, setIsRejectShareModalOpen] = useState(false); const submit = async () => { setSubmitting(true); const response = await client.mutate( @@ -118,6 +122,15 @@ function ShareViewHeader(props) { } setRemoving(false); }; + + const handleRejectShareModalOpen = () => { + setIsRejectShareModalOpen(true); + }; + + const handleRejectShareModalClose = () => { + setIsRejectShareModalOpen(false); + }; + const accept = async () => { setAccepting(true); const response = await client.mutate( @@ -140,14 +153,16 @@ function ShareViewHeader(props) { } setAccepting(false); }; - const reject = async () => { + const reject = async (rejectPurpose) => { setRejecting(true); const response = await client.mutate( rejectShareObject({ - shareUri: share.shareUri + shareUri: share.shareUri, + rejectPurpose: rejectPurpose }) ); if (!response.errors) { + handleRejectShareModalClose() enqueueSnackbar('Share request rejected', { anchorOrigin: { horizontal: 'right', @@ -163,6 +178,7 @@ function ShareViewHeader(props) { setRejecting(false); }; return ( + <> @@ -236,7 +252,7 @@ function ShareViewHeader(props) { color="error" sx={{ m: 1 }} startIcon={} - onClick={reject} + onClick={handleRejectShareModalOpen} type="button" variant="outlined" > @@ -275,6 +291,16 @@ function ShareViewHeader(props) { )} + {isRejectShareModalOpen && ( + + )} + ); } @@ -686,6 +712,68 @@ const ShareView = () => {
+ + + + + + + + + + Request Purpose + {share.userRoleForShareObject === 'Requesters' && ( + + )} + + + + {share.requestPurpose || '-'} + + + + + + Reject Purpose + {share.userRoleForShareObject === 'Approvers' && ( + + )} + + + + {share.rejectPurpose || '-'} + + + + + + diff --git a/tests/api/conftest.py b/tests/api/conftest.py index f3666d850..cde8a5a25 100644 --- a/tests/api/conftest.py +++ b/tests/api/conftest.py @@ -187,6 +187,7 @@ def factory( name: str, owner: str, group: str, + confidentiality: str = None ) -> models.Dataset: key = f'{org.organizationUri}-{env.environmentUri}-{name}-{group}' if cache.get(key): @@ -290,6 +291,7 @@ def factory( 'environmentUri': env.environmentUri, 'SamlAdminGroupName': group or random_group(), 'organizationUri': org.organizationUri, + 'confidentiality': confidentiality or dataall.api.constants.ConfidentialityClassification.Unclassified.value }, ) print('==>', response) @@ -466,7 +468,7 @@ def factory( dataall.db.api.ResourcePolicy.attach_resource_policy( session=session, group=dataset.SamlAdminGroupName, - permissions=dataall.db.permissions.SHARE_OBJECT_REQUESTER, + permissions=dataall.db.permissions.SHARE_OBJECT_APPROVER, resource_uri=share.shareUri, resource_type=dataall.db.models.ShareObject.__name__, ) @@ -477,14 +479,6 @@ def factory( resource_uri=share.shareUri, resource_type=dataall.db.models.ShareObject.__name__, ) - if dataset.SamlAdminGroupName != environment.SamlGroupName: - dataall.db.api.ResourcePolicy.attach_resource_policy( - session=session, - group=environment.SamlGroupName, - permissions=dataall.db.permissions.SHARE_OBJECT_REQUESTER, - resource_uri=share.shareUri, - resource_type=dataall.db.models.ShareObject.__name__, - ) session.commit() return share @@ -566,6 +560,49 @@ def factory(dataset: models.Dataset, name, username) -> models.DatasetTable: yield factory +@pytest.fixture(scope='module', autouse=True) +def table_with_permission(client, patch_es): + cache = {} + + def factory( + dataset: models.Dataset, + name: str, + owner: str, + group: str, + ) -> models.DatasetTable: + key = f'{dataset.datasetUri}-{name}' + if cache.get(key): + print('found in cache ', cache[key]) + return cache.get(key) + response = client.query( + """ + mutation CreateDatasetTable( + $datasetUri: String + $input: NewDatasetTableInput + ) { + createDatasetTable(datasetUri: $datasetUri, input: $input) { + tableUri + name + } + } + """, + username=owner, + groups=[group], + datasetUri=dataset.datasetUri, + input={ + 'label': f'{name}', + 'name': name, + 'description': f'test table {name}', + 'tags': random_tags(), + 'region': dataset.region + }, + ) + print('==>', response) + return response.data.createDatasetTable + + yield factory + + @pytest.fixture(scope='module', autouse=True) def org(client): cache = {} diff --git a/tests/api/test_dataset.py b/tests/api/test_dataset.py index dd1d81a86..0cb824fd1 100644 --- a/tests/api/test_dataset.py +++ b/tests/api/test_dataset.py @@ -100,7 +100,11 @@ def test_list_datasets(client, dataset1, group): assert response.data.listDatasets.nodes[0].datasetUri == dataset1.datasetUri -def test_update_dataset(dataset1, client, group, group2): +def test_update_dataset(dataset1, client, group, group2, module_mocker): + module_mocker.patch( + 'dataall.aws.handlers.kms.KMS.get_key_id', + return_value={"some_key"}, + ) response = client.query( """ mutation UpdateDataset($datasetUri:String!,$input:ModifyDatasetInput){ @@ -119,6 +123,7 @@ def test_update_dataset(dataset1, client, group, group2): 'label': 'dataset1updated', 'stewards': group2.name, 'confidentiality': 'Secret', + 'KmsAlias': '' }, groups=[group.name], ) @@ -164,6 +169,7 @@ def test_update_dataset(dataset1, client, group, group2): 'label': 'dataset1updated2', 'stewards': dataset1.SamlAdminGroupName, 'confidentiality': 'Official', + 'KmsAlias': '' }, groups=[group.name], ) @@ -212,7 +218,10 @@ def test_update_dataset_unauthorized(dataset1, client, group): """, username='anonymoususer', datasetUri=dataset1.datasetUri, - input={'label': 'dataset1updated'}, + input={ + 'label': 'dataset1updated', + 'KmsAlias': '' + }, ) assert 'UnauthorizedOperation' in response.errors[0].message @@ -443,7 +452,7 @@ def test_import_dataset(org1, env1, dataset1, client, group): 'bucketName': 'dhimportedbucket', 'glueDatabaseName': 'dhimportedGlueDB', 'adminRoleName': 'dhimportedRole', - 'KmsKeyId': '1234-YYEY', + 'KmsKeyAlias': '1234-YYEY', 'owner': dataset1.owner, 'SamlAdminGroupName': group.name, }, diff --git a/tests/api/test_dataset_profiling.py b/tests/api/test_dataset_profiling.py index ece463008..bcab1deb5 100644 --- a/tests/api/test_dataset_profiling.py +++ b/tests/api/test_dataset_profiling.py @@ -15,34 +15,32 @@ def env1(env, org1, user, group, tenant): env1 = env(org1, 'dev', user.userName, group.name, '111111111111', 'eu-west-1') yield env1 +@pytest.fixture(scope='module', autouse=True) +def org2(org, user2, group2, tenant): + org2 = org('testorg2', user2.userName, group2.name) + yield org2 -@pytest.fixture(scope='module') -def dataset1(env1, org1, dataset, group, user) -> dataall.db.models.Dataset: - yield dataset( - org=org1, env=env1, name='dataset1', owner=user.userName, group=group.name - ) +@pytest.fixture(scope='module', autouse=True) +def env2(env, org2, user2, group2, tenant): + env2 = env(org2, 'dev2', user2.userName, group2.name, '2222222222', 'eu-west-1') + yield env2 -def test_add_tables(table, dataset1, db): - for i in range(0, 10): - table(dataset=dataset1, name=f'table{i+1}', username=dataset1.owner) - - with db.scoped_session() as session: - nb = session.query(dataall.db.models.DatasetTable).count() - assert nb == 10 +@pytest.fixture(scope='module') +def dataset1(env1, org1, dataset, group, user) -> dataall.db.models.Dataset: + dataset1 = dataset( + org=org1, env=env1, name='dataset1', owner=user.userName, group=group.name, + confidentiality=dataall.api.constants.ConfidentialityClassification.Secret.value + ) + yield dataset1 -def update_runs(db, runs): - with db.scoped_session() as session: - for run in runs: - run = session.query(dataall.db.models.DatasetProfilingRun).get( - run['profilingRunUri'] - ) - run.status = 'SUCCEEDED' - session.commit() +@pytest.fixture(scope='module') +def table1(dataset1, table_with_permission, group, user): + yield table_with_permission(dataset=dataset1, name="table1", owner=user.userName, group=group.name) -def test_start_profiling(org1, env1, dataset1, client, module_mocker, db, user, group): +def test_start_profiling_run_authorized(org1, env1, dataset1, table1, client, module_mocker, db, user, group): module_mocker.patch('requests.post', return_value=True) module_mocker.patch( 'dataall.aws.handlers.service_handlers.Worker.process', return_value=True @@ -60,7 +58,7 @@ def test_start_profiling(org1, env1, dataset1, client, module_mocker, db, user, } """, username=user.userName, - input={'datasetUri': dataset1.datasetUri, 'GlueTableName': 'table1'}, + input={'datasetUri': dataset1.datasetUri, 'GlueTableName': table1.name}, groups=[group.name], ) profiling = response.data.startDatasetProfilingRun @@ -73,73 +71,64 @@ def test_start_profiling(org1, env1, dataset1, client, module_mocker, db, user, session.commit() -def test_list_runs(client, dataset1, env1, group): - runs = list_profiling_runs(client, dataset1, group) - assert len(runs) == 1 - - -def list_profiling_runs(client, dataset1, group): +def test_start_profiling_run_unauthorized(org2, env2, dataset1, table1, client, module_mocker, db, user2, group2): + module_mocker.patch('requests.post', return_value=True) + module_mocker.patch( + 'dataall.aws.handlers.service_handlers.Worker.process', return_value=True + ) + dataset1.GlueProfilingJobName = ('profile-job',) + dataset1.GlueProfilingTriggerSchedule = ('cron(* 2 * * ? *)',) + dataset1.GlueProfilingTriggerName = ('profile-job',) response = client.query( """ - query listDatasetProfilingRuns($datasetUri:String!){ - listDatasetProfilingRuns(datasetUri:$datasetUri){ - count - nodes{ + mutation startDatasetProfilingRun($input:StartDatasetProfilingRunInput){ + startDatasetProfilingRun(input:$input) + { profilingRunUri } } - } """, - datasetUri=dataset1.datasetUri, - groups=[group.name], + username=user2.userName, + input={'datasetUri': dataset1.datasetUri, 'GlueTableName': table1.name}, + groups=[group2.name], ) - return response.data.listDatasetProfilingRuns['nodes'] + assert 'UnauthorizedOperation' in response.errors[0].message -def test_get_profiling_run(client, dataset1, env1, module_mocker, db, group): - runs = list_profiling_runs(client, dataset1, group) +def test_get_table_profiling_run_authorized( + client, dataset1, table1, module_mocker, db, user, group +): module_mocker.patch( - 'dataall.aws.handlers.service_handlers.Worker.queue', - return_value=update_runs(db, runs), + 'dataall.api.Objects.DatasetProfiling.resolvers._get_profiling_results_from_s3', + return_value='{"results": "yes"}', ) + response = client.query( """ - query getDatasetProfilingRun($profilingRunUri:String!){ - getDatasetProfilingRun(profilingRunUri:$profilingRunUri){ + query getDatasetTableProfilingRun($tableUri:String!){ + getDatasetTableProfilingRun(tableUri:$tableUri){ profilingRunUri status + GlueTableName } } """, - profilingRunUri=runs[0]['profilingRunUri'], + tableUri=table1.tableUri, groups=[group.name], + username=user.userName, ) - assert ( - response.data.getDatasetProfilingRun['profilingRunUri'] - == runs[0]['profilingRunUri'] - ) - assert response.data.getDatasetProfilingRun['status'] == 'SUCCEEDED' - + assert response.data.getDatasetTableProfilingRun['profilingRunUri'] + assert response.data.getDatasetTableProfilingRun['status'] == 'RUNNING' + assert response.data.getDatasetTableProfilingRun['GlueTableName'] == 'table1' -def test_get_table_profiling_run( - client, dataset1, env1, module_mocker, table, db, group +def test_get_table_profiling_run_unauthorized( + client, dataset1, module_mocker, table1, db, user2, group2 ): module_mocker.patch( - 'dataall.api.Objects.DatasetProfiling.resolvers.get_profiling_results_from_s3', + 'dataall.api.Objects.DatasetProfiling.resolvers._get_profiling_results_from_s3', return_value='{"results": "yes"}', ) - runs = list_profiling_runs(client, dataset1, group) - module_mocker.patch( - 'dataall.aws.handlers.service_handlers.Worker.queue', - return_value=update_runs(db, runs), - ) - table = table(dataset=dataset1, name='table1', username=dataset1.owner) - with db.scoped_session() as session: - table = ( - session.query(dataall.db.models.DatasetTable) - .filter(dataall.db.models.DatasetTable.GlueTableName == 'table1') - .first() - ) + response = client.query( """ query getDatasetTableProfilingRun($tableUri:String!){ @@ -150,37 +139,22 @@ def test_get_table_profiling_run( } } """, - tableUri=table.tableUri, - groups=[group.name], - ) - assert ( - response.data.getDatasetTableProfilingRun['profilingRunUri'] - == runs[0]['profilingRunUri'] + tableUri=table1.tableUri, + groups=[group2.name], + username=user2.userName, ) - assert response.data.getDatasetTableProfilingRun['status'] == 'SUCCEEDED' - assert response.data.getDatasetTableProfilingRun['GlueTableName'] == 'table1' + assert 'UnauthorizedOperation' in response.errors[0].message -def test_list_table_profiling_runs( - client, dataset1, env1, module_mocker, table, db, group +def test_list_table_profiling_runs_authorized( + client, dataset1, module_mocker, table1, db, user, group ): module_mocker.patch( - 'dataall.api.Objects.DatasetProfiling.resolvers.get_profiling_results_from_s3', + 'dataall.api.Objects.DatasetProfiling.resolvers._get_profiling_results_from_s3', return_value='{"results": "yes"}', ) module_mocker.patch('requests.post', return_value=True) - runs = list_profiling_runs(client, dataset1, group) - table1000 = table(dataset=dataset1, name='table1000', username=dataset1.owner) - with db.scoped_session() as session: - table = ( - session.query(dataall.db.models.DatasetTable) - .filter(dataall.db.models.DatasetTable.GlueTableName == 'table1') - .first() - ) - module_mocker.patch( - 'dataall.aws.handlers.service_handlers.Worker.queue', - return_value=update_runs(db, runs), - ) + response = client.query( """ query listDatasetTableProfilingRuns($tableUri:String!){ @@ -195,25 +169,29 @@ def test_list_table_profiling_runs( } } """, - tableUri=table.tableUri, + tableUri=table1.tableUri, groups=[group.name], + username=user.userName, ) + assert response.data.listDatasetTableProfilingRuns['count'] == 1 + assert response.data.listDatasetTableProfilingRuns['nodes'][0]['profilingRunUri'] assert ( - response.data.listDatasetTableProfilingRuns['nodes'][0]['profilingRunUri'] - == runs[0]['profilingRunUri'] - ) - assert ( - response.data.listDatasetTableProfilingRuns['nodes'][0]['status'] == 'SUCCEEDED' + response.data.listDatasetTableProfilingRuns['nodes'][0]['status'] == 'RUNNING' ) assert ( response.data.listDatasetTableProfilingRuns['nodes'][0]['GlueTableName'] == 'table1' ) +def test_list_table_profiling_runs_unauthorized( + client, dataset1, module_mocker, table1, db, user2, group2 +): module_mocker.patch( - 'dataall.aws.handlers.service_handlers.Worker.queue', - return_value=update_runs(db, runs), + 'dataall.api.Objects.DatasetProfiling.resolvers._get_profiling_results_from_s3', + return_value='{"results": "yes"}', ) + module_mocker.patch('requests.post', return_value=True) + response = client.query( """ query listDatasetTableProfilingRuns($tableUri:String!){ @@ -228,39 +206,8 @@ def test_list_table_profiling_runs( } } """, - tableUri=table1000.tableUri, - groups=[group.name], - ) - assert response.data.listDatasetTableProfilingRuns['count'] == 0 - - response = client.query( - """ - query getDatasetTableProfilingRun($tableUri:String!){ - getDatasetTableProfilingRun(tableUri:$tableUri){ - profilingRunUri - status - GlueTableName - } - } - """, - tableUri=table.tableUri, - groups=[group.name], - ) - assert ( - response.data.getDatasetTableProfilingRun['profilingRunUri'] - == runs[0]['profilingRunUri'] - ) - - response = client.query( - """ - query getDatasetTableProfilingRun($tableUri:String!){ - getDatasetTableProfilingRun(tableUri:$tableUri){ - profilingRunUri - status - GlueTableName - } - } - """, - tableUri=table1000.tableUri, + tableUri=table1.tableUri, + groups=[group2.name], + username=user2.userName, ) - assert not response.data.getDatasetTableProfilingRun + assert 'UnauthorizedOperation' in response.errors[0].message diff --git a/tests/api/test_glossary.py b/tests/api/test_glossary.py index 8821aadd0..d295fe068 100644 --- a/tests/api/test_glossary.py +++ b/tests/api/test_glossary.py @@ -316,7 +316,10 @@ def test_dataset_term_link_approval(db, client, t1, _dataset, user, group): username='alice', groups=[group.name], datasetUri=_dataset.datasetUri, - input={'terms': [t1.nodeUri]}, + input={ + 'terms': [t1.nodeUri], + 'KmsAlias': '' + }, ) with db.scoped_session() as session: link: models.TermLink = ( diff --git a/tests/api/test_share.py b/tests/api/test_share.py index 58309aa01..71af1c5c5 100644 --- a/tests/api/test_share.py +++ b/tests/api/test_share.py @@ -146,6 +146,7 @@ def share1_draft( owner=user2.userName, status=dataall.api.constants.ShareObjectStatus.Draft.value ) + yield share1 # Cleanup share @@ -395,6 +396,8 @@ def create_share_object(client, userName, group, groupUri, environmentUri, datas created status userRoleForShareObject + requestPurpose + rejectPurpose } } """ @@ -411,6 +414,7 @@ def create_share_object(client, userName, group, groupUri, environmentUri, datas 'groupUri': groupUri, 'principalId': groupUri, 'principalType': dataall.api.constants.PrincipalType.Group.value, + 'requestPurpose': 'testShare' }, ) @@ -427,6 +431,8 @@ def get_share_object(client, user, group, shareUri, filter): created owner status + requestPurpose + rejectPurpose userRoleForShareObject principal { principalId @@ -479,6 +485,43 @@ def get_share_object(client, user, group, shareUri, filter): return response +def update_share_request_purpose(client, user, group, shareUri, requestPurpose): + q = """ + mutation updateShareRequestReason($shareUri: String!,$requestPurpose: String!) { + updateShareRequestReason(shareUri: $shareUri, requestPurpose: $requestPurpose) + } + """ + + response = client.query( + q, + username=user.userName, + groups=[group.name], + shareUri=shareUri, + requestPurpose=requestPurpose, + ) + # Print response + print('Update share request purpose response: ', response) + return response + + +def update_share_reject_purpose(client, user, group, shareUri, rejectPurpose): + q = """ + mutation updateShareRejectReason($shareUri: String!, $rejectPurpose: String!) { + updateShareRejectReason(shareUri: $shareUri, rejectPurpose: $rejectPurpose) + } + """ + + response = client.query( + q, + username=user.userName, + groups=[group.name], + shareUri=shareUri, + rejectPurpose=rejectPurpose, + ) + # Print response + print('Update share reject purpose response: ', response) + return response + def list_dataset_share_objects(client, user, group, datasetUri): q = """ query ListDatasetShareObjects( @@ -683,10 +726,11 @@ def approve_share_object(client, user, group, shareUri): def reject_share_object(client, user, group, shareUri): q = """ - mutation RejectShareObject($shareUri: String!) { - rejectShareObject(shareUri: $shareUri) { + mutation RejectShareObject($shareUri: String!, $rejectPurpose: String!) { + rejectShareObject(shareUri: $shareUri, rejectPurpose: $rejectPurpose) { shareUri status + rejectPurpose } } """ @@ -696,6 +740,7 @@ def reject_share_object(client, user, group, shareUri): username=user.userName, groups=[group.name], shareUri=shareUri, + rejectPurpose="testRejectShare" ) print('Response from rejectShareObject: ', response) @@ -811,7 +856,7 @@ def test_create_share_object_authorized(client, user2, group2, env2group, env2, assert create_share_object_response.data.createShareObject.shareUri assert create_share_object_response.data.createShareObject.status == dataall.api.constants.ShareObjectStatus.Draft.value assert create_share_object_response.data.createShareObject.userRoleForShareObject == 'Requesters' - + assert create_share_object_response.data.createShareObject.requestPurpose == 'testShare' def test_create_share_object_with_item_authorized(client, user2, group2, env2group, env2, dataset1, table1): # Given @@ -831,6 +876,7 @@ def test_create_share_object_with_item_authorized(client, user2, group2, env2gro assert create_share_object_response.data.createShareObject.shareUri assert create_share_object_response.data.createShareObject.status == dataall.api.constants.ShareObjectStatus.Draft.value assert create_share_object_response.data.createShareObject.userRoleForShareObject == 'Requesters' + assert create_share_object_response.data.createShareObject.requestPurpose == 'testShare' # And item has been added to the share request get_share_object_response = get_share_object( @@ -866,6 +912,47 @@ def test_get_share_object(client, share1_draft, user, group): assert get_share_object_response.data.getShareObject.get('principal').region +def test_update_share_request_purpose(client, share1_draft, user2, group2): + # Given + # Existing share object in status Draft (->fixture share1_draft) + # When a user from the requesters group updates + update_share_request_purpose_response = update_share_request_purpose( + client=client, + user=user2, + group=group2, + shareUri=share1_draft.shareUri, + requestPurpose="NewRequestPurpose" + ) + + # Then the requestPurpose of the Share is Updated + get_share_object_response = get_share_object( + client=client, + user=user2, + group=group2, + shareUri=share1_draft.shareUri, + filter={} + ) + + assert get_share_object_response.data.getShareObject.requestPurpose == "NewRequestPurpose" + assert get_share_object_response.data.getShareObject.userRoleForShareObject == 'Requesters' + + +def test_update_share_request_purpose_unauthorized(client, share1_draft, user, group): + # Given + # Existing share object in status Draft (->fixture share1_draft) + # When a user from the approvers group attempts to update the request purpose + update_share_request_purpose_response = update_share_request_purpose( + client=client, + user=user, + group=group, + shareUri=share1_draft.shareUri, + requestPurpose="NewRequestPurpose" + ) + + # Then we get an error of the type + assert 'UnauthorizedOperation' in update_share_request_purpose_response.errors[0].message + + def test_list_dataset_share_objects_approvers( client, user, group, share1_draft, dataset1 ): @@ -1085,6 +1172,47 @@ def test_submit_share_request( assert status == dataall.api.constants.ShareItemStatus.PendingApproval.name +def test_update_share_reject_purpose(client, share2_submitted, user, group): + # Given + # Existing share object in status Submitted (-> fixture share2_submitted) + # When a user from the approvers group updates the reject purpose + update_share_reject_purpose_response = update_share_reject_purpose( + client=client, + user=user, + group=group, + shareUri=share2_submitted.shareUri, + rejectPurpose="NewRejectPurpose" + ) + + # Then the rejectPurpose of the Share is Updated + get_share_object_response = get_share_object( + client=client, + user=user, + group=group, + shareUri=share2_submitted.shareUri, + filter={} + ) + + assert get_share_object_response.data.getShareObject.rejectPurpose == "NewRejectPurpose" + assert get_share_object_response.data.getShareObject.userRoleForShareObject == 'Approvers' + + +def test_update_share_reject_purpose_unauthorized(client, share2_submitted, user2, group2): + # Given + # Existing share object in status Submitted (-> fixture share2_submitted) + # When a user from the requester group attempts to update the reject purpose + update_share_reject_purpose_response = update_share_reject_purpose( + client=client, + user=user2, + group=group2, + shareUri=share2_submitted.shareUri, + rejectPurpose="NewRejectPurpose" + ) + + # Then we get an error of the type + assert 'UnauthorizedOperation' in update_share_reject_purpose_response.errors[0].message + + def test_approve_share_request( db, client, user, group, share2_submitted, share2_item_pa ): @@ -1182,7 +1310,7 @@ def test_reject_share_request( # Then share object status is changed to Rejected assert reject_share_object_response.data.rejectShareObject.status == \ dataall.api.constants.ShareObjectStatus.Rejected.name - + assert reject_share_object_response.data.rejectShareObject.rejectPurpose == "testRejectShare" # and share item status is changed to Share_Rejected get_share_object_response = get_share_object( client=client, diff --git a/tests/cdkproxy/test_pipeline_stack.py b/tests/cdkproxy/test_pipeline_stack.py index fb1976839..ed1d7d0c0 100644 --- a/tests/cdkproxy/test_pipeline_stack.py +++ b/tests/cdkproxy/test_pipeline_stack.py @@ -1,5 +1,5 @@ import json - +import os import pytest from aws_cdk import App @@ -28,6 +28,14 @@ def patch_methods(mocker, db, pipeline2, env, pip_envs, org): 'dataall.cdkproxy.stacks.pipeline.PipelineStack.get_pipeline_environments', return_value=pip_envs, ) + mocker.patch( + 'dataall.cdkproxy.stacks.pipeline.PipelineStack._set_env_vars', + return_value=(os.environ, True) + ) + mocker.patch( + 'dataall.cdkproxy.stacks.pipeline.PipelineStack._check_repository', + return_value=False + ) mocker.patch( 'dataall.utils.runtime_stacks_tagging.TagsUtil.get_engine', return_value=db ) diff --git a/tests/db/test_connect.py b/tests/db/test_connect.py index 74be044fd..32333d4cc 100644 --- a/tests/db/test_connect.py +++ b/tests/db/test_connect.py @@ -6,9 +6,8 @@ def test(db: dataall.db.Engine): if os.getenv('local') or os.getenv('pytest'): config: dataall.db.DbConfig = db.dbconfig print(config) - assert config.params.get('host') == 'localhost' - assert config.params.get('port') == '5432' - assert config.params.get('schema') == 'pytest' + assert config.host == 'localhost' + assert config.schema == 'pytest' with db.scoped_session() as session: models = [] models = models + dataall.db.Base.__subclasses__() diff --git a/tests/db/test_dbconfig.py b/tests/db/test_dbconfig.py new file mode 100644 index 000000000..67476d514 --- /dev/null +++ b/tests/db/test_dbconfig.py @@ -0,0 +1,58 @@ +import pytest + +from dataall.db import DbConfig + + +def test_incorrect_database(): + with pytest.raises(ValueError): + DbConfig( + user='dataall', + pwd='123456789', + host="dataall.eu-west-1.rds.amazonaws.com", + db='dataall\'; DROP TABLE users;', + schema='dev' + ) + + +def test_incorrect_user(): + with pytest.raises(ValueError): + DbConfig( + user='dataall2;^&*end', + pwd='qwsufn3i20d-_s3qaSW3d2', + host="dataall.eu-west-1.rds.amazonaws.com", + db='dataall', + schema='dev' + ) + + +def test_incorrect_pwd(): + with pytest.raises(ValueError): + DbConfig( + user='dataall', + pwd='qazxsVFRTGBdfrew-332_c2@dataall.eu-west-1.rds.amazonaws.com/dataall\'; drop table dataset; # ', + host="dataall.eu-west-1.rds.amazonaws.com", + db='dataall', + schema='dev' + ) + + +def test_incorrect_host(): + with pytest.raises(ValueError): + DbConfig( + user='dataall', + pwd='q68rjdmwiosoxahGDYJWIdi-9eu93_9dJJ_', + host="dataall.eu-west-1$%#&@*#)$#.rds.amazonaws.com", + db='dataall', + schema='dev' + ) + + +def test_correct_config(): + # no exception is raised + DbConfig( + user='dataall', + pwd='q68rjdm_aX', + host="dataall.eu-west-1.rds.amazonaws.com", + db='dataall', + schema='dev' + ) From f3baf142359ffa6ef16255b66dd8c2fc00b24024 Mon Sep 17 00:00:00 2001 From: dlpzx <71252798+dlpzx@users.noreply.github.com> Date: Tue, 25 Jul 2023 12:09:49 +0200 Subject: [PATCH 41/53] Fix wrong update of externalId for pivotRole (#591) ### Feature or Bugfix - Bugfix ### Detail Fixes #589 by: - using CDK constructs to check the existence of an externalID in Secrets Manager - using boto3 calls using the CDK look up role in the deployment accounts to find an externalID in the Systems Manager Parameter Store ### Relates - #589 By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. --------- Co-authored-by: Noah Paige --- deploy/stacks/param_store_stack.py | 29 +++++++++++++++++++++++++---- deploy/stacks/pipeline.py | 8 ++++++++ 2 files changed, 33 insertions(+), 4 deletions(-) diff --git a/deploy/stacks/param_store_stack.py b/deploy/stacks/param_store_stack.py index d2eddc50b..d06548746 100644 --- a/deploy/stacks/param_store_stack.py +++ b/deploy/stacks/param_store_stack.py @@ -4,6 +4,7 @@ import boto3 from aws_cdk import ( aws_ssm, + SecretValue ) from .pyNestedStack import pyNestedClass @@ -102,7 +103,7 @@ def __init__( description=f"Stores dataall pivot role name for environment {envname}", ) - existing_external_id = _get_external_id_value(envname=envname, region=self.region) + existing_external_id = _get_external_id_value(envname=envname, account_id=self.account, region=self.region) external_id_value = existing_external_id if existing_external_id else _generate_external_id() aws_ssm.StringParameter( @@ -113,12 +114,29 @@ def __init__( description=f"Stores dataall external id for environment {envname}", ) -def _get_external_id_value(envname, region): +def _get_external_id_value(envname, account_id, region): """For first deployments it returns False, for existing deployments it returns the ssm parameter value generated in the first deployment for prior to V1.5.1 upgrades it returns the secret from secrets manager """ - session = boto3.Session() + cdk_look_up_role = 'arn:aws:iam::{}:role/cdk-hnb659fds-lookup-role-{}-{}'.format(account_id, account_id, region) + base_session = boto3.Session() + assume_role_dict = dict( + RoleArn=cdk_look_up_role, + RoleSessionName=cdk_look_up_role.split('/')[1], + ) + sts = base_session.client( + 'sts', + region_name=region, + endpoint_url=f"https://sts.{region}.amazonaws.com" + ) + response = sts.assume_role(**assume_role_dict) + session = boto3.Session( + aws_access_key_id=response['Credentials']['AccessKeyId'], + aws_secret_access_key=response['Credentials']['SecretAccessKey'], + aws_session_token=response['Credentials']['SessionToken'], + ) + secret_id = f"dataall-externalId-{envname}" parameter_path = f"/dataall/{envname}/pivotRole/externalId" try: @@ -128,7 +146,10 @@ def _get_external_id_value(envname, region): except: try: secrets_client = session.client('secretsmanager', region_name=region) - secret_value = secrets_client.get_secret_value(SecretId=secret_id)['SecretString'] + if secrets_client.describe_secret(SecretId=secret_id): + secret_value = SecretValue.secrets_manager(secret_id).unsafe_unwrap() + else: + raise Exception return secret_value except: return False diff --git a/deploy/stacks/pipeline.py b/deploy/stacks/pipeline.py index b914e40bc..a32d3312f 100644 --- a/deploy/stacks/pipeline.py +++ b/deploy/stacks/pipeline.py @@ -231,6 +231,14 @@ def set_codebuild_iam_roles(self): policy_name=f'{self.resource_prefix}-{self.git_branch}-baseline-codebuild-policy', roles=[self.baseline_codebuild_role, self.expanded_codebuild_role], statements= [ + iam.PolicyStatement( + actions=[ + 'sts:AssumeRole', + ], + resources=[ + 'arn:aws:iam::*:role/cdk-hnb659fds-lookup-role*' + ], + ), iam.PolicyStatement( actions=[ 'sts:GetServiceBearerToken', From 476ecead1eb2f4c1cc64d51c6f4ee10181679f80 Mon Sep 17 00:00:00 2001 From: dbalintx <132444646+dbalintx@users.noreply.github.com> Date: Wed, 2 Aug 2023 11:30:19 +0200 Subject: [PATCH 42/53] Fix cloudfront stack in case custom domain is given (#607) ### Feature or Bugfix - Bugfix ### Detail In case a custom domain and ACM certificate is configured for CloudFront, these parameters have to be passed differently to the newly introduced CloudFront distribution CDK class, introduced in [v1.6](https://github.com/awslabs/aws-dataall/commit/84c555ede529d95aa553f789efe844ea9c723a49#diff-c65de5ab1eebd2a930807381430fa602793cc9966ab2a064cb29603162377030) ### Relates #603 Testing: Tested by, - creating a fresh deployment with v1.5 with a custom domain and SSL certificate - upgrading to v1.6, with the bugfix content from this PR 2 issues that are detailed in #603 arose (both related to the upgrade process), mitigation method of them is detailed there in the issue. By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. --- deploy/stacks/cloudfront.py | 52 +++++++++++++++++++------------------ 1 file changed, 27 insertions(+), 25 deletions(-) diff --git a/deploy/stacks/cloudfront.py b/deploy/stacks/cloudfront.py index b654320f0..ebcc51569 100644 --- a/deploy/stacks/cloudfront.py +++ b/deploy/stacks/cloudfront.py @@ -232,8 +232,13 @@ def __init__( frontend_alternate_domain = None userguide_alternate_domain = None - frontend_alias_configuration = None - userguide_alias_configuration = None + + frontend_domain_names = None + userguide_domain_names = None + + certificate = None + ssl_support_method = None + security_policy = None cloudfront_bucket = s3.Bucket( self, @@ -277,19 +282,18 @@ def __init__( validation=acm.CertificateValidation.from_dns(hosted_zone=hosted_zone), ) - frontend_alias_configuration = ( - cloudfront.ViewerCertificate.from_acm_certificate( - aliases=[frontend_alternate_domain], - certificate=certificate, - ssl_method=cloudfront.SSLMethod.SNI, - security_policy=cloudfront.SecurityPolicyProtocol.TLS_V1_2_2021, - ) - ) + frontend_domain_names = [frontend_alternate_domain] + userguide_domain_names = [userguide_alternate_domain] + ssl_support_method = cloudfront.SSLMethod.SNI + security_policy = cloudfront.SecurityPolicyProtocol.TLS_V1_2_2021 cloudfront_distribution = cloudfront.Distribution( self, 'CloudFrontDistribution', - certificate=frontend_alias_configuration, + certificate=certificate, + domain_names=frontend_domain_names, + ssl_support_method=ssl_support_method, + minimum_protocol_version=security_policy, default_behavior=cloudfront.BehaviorOptions( origin=origins.S3Origin( bucket=cloudfront_bucket, @@ -339,24 +343,16 @@ def __init__( self.http_header_func_version, ) = self.build_docs_http_headers(docs_http_headers, envname, resource_prefix) - - if userguide_alternate_domain: - userguide_alias_configuration = ( - cloudfront.ViewerCertificate.from_acm_certificate( - aliases=[userguide_alternate_domain], - certificate=certificate, - ssl_method=cloudfront.SSLMethod.SNI, - security_policy=cloudfront.SecurityPolicyProtocol.TLS_V1_2_2021, - ) - ) - userguide_docs_distribution, user_docs_bucket = self.build_static_site( f'userguide', acl, auth_at_edge, envname, resource_prefix, - userguide_alias_configuration, + userguide_domain_names, + certificate, + ssl_support_method, + security_policy, logging_bucket, ) if frontend_alternate_domain: @@ -505,7 +501,10 @@ def build_static_site( auth_at_edge, envname, resource_prefix, - alias_configuration, + domain_names, + certificate, + ssl_support_method, + security_policy, logging_bucket, ): @@ -543,7 +542,10 @@ def build_static_site( cloudfront_distribution = cloudfront.Distribution( self, f'{construct_id}Distribution', - certificate=alias_configuration, + certificate=certificate, + domain_names=domain_names, + ssl_support_method=ssl_support_method, + minimum_protocol_version=security_policy, default_behavior=cloudfront.BehaviorOptions( viewer_protocol_policy=cloudfront.ViewerProtocolPolicy.REDIRECT_TO_HTTPS, response_headers_policy=cloudfront.ResponseHeadersPolicy.SECURITY_HEADERS, From 7597a922140f278b24121479012c417b14e7b1c9 Mon Sep 17 00:00:00 2001 From: dlpzx Date: Wed, 2 Aug 2023 12:24:35 +0200 Subject: [PATCH 43/53] first commit --- .../dataall/base/cdkproxy/cdk.context.json | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 backend/dataall/base/cdkproxy/cdk.context.json diff --git a/backend/dataall/base/cdkproxy/cdk.context.json b/backend/dataall/base/cdkproxy/cdk.context.json new file mode 100644 index 000000000..77dd6bbce --- /dev/null +++ b/backend/dataall/base/cdkproxy/cdk.context.json @@ -0,0 +1,34 @@ +{ + "vpc-provider:account=662413907444:filter.isDefault=true:region=eu-west-1:returnAsymmetricSubnets=true": { + "vpcId": "vpc-022d86a85d8a3b2d7", + "vpcCidrBlock": "172.31.0.0/16", + "ownerAccountId": "662413907444", + "availabilityZones": [], + "subnetGroups": [ + { + "name": "Public", + "type": "Public", + "subnets": [ + { + "subnetId": "subnet-09cbdf31f382ead9d", + "cidr": "172.31.32.0/20", + "availabilityZone": "eu-west-1a", + "routeTableId": "rtb-07069adf5c9b44ef7" + }, + { + "subnetId": "subnet-02e420bac3f0fdded", + "cidr": "172.31.0.0/20", + "availabilityZone": "eu-west-1b", + "routeTableId": "rtb-07069adf5c9b44ef7" + }, + { + "subnetId": "subnet-01236b9e5ee008de3", + "cidr": "172.31.16.0/20", + "availabilityZone": "eu-west-1c", + "routeTableId": "rtb-07069adf5c9b44ef7" + } + ] + } + ] + } +} From 9bf015fa8680e38541c74b50ca73a0888e7133d2 Mon Sep 17 00:00:00 2001 From: dlpzx Date: Wed, 2 Aug 2023 12:25:34 +0200 Subject: [PATCH 44/53] first commit --- .../dataall/base/cdkproxy/cdk.context.json | 34 ------------------- 1 file changed, 34 deletions(-) delete mode 100644 backend/dataall/base/cdkproxy/cdk.context.json diff --git a/backend/dataall/base/cdkproxy/cdk.context.json b/backend/dataall/base/cdkproxy/cdk.context.json deleted file mode 100644 index 77dd6bbce..000000000 --- a/backend/dataall/base/cdkproxy/cdk.context.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "vpc-provider:account=662413907444:filter.isDefault=true:region=eu-west-1:returnAsymmetricSubnets=true": { - "vpcId": "vpc-022d86a85d8a3b2d7", - "vpcCidrBlock": "172.31.0.0/16", - "ownerAccountId": "662413907444", - "availabilityZones": [], - "subnetGroups": [ - { - "name": "Public", - "type": "Public", - "subnets": [ - { - "subnetId": "subnet-09cbdf31f382ead9d", - "cidr": "172.31.32.0/20", - "availabilityZone": "eu-west-1a", - "routeTableId": "rtb-07069adf5c9b44ef7" - }, - { - "subnetId": "subnet-02e420bac3f0fdded", - "cidr": "172.31.0.0/20", - "availabilityZone": "eu-west-1b", - "routeTableId": "rtb-07069adf5c9b44ef7" - }, - { - "subnetId": "subnet-01236b9e5ee008de3", - "cidr": "172.31.16.0/20", - "availabilityZone": "eu-west-1c", - "routeTableId": "rtb-07069adf5c9b44ef7" - } - ] - } - ] - } -} From 9fb4f7085412d8135188e231a8874a186533f7b9 Mon Sep 17 00:00:00 2001 From: dlpzx <71252798+dlpzx@users.noreply.github.com> Date: Thu, 3 Aug 2023 08:10:45 +0200 Subject: [PATCH 45/53] Add missing KMS keys for canaries (#619) ### Feature or Bugfix - Bugfix ### Detail - Add missing KMS key for canaries secrets ### Relates - #613 By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. --- deploy/stacks/secrets_stack.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/deploy/stacks/secrets_stack.py b/deploy/stacks/secrets_stack.py index 0ba24c2d9..56a9d2b87 100644 --- a/deploy/stacks/secrets_stack.py +++ b/deploy/stacks/secrets_stack.py @@ -21,6 +21,14 @@ def __init__( ): super().__init__(scope, id, **kwargs) + self.secrets_manager_key = kms.Key( + self, + f'SecretsManagerKey{envname}', + alias=f'{resource_prefix}-{envname}-secrets-manager-key', + enable_key_rotation=True, + removal_policy=RemovalPolicy.DESTROY, + ) + self.canary_user = sm.Secret( self, f'canary-user', @@ -31,7 +39,7 @@ def __init__( include_space=False, password_length=12, ), - encryption_key=self.external_id_key, + encryption_key=self.secrets_manager_key, description=f'Stores dataall Cognito canary user', removal_policy=RemovalPolicy.DESTROY, ) From c678e6762b3ea2085996db43b48b93b1344a37ab Mon Sep 17 00:00:00 2001 From: Noah Paige <69586985+noah-paige@users.noreply.github.com> Date: Fri, 4 Aug 2023 13:27:53 -0400 Subject: [PATCH 46/53] Allow restricted nacls backend VPC (#626) ### Feature or Bugfix - Feature ### Detail - Extend the restricted NACLs parameter to allow for both the tooling VPC and the backend VPC By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. --- deploy/stacks/backend_stack.py | 2 ++ deploy/stacks/backend_stage.py | 2 ++ deploy/stacks/pipeline.py | 1 + template_cdk.json | 1 + 4 files changed, 6 insertions(+) diff --git a/deploy/stacks/backend_stack.py b/deploy/stacks/backend_stack.py index 65d4371ca..321624a26 100644 --- a/deploy/stacks/backend_stack.py +++ b/deploy/stacks/backend_stack.py @@ -36,6 +36,7 @@ def __init__( image_tag=None, pipeline_bucket=None, vpc_id=None, + vpc_restricted_nacls=False, vpc_endpoints_sg=None, internet_facing=True, custom_domain=None, @@ -65,6 +66,7 @@ def __init__( resource_prefix=resource_prefix, vpc_endpoints_sg=vpc_endpoints_sg, vpc_id=vpc_id, + restricted_nacl=vpc_restricted_nacls, **kwargs, ) vpc = self.vpc_stack.vpc diff --git a/deploy/stacks/backend_stage.py b/deploy/stacks/backend_stage.py index da39862db..349c30deb 100644 --- a/deploy/stacks/backend_stage.py +++ b/deploy/stacks/backend_stage.py @@ -18,6 +18,7 @@ def __init__( tooling_account_id=None, pipeline_bucket=None, vpc_id=None, + vpc_restricted_nacls=False, vpc_endpoints_sg=None, internet_facing=True, custom_domain=None, @@ -47,6 +48,7 @@ def __init__( pipeline_bucket=pipeline_bucket, image_tag=commit_id, vpc_id=vpc_id, + vpc_restricted_nacls=vpc_restricted_nacls, vpc_endpoints_sg=vpc_endpoints_sg, internet_facing=internet_facing, custom_domain=custom_domain, diff --git a/deploy/stacks/pipeline.py b/deploy/stacks/pipeline.py index a32d3312f..c9cdf9061 100644 --- a/deploy/stacks/pipeline.py +++ b/deploy/stacks/pipeline.py @@ -604,6 +604,7 @@ def set_backend_stage(self, target_env, repository_name): commit_id=self.image_tag, vpc_id=target_env.get('vpc_id'), vpc_endpoints_sg=target_env.get('vpc_endpoints_sg'), + vpc_restricted_nacls=target_env.get('vpc_restricted_nacl', False), internet_facing=target_env.get('internet_facing', True), custom_domain=target_env.get('custom_domain'), ip_ranges=target_env.get('ip_ranges'), diff --git a/template_cdk.json b/template_cdk.json index 75a36cfbd..9cbd28eb2 100644 --- a/template_cdk.json +++ b/template_cdk.json @@ -21,6 +21,7 @@ "with_approval": "boolean_ADD_CODEPIPELINE_APPROVAL_STEP|DEFAULT=false", "vpc_id": "string_DEPLOY_WITHIN_AN_EXISTING_VPC|DEFAULT=None", "vpc_endpoints_sg": "string_DEPLOY_WITHIN_EXISTING_VPC_SG|DEFAULT=None", + "vpc_restricted_nacl": "boolean_CREATE_CUSTOM_NACL|DEFAULT=false", "internet_facing": "boolean_CLOUDFRONT_IF_TRUE_ELSE_ECS_BEHIND_INTERNAL_ALB|DEFAULT=true", "custom_domain": { "hosted_zone_name": "string_ROUTE_53_EXISTING_DOMAIN_NAME|DEFAULT=None, REQUIRED if internet_facing=false", From 8900ebf80d294733ae843c89ae43ed5dedc5bbb2 Mon Sep 17 00:00:00 2001 From: dlpzx <71252798+dlpzx@users.noreply.github.com> Date: Tue, 8 Aug 2023 09:30:06 +0200 Subject: [PATCH 47/53] resolve unnecessary dependency in git_release role (#623) ### Feature or Bugfix - Bugfix ### Detail - Remove small bug on the way we define the git release role - managed policies are attached after role creation - NOTE: The fix is already included in the `modularization-main` branch ### Relates - #617 By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. --- deploy/stacks/pipeline.py | 1 - 1 file changed, 1 deletion(-) diff --git a/deploy/stacks/pipeline.py b/deploy/stacks/pipeline.py index c9cdf9061..53dcf943a 100644 --- a/deploy/stacks/pipeline.py +++ b/deploy/stacks/pipeline.py @@ -331,7 +331,6 @@ def set_codebuild_iam_roles(self): iam.ServicePrincipal('codebuild.amazonaws.com'), iam.AccountPrincipal(self.account), ), - managed_policies=[self.baseline_codebuild_policy, self.git_release_policy, self.expanded_codebuild_policy] ) self.expanded_codebuild_policy.attach_to_role(self.git_project_role) self.baseline_codebuild_policy.attach_to_role(self.git_project_role) From f0a932f8fb96436a38f8b9e3c7eec9b105b20063 Mon Sep 17 00:00:00 2001 From: dlpzx <71252798+dlpzx@users.noreply.github.com> Date: Tue, 8 Aug 2023 09:30:40 +0200 Subject: [PATCH 48/53] get prefix list ids for dbmigration for infra region (#624) ### Feature or Bugfix - Bugfix ### Detail - get the prefix id list for S3 from the infra region. We need the prefix id to connect the dbmigration stage with the S3 bucket containing the migration scripts (add it in the security groups) ### Relates - #618 By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. --- deploy/stacks/backend_stack.py | 9 ++++----- deploy/stacks/backend_stage.py | 2 -- deploy/stacks/pipeline.py | 1 - 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/deploy/stacks/backend_stack.py b/deploy/stacks/backend_stack.py index 321624a26..502f9fa55 100644 --- a/deploy/stacks/backend_stack.py +++ b/deploy/stacks/backend_stack.py @@ -30,7 +30,6 @@ def __init__( id, envname: str = 'dev', resource_prefix='dataall', - tooling_region=None, tooling_account_id=None, ecr_repository=None, image_tag=None, @@ -72,7 +71,7 @@ def __init__( vpc = self.vpc_stack.vpc vpc_endpoints_sg = self.vpc_stack.vpce_security_group vpce_connection = ec2.Connections(security_groups=[vpc_endpoints_sg]) - self.s3_prefix_list = self.get_s3_prefix_list(tooling_region) + self.s3_prefix_list = self.get_s3_prefix_list() self.pivot_role_name = f"dataallPivotRole{'-cdk' if enable_pivot_role_auto_create else ''}" @@ -362,13 +361,13 @@ def create_opensearch_serverless_stack(self): collection_name=aoss_stack.collection_name, ) - def get_s3_prefix_list(self, tooling_region): - ec2_client = boto3.client("ec2", region_name=tooling_region) + def get_s3_prefix_list(self): + ec2_client = boto3.client("ec2", region_name=self.region) response = ec2_client.describe_prefix_lists( Filters=[ { 'Name': 'prefix-list-name', - 'Values': [f'com.amazonaws.{tooling_region}.s3'] + 'Values': [f'com.amazonaws.{self.region}.s3'] }, ] ) diff --git a/deploy/stacks/backend_stage.py b/deploy/stacks/backend_stage.py index 349c30deb..9a9d12dc1 100644 --- a/deploy/stacks/backend_stage.py +++ b/deploy/stacks/backend_stage.py @@ -14,7 +14,6 @@ def __init__( resource_prefix='dataall', ecr_repository=None, commit_id=None, - tooling_region=None, tooling_account_id=None, pipeline_bucket=None, vpc_id=None, @@ -42,7 +41,6 @@ def __init__( f'backend-stack', envname=envname, resource_prefix=resource_prefix, - tooling_region=tooling_region, tooling_account_id=tooling_account_id, ecr_repository=ecr_repository, pipeline_bucket=pipeline_bucket, diff --git a/deploy/stacks/pipeline.py b/deploy/stacks/pipeline.py index 53dcf943a..e6159055c 100644 --- a/deploy/stacks/pipeline.py +++ b/deploy/stacks/pipeline.py @@ -596,7 +596,6 @@ def set_backend_stage(self, target_env, repository_name): }, envname=target_env['envname'], resource_prefix=self.resource_prefix, - tooling_region=self.region, tooling_account_id=self.account, pipeline_bucket=self.pipeline_bucket_name, ecr_repository=f'arn:aws:ecr:{target_env.get("region", self.region)}:{self.account}:repository/{repository_name}', From f235c19106eafd2708ba43005ad362aecbfd5c7d Mon Sep 17 00:00:00 2001 From: Noah Paige <69586985+noah-paige@users.noreply.github.com> Date: Tue, 8 Aug 2023 11:04:05 -0400 Subject: [PATCH 49/53] Handle External ID SSM v1.6.1> (#630) ### Feature or Bugfix - Bugfix ### Detail - As part of v1.6 Data.All moved away from storing the externalID as a rotated secret in Secret Manager and instead placed the external ID in SSM Parameter Store. - In the current implementation in v1.6.1 we check if the secret exists and the ssm parameter does not and if these conditions are met the secret value is retrieved and a new ssm parameter is set with the same externalID - The problem with the above is CDK uses dynamic references to resolve the secret value (meaning in the first upgrade deployment we set ssm parameter as ref to secret value and delete secret, in 2nd and so one deployments it will fail with `Secrets Manager can't find the specified secret.`) - Alternatively we can not use the CDK bootstrap role, such as the look up role, and boto3 SDK commands to retrieve the secret value during `synth` because IAM permissions out of the box do not allow said actions - This would theoretically be a way to overcome the dynamic reference issue mentioned above - This PR reverts to a more straightforward approach where we create a new SSM Parameter if one does not exist already for the external ID and does not reference the previously created secret externalID - NOTE: In order to keep the same externalID and prevent additional manual work to update the pivotRole's using this value one would have to - retain the current externalID in Secret Manager (named `dataall-externalId-{envname}`) from version <= 1.5X - Run the upgrade to v1.6.1 - Replace the newly created SSM (parameter named `/dataall/{envname}/pivotRole/externalId"`) with the original value for external ID By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. --- deploy/stacks/param_store_stack.py | 32 +++++++++++------------------- 1 file changed, 12 insertions(+), 20 deletions(-) diff --git a/deploy/stacks/param_store_stack.py b/deploy/stacks/param_store_stack.py index d06548746..b2991495b 100644 --- a/deploy/stacks/param_store_stack.py +++ b/deploy/stacks/param_store_stack.py @@ -115,9 +115,9 @@ def __init__( ) def _get_external_id_value(envname, account_id, region): - """For first deployments it returns False, - for existing deployments it returns the ssm parameter value generated in the first deployment - for prior to V1.5.1 upgrades it returns the secret from secrets manager + """ + For first deployments and upgrades from <=V1.5.6 to >=v1.6 - returns False and a new ssm parameter created, + For existing >=v1.6 deployments - returns the ssm parameter value generated in the first deployment """ cdk_look_up_role = 'arn:aws:iam::{}:role/cdk-hnb659fds-lookup-role-{}-{}'.format(account_id, account_id, region) base_session = boto3.Session() @@ -130,29 +130,21 @@ def _get_external_id_value(envname, account_id, region): region_name=region, endpoint_url=f"https://sts.{region}.amazonaws.com" ) - response = sts.assume_role(**assume_role_dict) - session = boto3.Session( - aws_access_key_id=response['Credentials']['AccessKeyId'], - aws_secret_access_key=response['Credentials']['SecretAccessKey'], - aws_session_token=response['Credentials']['SessionToken'], - ) - - secret_id = f"dataall-externalId-{envname}" parameter_path = f"/dataall/{envname}/pivotRole/externalId" + try: + response = sts.assume_role(**assume_role_dict) + session = boto3.Session( + aws_access_key_id=response['Credentials']['AccessKeyId'], + aws_secret_access_key=response['Credentials']['SecretAccessKey'], + aws_session_token=response['Credentials']['SessionToken'], + ) ssm_client = session.client('ssm', region_name=region) parameter_value = ssm_client.get_parameter(Name=parameter_path)['Parameter']['Value'] return parameter_value except: - try: - secrets_client = session.client('secretsmanager', region_name=region) - if secrets_client.describe_secret(SecretId=secret_id): - secret_value = SecretValue.secrets_manager(secret_id).unsafe_unwrap() - else: - raise Exception - return secret_value - except: - return False + return False + def _generate_external_id(): allowed_chars = string.ascii_uppercase + string.ascii_lowercase + string.digits From 63137ac745537d64996bfdf93bfc71f17fdb4ace Mon Sep 17 00:00:00 2001 From: Noah Paige <69586985+noah-paige@users.noreply.github.com> Date: Thu, 10 Aug 2023 09:28:26 -0400 Subject: [PATCH 50/53] Refine CDK Custom Exec Policy - Linking Envs (#648) ### Feature or Bugfix - Bugfix ### Detail - Add S3 Permissions so CDK Execution Policy is able to access CDK Asset Staging Bucket and auto create Pivot Role if enabled - Add details to instructions of linking environment to make Prerequisite steps more clear ![Screenshot 2023-08-09 at 12 25 27 PM](https://github.com/awslabs/aws-dataall/assets/69586985/31e6b2cb-193c-4485-8a4c-149bbecf5f85) ### Relates - #625 By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. --- deploy/cdk_exec_policy/cdkExecPolicy.yaml | 37 +++--- .../Environments/EnvironmentCreateForm.js | 109 +++++++++++------- 2 files changed, 82 insertions(+), 64 deletions(-) diff --git a/deploy/cdk_exec_policy/cdkExecPolicy.yaml b/deploy/cdk_exec_policy/cdkExecPolicy.yaml index a285d0d59..cc98cf0ac 100644 --- a/deploy/cdk_exec_policy/cdkExecPolicy.yaml +++ b/deploy/cdk_exec_policy/cdkExecPolicy.yaml @@ -1,9 +1,6 @@ AWSTemplateFormatVersion: 2010-09-09 Description: Custom least privilege IAM policy for linking environments to dataall Parameters: - AwsAccountId: - Description: AWS AccountId of the account that we wish to link. - Type: String PolicyName: Description: IAM policy name (The same name must be used during CDK bootstrapping. Default is DataAllCustomCDKPolicy.) Type: String @@ -48,14 +45,14 @@ Resources: Effect: Allow Action: 'athena:CreateWorkGroup' Resource: - - !Sub 'arn:aws:athena:*:${AWS::AccountId}:workgroup/*' + - !Sub 'arn:${AWS::Partition}:athena:*:${AWS::AccountId}:workgroup/*' - Sid: IAM Action: - 'iam:CreatePolicy' - 'iam:GetPolicy' Effect: Allow Resource: - - !Sub 'arn:aws:iam::${AWS::AccountId}:policy/*' + - !Sub 'arn:${AWS::Partition}:iam::${AWS::AccountId}:policy/*' - Sid: IAMRole Action: - 'iam:AttachRolePolicy' @@ -82,7 +79,7 @@ Resources: - 'iam:CreatePolicyVersion' - 'iam:DeletePolicyVersion' Resource: - - !Sub 'arn:aws:iam::${AWS::AccountId}:policy/service-role/AWSQuickSight*' + - !Sub 'arn:${AWS::Partition}:iam::${AWS::AccountId}:policy/service-role/AWSQuickSight*' - Sid: QuickSight Effect: Allow Action: @@ -114,14 +111,14 @@ Resources: - 'kms:CreateAlias' Effect: Allow Resource: - - !Sub 'arn:aws:kms:*:${AWS::AccountId}:alias/*' + - !Sub 'arn:${AWS::Partition}:kms:*:${AWS::AccountId}:alias/*' - Sid: KMSKey Action: - 's3:PutBucketAcl' - 's3:PutBucketNotification' Effect: Allow Resource: - - !Sub 'arn:aws:s3:::${EnvironmentResourcePrefix}-logging-*' + - !Sub 'arn:${AWS::Partition}:s3:::${EnvironmentResourcePrefix}-logging-*' - Sid: ReadBuckets Action: - 'kms:CreateAlias' @@ -136,7 +133,7 @@ Resources: - 'kms:PutKeyPolicy' - 'kms:TagResource' Effect: Allow - Resource: !Sub 'arn:aws:kms:*:${AWS::AccountId}:key/*' + Resource: !Sub 'arn:${AWS::Partition}:kms:*:${AWS::AccountId}:key/*' - Sid: Lambda Action: - 'lambda:AddPermission' @@ -154,7 +151,7 @@ Resources: Action: - 'lambda:PublishLayerVersion' Resource: - - !Sub 'arn:aws:lambda:*:${AWS::AccountId}:layer:*' + - !Sub 'arn:${AWS::Partition}:lambda:*:${AWS::AccountId}:layer:*' - Sid: S3 Action: - 's3:CreateBucket' @@ -170,13 +167,13 @@ Resources: - 's3:DeleteBucketPolicy' - 's3:DeleteBucket' Effect: Allow - Resource: 'arn:aws:s3:::*' + Resource: !Sub 'arn:${AWS::Partition}:s3:::*' - Sid: SQS Effect: Allow Action: - 'sqs:CreateQueue' - 'sqs:SetQueueAttributes' - Resource: !Sub 'arn:aws:sqs:*:${AWS::AccountId}:*' + Resource: !Sub 'arn:${AWS::Partition}:sqs:*:${AWS::AccountId}:*' - Sid: SSM Effect: Allow Action: @@ -190,18 +187,18 @@ Resources: - 'logs:CreateLogStream' - 'logs:PutLogEvents' - 'logs:DescribeLogStreams' - Resource: 'arn:aws:logs:*:*:*' + Resource: !Sub 'arn:${AWS::Partition}:logs:*:*:*' - Sid: STS Effect: Allow Action: - 'sts:AssumeRole' - 'iam:*Role*' - Resource: !Sub 'arn:aws:iam::${AWS::AccountId}:role/cdk-*' + Resource: !Sub 'arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-*' - Sid: CloudFormation Effect: Allow Action: - 'cloudformation:*' - Resource: !Sub 'arn:aws:cloudformation:*:${AWS::AccountId}:stack/CDKToolkit/*' + Resource: !Sub 'arn:${AWS::Partition}:cloudformation:*:${AWS::AccountId}:stack/CDKToolkit/*' - Sid: ECR Effect: Allow Action: @@ -211,14 +208,14 @@ Resources: - 'ecr:DescribeRepositories' - 'ecr:CreateRepository' - 'ecr:DeleteRepository' - Resource: !Sub 'arn:aws:ecr:*:${AWS::AccountId}:repository/cdk-*' + Resource: !Sub 'arn:${AWS::Partition}:ecr:*:${AWS::AccountId}:repository/cdk-*' - Sid: SSMTwo Effect: Allow Action: - 'ssm:GetParameter' - 'ssm:PutParameter' - 'ssm:DeleteParameter' - Resource: !Sub 'arn:aws:ssm:*:${AWS::AccountId}:parameter/cdk-bootstrap/*' + Resource: !Sub 'arn:${AWS::Partition}:ssm:*:${AWS::AccountId}:parameter/cdk-bootstrap/*' - Sid: CloudformationTwo Effect: Allow Action: @@ -232,7 +229,7 @@ Resources: Action: - 's3:*' Resource: - - !Sub 'arn:aws:s3:::cdktoolkit-stagingbucket-*' + - !Sub 'arn:${AWS::Partition}:s3:::cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}*' - Sid: Pipelines Effect: Allow Action: @@ -261,7 +258,7 @@ Resources: - 's3:ListBucket' - 's3:GetBucketPolicy' Resource: - - 'arn:aws:s3::*:codepipeline-*' + - !Sub 'arn:${AWS::Partition}:s3::*:codepipeline-*' - Sid: CodeStarNotificationsReadOnly Effect: Allow Action: @@ -269,7 +266,7 @@ Resources: Resource: '*' Condition: 'StringLike': - 'codestar-notifications:NotificationsForResource': 'arn:aws:codepipeline:*' + 'codestar-notifications:NotificationsForResource': !Sub 'arn:${AWS::Partition}:codepipeline:*' - Sid: Eventrules Effect: Allow Action: diff --git a/frontend/src/views/Environments/EnvironmentCreateForm.js b/frontend/src/views/Environments/EnvironmentCreateForm.js index 7936929d0..cdf5d25eb 100644 --- a/frontend/src/views/Environments/EnvironmentCreateForm.js +++ b/frontend/src/views/Environments/EnvironmentCreateForm.js @@ -270,35 +270,13 @@ const EnvironmentCreateForm = (props) => { - + - Bootstrap your AWS account with AWS CDK - - - copyNotification()} - text={`cdk bootstrap --trust ${trustedAccount} -c @aws-cdk/core:newStyleStackSynthesis=true --cloudformation-execution-policies arn:aws:iam::aws:policy/AdministratorAccess aws://ACCOUNT_ID/REGION`} - > - - - - - {`cdk bootstrap --trust ${trustedAccount} -c @aws-cdk/core:newStyleStackSynthesis=true --cloudformation-execution-policies arn:aws:iam::aws:policy/AdministratorAccess aws://ACCOUNT_ID/REGION`} - - - - - Use the below CloudFormation stack to create the custom IAM policy. + 1. (OPTIONAL) As part of setting up your AWS Environment with CDK you need to specify a IAM Policy that gives permission for CDK to create AWS Resources via CloudFormation (i.e. CDK Execution Policy). + You optionally can use the below CloudFormation template to create the custom IAM policy that is more restrictive than the default AdministratorAccess policy. - - copyNotification()} - text={`cdk bootstrap --trust ${trustedAccount} -c @aws-cdk/core:newStyleStackSynthesis=true --cloudformation-execution-policies arn:aws:iam::ACCOUNT_ID:policy/DataAllCustomCDKPolicy aws://ACCOUNT_ID/REGION`} - > - - - - - {`cdk bootstrap --trust ${trustedAccount} -c @aws-cdk/core:newStyleStackSynthesis=true --cloudformation-execution-policies arn:aws:iam::ACCOUNT_ID:policy/DataAllCustomCDKPolicy aws://ACCOUNT_ID/REGION`} + + + + 2. Bootstrap your AWS account with AWS CDK + + + + + + If Using Default CDK Execution Policy: + + + copyNotification()} + text={`cdk bootstrap --trust ${trustedAccount} -c @aws-cdk/core:newStyleStackSynthesis=true aws://ACCOUNT_ID/REGION`} + > + + + + + {`cdk bootstrap --trust ${trustedAccount} -c @aws-cdk/core:newStyleStackSynthesis=true aws://ACCOUNT_ID/REGION`} + + + + + + + + + If Using Custom CDK Execution Policy (From Step 1): + + + copyNotification()} + text={`cdk bootstrap --trust ${trustedAccount} -c @aws-cdk/core:newStyleStackSynthesis=true --cloudformation-execution-policies arn:aws:iam::ACCOUNT_ID:policy/DataAllCustomCDKPolicy aws://ACCOUNT_ID/REGION`} + > + + + + + {`cdk bootstrap --trust ${trustedAccount} -c @aws-cdk/core:newStyleStackSynthesis=true --cloudformation-execution-policies arn:aws:iam::ACCOUNT_ID:policy/DataAllCustomCDKPolicy aws://ACCOUNT_ID/REGION`} + + + + + {process.env.REACT_APP_ENABLE_PIVOT_ROLE_AUTO_CREATE == 'True' ? ( - As part of the environment CloudFormation stack data.all will create an IAM role (Pivot Role) to manage AWS operations in the environment AWS Account. + 3. As part of the environment CloudFormation stack data.all will create an IAM role (Pivot Role) to manage AWS operations in the environment AWS Account. ): ( - Create an IAM role named {pivotRoleName} using the AWS + 3. Create an IAM role named {pivotRoleName} using the AWS CloudFormation stack below From a39fd43959b6e588a98056f29382580a31c5718c Mon Sep 17 00:00:00 2001 From: Noah Paige <69586985+noah-paige@users.noreply.github.com> Date: Thu, 10 Aug 2023 10:33:18 -0400 Subject: [PATCH 51/53] Resolve Dataset Profiling Glue Job (#649) ### Feature or Bugfix - Bugfix ### Detail - Specify `SPARK_VERSION` as an environment variable for `pydeequ` before import - Add IAM Permissions to Dataset IAM Role to Allow for Glue Job logging in CloudWatch - Add LF Permissions to resolve insufficient permissions error thrown when looking for `default` database ### Relates By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. --- .../gluedatabasecustomresource/index.py | 23 ++++++++++++++++++- .../assets/glueprofilingjob/glue_script.py | 7 +++++- backend/dataall/cdkproxy/stacks/dataset.py | 10 +++++--- documentation/userguide/docs/tables.md | 3 +++ 4 files changed, 38 insertions(+), 5 deletions(-) diff --git a/backend/dataall/cdkproxy/assets/gluedatabasecustomresource/index.py b/backend/dataall/cdkproxy/assets/gluedatabasecustomresource/index.py index e548dcbf6..ce01c0f9a 100644 --- a/backend/dataall/cdkproxy/assets/gluedatabasecustomresource/index.py +++ b/backend/dataall/cdkproxy/assets/gluedatabasecustomresource/index.py @@ -49,6 +49,13 @@ def on_create(event): except ClientError as e: pass + default_db_exists = False + try: + glue_client.get_database(Name="default") + default_db_exists = True + except ClientError as e: + pass + if not exists: try: db_input = props.get('DatabaseInput').copy() @@ -63,7 +70,7 @@ def on_create(event): raise Exception(f"Could not create Glue Database {props['DatabaseInput']['Name']} in aws://{AWS_ACCOUNT}/{AWS_REGION}, received {str(e)}") Entries = [] - for i, role_arn in enumerate(props.get('DatabaseAdministrators')): + for i, role_arn in enumerate(props.get('DatabaseAdministrators', [])): Entries.append( { 'Id': str(uuid.uuid4()), @@ -103,6 +110,20 @@ def on_create(event): 'PermissionsWithGrantOption': ['SELECT', 'ALTER', 'DESCRIBE'], } ) + if default_db_exists: + Entries.append( + { + 'Id': str(uuid.uuid4()), + 'Principal': {'DataLakePrincipalIdentifier': role_arn}, + 'Resource': { + 'Database': { + 'Name': 'default' + } + }, + 'Permissions': ['Describe'.upper()], + } + ) + lf_client.batch_grant_permissions(CatalogId=props['CatalogId'], Entries=Entries) physical_id = props['DatabaseInput']['Imported'] + props['DatabaseInput']['Name'] diff --git a/backend/dataall/cdkproxy/assets/glueprofilingjob/glue_script.py b/backend/dataall/cdkproxy/assets/glueprofilingjob/glue_script.py index 8279bc11c..e974c6bf9 100644 --- a/backend/dataall/cdkproxy/assets/glueprofilingjob/glue_script.py +++ b/backend/dataall/cdkproxy/assets/glueprofilingjob/glue_script.py @@ -1,4 +1,5 @@ import json +import os import logging import pprint import sys @@ -8,7 +9,6 @@ from awsglue.transforms import * from awsglue.utils import getResolvedOptions from pyspark.context import SparkContext -from pydeequ.profiles import * sc = SparkContext.getOrCreate() sc._jsc.hadoopConfiguration().set('fs.s3.canned.acl', 'BucketOwnerFullControl') @@ -32,6 +32,7 @@ 'environmentBucket', 'dataallRegion', 'table', + "SPARK_VERSION" ] try: args = getResolvedOptions(sys.argv, list_args) @@ -43,6 +44,10 @@ list_args.remove('table') args = getResolvedOptions(sys.argv, list_args) +os.environ["SPARK_VERSION"] = args.get("SPARK_VERSION", "3.1") + +from pydeequ.profiles import * + logger.info('Parsed Retrieved parameters') logger.info('Parsed Args = %s', pprint.pformat(args)) diff --git a/backend/dataall/cdkproxy/stacks/dataset.py b/backend/dataall/cdkproxy/stacks/dataset.py index 854ac6e3f..3e75633d3 100644 --- a/backend/dataall/cdkproxy/stacks/dataset.py +++ b/backend/dataall/cdkproxy/stacks/dataset.py @@ -295,7 +295,7 @@ def __init__(self, scope, id, target_uri: str = None, **kwargs): ] ), iam.PolicyStatement( - sid="CreateLoggingGlueCrawler", + sid="CreateLoggingGlue", actions=[ 'logs:CreateLogGroup', 'logs:CreateLogStream', @@ -303,16 +303,18 @@ def __init__(self, scope, id, target_uri: str = None, **kwargs): effect=iam.Effect.ALLOW, resources=[ f'arn:aws:logs:{dataset.region}:{dataset.AwsAccountId}:log-group:/aws-glue/crawlers*', + f'arn:aws:logs:{dataset.region}:{dataset.AwsAccountId}:log-group:/aws-glue/jobs/*', ], ), iam.PolicyStatement( - sid="LoggingGlueCrawler", + sid="LoggingGlue", actions=[ 'logs:PutLogEvents', ], effect=iam.Effect.ALLOW, resources=[ f'arn:aws:logs:{dataset.region}:{dataset.AwsAccountId}:log-group:/aws-glue/crawlers:log-stream:{dataset.GlueCrawlerName}', + f'arn:aws:logs:{dataset.region}:{dataset.AwsAccountId}:log-group:/aws-glue/jobs/*', ], ), iam.PolicyStatement( @@ -443,7 +445,8 @@ def __init__(self, scope, id, target_uri: str = None, **kwargs): 'CreateTableDefaultPermissions': [], 'Imported': 'IMPORTED-' if dataset.imported else 'CREATED-' }, - 'DatabaseAdministrators': dataset_admins + 'DatabaseAdministrators': dataset_admins, + 'TriggerUpdate': True }, ) @@ -484,6 +487,7 @@ def __init__(self, scope, id, target_uri: str = None, **kwargs): '--enable-metrics': 'true', '--enable-continuous-cloudwatch-log': 'true', '--enable-glue-datacatalog': 'true', + '--SPARK_VERSION': '3.1', } job = glue.CfnJob( diff --git a/documentation/userguide/docs/tables.md b/documentation/userguide/docs/tables.md index 192757b51..cb8396a28 100644 --- a/documentation/userguide/docs/tables.md +++ b/documentation/userguide/docs/tables.md @@ -70,6 +70,9 @@ By selecting the **Metrics** tab of your data table you can run a profiling job ![](pictures/tables/table_metrics.png#zoom#shadow) +!!! warning "Profiling Job Prerequisite" + Before running the profiling job you will need to ensure that the **default** Glue Database exists in the AWS Account where the data exists (by default this database exists for new accounts). This is required to enable the Glue profiling job to use the metadata stored in the Glue Catalog. + ### :material-trash-can-outline: **Delete a table** Deleting a table means deleting it from the data.all Catalog, but it will be still available on the AWS Glue Catalog. Moreover, when data owners From c189de496183cbfb812cabeb47020d28a775eee0 Mon Sep 17 00:00:00 2001 From: dlpzx <71252798+dlpzx@users.noreply.github.com> Date: Mon, 14 Aug 2023 10:15:57 +0200 Subject: [PATCH 52/53] Fix migration script for v1.2 upgrade (#651) ### Feature or Bugfix - Bugfix ### Detail - migration script for upgrade to V1.2 had a mistake and is affecting one customer. Basically the `devStrategy` and `devStages` values were not backfilled which causes nulls in the RDS table that are not allowed as this column should contain only non-null values. In this PR we modify that script for customers that have not updated yet. It is not 100% clear to me whether we should merge it, but I wanted to raise awareness of this issue here. ### Relates - #637 By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. --- ...cdc0dc987a_fix_template_column_in_table.py | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/backend/migrations/versions/b1cdc0dc987a_fix_template_column_in_table.py b/backend/migrations/versions/b1cdc0dc987a_fix_template_column_in_table.py index 5c92d6ca5..7c134012e 100644 --- a/backend/migrations/versions/b1cdc0dc987a_fix_template_column_in_table.py +++ b/backend/migrations/versions/b1cdc0dc987a_fix_template_column_in_table.py @@ -7,7 +7,9 @@ """ from alembic import op import sqlalchemy as sa +from sqlalchemy import orm, Column, String from sqlalchemy.dialects import postgresql +from sqlalchemy.ext.declarative import declarative_base # revision identifiers, used by Alembic. revision = 'b1cdc0dc987a' @@ -15,13 +17,51 @@ branch_labels = None depends_on = None +Base = declarative_base() + + +class DataPipeline(Base): + __tablename__ = 'datapipeline' + DataPipelineUri = Column( + String, nullable=False, primary_key=True + ) + devStrategy = Column(String, nullable=True) + devStages = Column(postgresql.ARRAY(String), nullable=True) + def upgrade(): # ### commands auto generated by Alembic - please adjust! ### + # Modify column types + print("Upgrade devStages and devStrategy column types. Updating nullable to True...") op.add_column( 'datapipeline', sa.Column('template', sa.String(), nullable=True) ) + op.alter_column( + 'datapipeline', + 'devStages', + existing_type=postgresql.ARRAY(sa.VARCHAR()), + nullable=True + ) + op.alter_column( + 'datapipeline', + 'devStrategy', + existing_type=sa.VARCHAR(), + nullable=True + ) + print("Backfilling values for devStages and devStrategy...") + # Backfill values + bind = op.get_bind() + session = orm.Session(bind=bind) + session.query(DataPipeline).filter(DataPipeline.devStrategy is None).update( + {DataPipeline.devStrategy: 'gitflowBlueprint'}, synchronize_session=False) + + session.query(DataPipeline).filter(DataPipeline.devStages is None).update( + {DataPipeline.devStages: ['dev', 'test', 'prod']}, synchronize_session=False) + session.commit() + + print("Backfilling values for devStages and devStrategy is done. Updating nullable to False...") + # Force nullable = False op.alter_column( 'datapipeline', 'devStages', From 318c8176d113634be61d125c64508f965b5a40c4 Mon Sep 17 00:00:00 2001 From: Nikita Podshivalov Date: Wed, 16 Aug 2023 12:48:36 +0200 Subject: [PATCH 53/53] Manual fixing of merge conflicts --- .../cdk/env_role_datapipelines_cicd_policy.py | 4 - .../gluedatabasecustomresource/index.py | 23 ++- documentation/userguide/docs/environments.md | 21 --- .../Environments/EnvironmentCreateForm.js | 177 ++++++++++-------- 4 files changed, 122 insertions(+), 103 deletions(-) diff --git a/backend/dataall/modules/datapipelines/cdk/env_role_datapipelines_cicd_policy.py b/backend/dataall/modules/datapipelines/cdk/env_role_datapipelines_cicd_policy.py index 85524e23f..db80be6f0 100644 --- a/backend/dataall/modules/datapipelines/cdk/env_role_datapipelines_cicd_policy.py +++ b/backend/dataall/modules/datapipelines/cdk/env_role_datapipelines_cicd_policy.py @@ -11,13 +11,9 @@ class AwsCICD(ServicePolicy): - Create an S3 Bucket for codepipeline prefixed by "codepipeline-" - Read/Write to and from S3 Buckets prefixed by "codepipeline-" """ -<<<<<<<< HEAD:backend/dataall/modules/datapipelines/cdk/env_role_datapipelines_cicd_policy.py def get_statements(self, group_permissions, **kwargs): if CREATE_PIPELINE not in group_permissions: return [] -======== - def get_statements(self): ->>>>>>>> upstream/main:backend/dataall/cdkproxy/stacks/policies/aws_cicd.py statements = [ iam.PolicyStatement( # sid="GenericCodeCommit", diff --git a/backend/dataall/modules/datasets/cdk/assets/gluedatabasecustomresource/index.py b/backend/dataall/modules/datasets/cdk/assets/gluedatabasecustomresource/index.py index e548dcbf6..ce01c0f9a 100644 --- a/backend/dataall/modules/datasets/cdk/assets/gluedatabasecustomresource/index.py +++ b/backend/dataall/modules/datasets/cdk/assets/gluedatabasecustomresource/index.py @@ -49,6 +49,13 @@ def on_create(event): except ClientError as e: pass + default_db_exists = False + try: + glue_client.get_database(Name="default") + default_db_exists = True + except ClientError as e: + pass + if not exists: try: db_input = props.get('DatabaseInput').copy() @@ -63,7 +70,7 @@ def on_create(event): raise Exception(f"Could not create Glue Database {props['DatabaseInput']['Name']} in aws://{AWS_ACCOUNT}/{AWS_REGION}, received {str(e)}") Entries = [] - for i, role_arn in enumerate(props.get('DatabaseAdministrators')): + for i, role_arn in enumerate(props.get('DatabaseAdministrators', [])): Entries.append( { 'Id': str(uuid.uuid4()), @@ -103,6 +110,20 @@ def on_create(event): 'PermissionsWithGrantOption': ['SELECT', 'ALTER', 'DESCRIBE'], } ) + if default_db_exists: + Entries.append( + { + 'Id': str(uuid.uuid4()), + 'Principal': {'DataLakePrincipalIdentifier': role_arn}, + 'Resource': { + 'Database': { + 'Name': 'default' + } + }, + 'Permissions': ['Describe'.upper()], + } + ) + lf_client.batch_grant_permissions(CatalogId=props['CatalogId'], Entries=Entries) physical_id = props['DatabaseInput']['Imported'] + props['DatabaseInput']['Name'] diff --git a/documentation/userguide/docs/environments.md b/documentation/userguide/docs/environments.md index 3c791a0ac..70f2f55ba 100644 --- a/documentation/userguide/docs/environments.md +++ b/documentation/userguide/docs/environments.md @@ -103,27 +103,6 @@ Enterprise option as show below: ![quicksight](pictures/environments/boot_qs_2.png#zoom#shadow) -### 5. (For ML Studio) Delete or adapt the default VPC -If ML Studio is enabled, data.all checks if there is an existing SageMaker Studio domain. If there is an existing domain -it will use it to create ML Studio profiles. If no pre-existing domain is found, data.all will create a new one. - -Prior to V1.5.0 data.all always used the default VPC to create a new SageMaker domain. The default VPC had then to be -customized to fulfill the networking requirements specified in the Sagemaker -[documentation](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-notebooks-and-internet-access.html) for VPCOnly -domains. - -In V1.5.0 we introduce the creation of a suitable VPC for SageMaker as part of the environment stack. However, it is not possible to edit the VPC used by a SageMaker domain, it requires deletion and re-creation. To allow backwards -compatibility and not delete the pre-existing domains, in V1.5.0 the default behavior is still to use the default VPC. - -Data.all will create a SageMaker VPC: -- For new environments: (link environment) - - if there is not a pre-existing SageMaker Studio domain - - if there is not a default VPC in the account -- For pre-existing environments: (update environment) - - if all ML Studio profiles have been deleted (from CloudFormation as well) - - if there is not a pre-existing SageMaker Studio domain - - if the default VPC has been deleted in the account - ### 5. (For ML Studio) Delete or adapt the default VPC If ML Studio is enabled, data.all checks if there is an existing SageMaker Studio domain. If there is an existing domain it will use it to create ML Studio profiles. If no pre-existing domain is found, data.all will create a new one. diff --git a/frontend/src/views/Environments/EnvironmentCreateForm.js b/frontend/src/views/Environments/EnvironmentCreateForm.js index 33b5debec..1dd171197 100644 --- a/frontend/src/views/Environments/EnvironmentCreateForm.js +++ b/frontend/src/views/Environments/EnvironmentCreateForm.js @@ -99,7 +99,9 @@ const EnvironmentCreateForm = (props) => { }; const getCDKExecPolicyUrl = async () => { - const response = await client.query(getCDKExecPolicyPresignedUrl(params.uri)); + const response = await client.query( + getCDKExecPolicyPresignedUrl(params.uri) + ); if (!response.errors) { window.open(response.data.getCDKExecPolicyPresignedUrl, '_blank'); } else { @@ -287,32 +289,45 @@ const EnvironmentCreateForm = (props) => { - 1. (OPTIONAL) As part of setting up your AWS Environment with CDK you need to specify a IAM Policy that gives permission for CDK to create AWS Resources via CloudFormation (i.e. CDK Execution Policy). - You optionally can use the below CloudFormation template to create the custom IAM policy that is more restrictive than the default AdministratorAccess policy. + 1. (OPTIONAL) As part of setting up your AWS Environment with + CDK you need to specify a IAM Policy that gives permission for + CDK to create AWS Resources via CloudFormation (i.e. CDK + Execution Policy). You optionally can use the below + CloudFormation template to create the custom IAM policy that + is more restrictive than the default{' '} + AdministratorAccess policy. 2. Bootstrap your AWS account with AWS CDK - + - + If Using Default CDK Execution Policy: @@ -339,7 +354,11 @@ const EnvironmentCreateForm = (props) => { - + If Using Custom CDK Execution Policy (From Step 1): @@ -365,68 +384,72 @@ const EnvironmentCreateForm = (props) => { - {process.env.REACT_APP_ENABLE_PIVOT_ROLE_AUTO_CREATE == 'True' ? ( - - - 3. As part of the environment CloudFormation stack data.all will create an IAM role (Pivot Role) to manage AWS operations in the environment AWS Account. - - - ): ( - - - - 3. Create an IAM role named {pivotRoleName} using the AWS - CloudFormation stack below - - - - - - - - - - - )} + {process.env.REACT_APP_ENABLE_PIVOT_ROLE_AUTO_CREATE === + 'True' ? ( + + + 3. As part of the environment CloudFormation stack data.all + will create an IAM role (Pivot Role) to manage AWS + operations in the environment AWS Account. + + + ) : ( + + + + 3. Create an IAM role named {pivotRoleName} using + the AWS CloudFormation stack below + + + + + + + + + + + )} - Make sure that the services needed for the selected environment features are available in your AWS Account. + Make sure that the services needed for the selected + environment features are available in your AWS Account.

crUmx6nIR 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 N68yHe*&YO zDcKycN*tI!az&oBgG!LWfJ^1F^PW5rg9VB3!9J^_aaqwm?SO#JmhD=0S_gGZX)oOt zSY{u3z1Y7vgD#U>oLd7Q?~W8C|M5QgZ7waj7O3h(I}GFth5oSKYU%CdO#7IPmM8Hz zVITa&&6+^7-z1hwq5Yhssd?Xxf4(t~fd$&R{@b5xtNmoyaJO_FK}6HLC>@jU7@R!K z^K`WAdij3f{y-{+R8>{goxy8zOArE=*`PFhN27MB(b;yfNHL4TZE(I-FZOt^{gu7P zzVwgs(5-1IL&XCn`wJwc=s;{>7@^?b4A1}f<8KK6)A*Zzt`6vTh~eEoe^OohU#Whf z3N5XyhUSxmY#fg-Vy}lh*trfsz8UMzT#q&&2!u+jd?_v`k~IOy+Y!YR~)EHqTLx)0IzDr-t29=7XN5 ziSI=g+S>z#|Ichp9(vBaf8`q50YfE`v}i%KsZ)kc(8FZJh{z5h2-k^dzf~}s30$W9s)>2vA%+%_ z)$6Oq(AcA%mEJoq>Z(Y_c5Xg#bi^0617G0QVB9Xv$pjGB%?OVdP;}OzIH~WCz&g5o=-C zbvSSap^S4ee9M89e}RC10#2AA!eeG%R?MfPzpCB0gkoHfwq`N=YI7s&P`G;<2n}|Y z*ag}fB9DB|G+dN3CXEgvf{z?&TuY;kKbaTK?VU~@laD|1_V=v2V=Lk%c*fq%L6bKhz;TvE$wGfB7h>i=G)m9(7$OfrT7> z8xp6Rp#WqYT%24XXto1e4^HDzd*Mk1Xi}5Hd z)By77*&d-h#z0h9U4($Z6?9#=up!!jJN(V2B8UGRP-0SBnrxPa)SA2@58mlSJZUdG zLJ@}%tu3Ijf3K>LyoJCzoPw&55G_txB&RBqQS}d)Wh?GjpJ(C7a$Ml=*b7m8i0gXh z0wanf2&`C>Tb+cUggsG8*q=w9%Q^KVB|I|;yl8?`q=J08 zRyFa{OBsLSycN%j;U{?Nqk!VPUjW>TV^*l~&C}9We;fQt@l+X#c;StEcRNR1g)zIz zVw(7-KWSFuBK2y|?gdQdX&;HA4e5`CF^uCguLw!LH_A1Uv;! zfDh_^v_wt*{PY1LWCoiEKrgtV*x%(-OGej04H@#>B;~Y zS`kWS($N}A!gl16^NY9R3LB_vJ{4@!A(qh`e~0+AXnq|GWxA?7BkQ{;9BSD!iwZT2rdU;yh@O3fsl9hJ+f&%EhcOKd#e|4g zGd1^uR*4L$QvukHr;odx3D$}gjA~9w>*4V4mrfMF7c~+>&^@w%Jh(9rxC$^?R7^SU z;>))Do$|?#ml^Jin;O|Pix>if+>#o2e;Uvb6oNbAHJhBPvVNkG878?~`Mn>Fa*Bu{ zzDb)Q7Modq7)4i6Xr0f_?r!rOg)%7Y7e*%Mp zZl9>AmpiM>xKaD|+kfJqVlCAbEO zT`T}n5nv#7*MkB6woZIwMeb+AMrQao@uL%gt#D#kUIWKkC?qo^BMrE$a|TjoIi%py zTTK}$Z(k;%h$*+0puC^6gB8fEe>2_Sma~c13-;}AA13W{bvHCTy%)~7s(dkgU!M7RNVzis^7sbwQi%M+wm0b z3WWn_V^VstouO9IdfIX(&BvGP2ZUuK5?;)8d+q;}nv~zeh`xRM_WvU~f7Nf_zJ2@l z?c0AR?A+hJef#$9+qZAuzJ2@l?c2Bi9Rcfa-@bkO_U+rZZ~vW0<$U|Eq>>5*^ndKy zru?V>=-Q6@Y_S0Xf=K>XbM#`GmUWgG`tX-o*O~6cgQriV-A@_q1ZIgu$^5*c{30qg z4J2V<0eDOm7-dRyIT0A2e?md-WMa*Se6-o15@Iq-V#o5e@3L@{9fKp`-~c){GQo}nRq}5>N{RxHDN~tCNQX2GJ zAq&J)Vf$K3-K;}H%Wg;W=KwORv%7r54XO6#O-lD&vX)%xe}@kIATDy>!AE}^sAsVJ zLfg7O*_f+x!tKKlPjeA8JsS@%zk+4DneOBS-6>61TZ$2zd@&MbwxVgh$g=coquHpl zHCJqv#B~y}cRzwP=>;Z~vJ)79*i`|Ezs`sV z!A@TE)2Bx;e;}(#GHSVB|B$GYT1SckHAPM;+g4ZLpBlxb-BUU*nlsVqR-b2;BvlnS z0*VjTQ27XRd##i`0D|QntE+{~Uo#=7;r1f54T>&RFhL;%<^YL@TG9&N?~UjjRBjk< zFz1z0UD0y1bSaSX?}!zO!Y{%xgS;o~f#?C~-}i)xf8{7_wkur^N{KF~kJErK-?mDm zE!t^~s#b;i%H8WWPu60jo@+qr_KMg}^jfR-Fw%kz;>75aa0K&+2fO8Mu@ZU$r-Q0* zd@i6Nr3aQhbcaiPU=e&AU&$ktvj2gUz?z@&1mp(^vsbK0f+w|WDra+b2BUX;NnxL^ z_}(-ze@k;NV(*q)MRP)(22V9Q2vk$_d-`j)swgM#E~taHAn?!o=YWBL)B`aAF+f4^ z<0Lr;V5t!ioC{2C3$1F{r}S`G2~Uss=FmS97I{)B`+%=u(Q?hx;ra9#2$E>milimx zGFx6#73Mdl3&J6U^fH2~;taq+fWk2_>7&3ce?#2zE|>#)8(btjZfx-fz61+AgGgbFQY>V9M<+iCt2`aG-CtnoAV-2kYLEsep$69umQNrgzuah zfAu_^W`m4Y{RfZSSkkrHR#trVtp!-7ec$S3ZikBS>9=E<&DeCqpx)I1H)I41A_JjBZ1I-*MO%>_sA**TmM>aGK?PlFn zFwgtB8H@SB4B?ZB|gp}_C_=TpqJ|simuDJDo zF92IT<_sQ+xP4HLQ{S5juF7Rt+(o~1%;6yT)nj6PCFG*{Xsa+mt( zV7m!^p_Us$-6`~txwRN^6eQsNHk8Rmn0%OkfiopP2qd!33QwrV*|40*WR%`>%QFl= zTs5_ny-zM+iuOm5@&U0MQ=7*Re~#02ZeM@Hu$_=~GXxYU2xq8;J>EzThjv2?oyQR9 z55ZS42m}1i%7PPaY&-R*;`8SWY7ywO&%9ViPU{EDcI&g9i1O2$lO$Jy=xm05ZkUYQ zZp_o^+_ars$`lWGH6*XnM6P>>kAy+J*Ok^5E~1NC7uy{$$-@FcX<+<2e|UDva-mLW zHGO$I`T&G;?~B-AyB6#+b<5OGw^2KG$VVV4u?-gfeTIQSbAyw{(seo0g$^r!QNmXS zda;z>`lKGoW$ztMFLFBUpFcPnk5V}G2G!(_RS0m~t#sVJ?%gDEzBo3kzCKXJ^=>UQ zQ`y)4nPmSLXOaHbRD&u0e~)Psz!yuP?xgEWp*L=7Dm2;78#gPQX>hSN>rFLRJWc<& zu&^6>ku!~^uSm2vJS}f7=XfvCPeM1w2@@uMH_L1{xG=7FoY|UlkgtxkSXai~ z&G_V(waGpBO=Y|CPS|bqe9Cs0JLM1~MJ4=7S8cObl;8~M-6%0>POsU1U#5F};5J}` z$kW?2=69@%Z~wyfe|lS&OCJ$5ZnbHQ!lYB1W7`K1%GS{G0$h{&33f1A0sF}v?>Y^8 zC>{#%4yT_eSpF$g=7%GhQMW_NaP(oc{Qa&Kh5bNsIrF188UaT09?2h6(e@Wk&mtRW~*<0ftu&)NF z3KBZwd-F=?*8JT4se8hDFXmtM4&QrLgV|&|aXwDNUNU*c*U)>7um}QtdNf^FWs92s z%e#+643(O$xGEpmt|dy~Z(UCKT&L6qj~kU=#dU|$({^>`lZVdOpQmo3_cKj0}FN4f(Rt*`wC_ewQoA1famnmimTaX1QZ(I=S>subKSk zIsD1ve{{Co=w)3o>m^zoSJ6Z4Fexa#$bn&h}YUO1)^0isU^p-3apyPn*n zc#ur=sp3vF;mI^mVkB9NzUNXsRPU%m9PL*_Z^HmyBSVI#-^z2s??3b>7u7zAw1;VG z>P`~I?df2_%}?}mHng+UqYjUB^B$_)DEU5=MK`>0Q30HRJL|dgA@uD*s3j7#7{hBF zf7rH=y?g=VQt&oO)Ry~~0v&dN$Kj*hlp z*8Oo^2ov(xZHoWd>rje`(>6T|22(e@D*#|XpT9M&m!c?)NhjN_5ahb@7x8ZfBYyjv zu7CD0dCP|@+~?$CRM(MeNB?2H!=9V4At&ZO?@$(Rb}QYW@(T+>4)fp6QIe3X@}l{1 zAgtt=&TJHrV%${(Y9JjFlJ+#C+H(M$ES{WbM|DgaO-)~|b0QDD$`lTute7r$A6@rPuIEAv59{a$TEJ4Bc32Hy)g((z~-t* z2m@S07NK~!v$p@ap)2a>IkzMk)MX{|bd}lJri=B{T40de-TddtleKSi{QqF*uVO1{ z!Z1P8%*;@xGBYzXGqaDGnVG4~%*@Ponb~E#%#6p(%yI84!ggKidT>okE_Wy~IYq{}Y z$>9v~o4!^ZQsoNFm!%+(S{^7y7Jt0|Sl~5J4sokq&5WOYv!tf#{AZwr@1Ab%;p<$U zakog{qx5X>e(mAhkTjUYS=Z$TH;Dss>XIPz?(PKXaK4#Y!RQN2=6O52cS6Qg6r5yX z)1)7?SfmCmO`0u{xSp7(yc)l&IeEGrSon4)OTB5sD6&vKmwdICR$WK&Fn@B4@V->< zh$f9k$hBqkjEX{Rx97~_=LLB;%d=#^Yn~9LuXam-$cP8B!O@3gp#Bm zD<3r5P*~y0HFaHlI8Mnr$=OvCvE>Rr2aZ(c@bqK(zy7zM=M~M&si!zHPC47_2&&L& zQ+V3yd3Qf*}>wh2+SQlCu=II7@xAJXch?%Kcj zf(fbbN+Z$y%8Gf*b|}26q8+DN{}vkM^Arq1C6yBH{Gqo&)?|u%KHU?k#WPQE=Oz5)Ip-yfJ9g*I`r{A+JKR3Rc+NS(MpvJ#HOI41SuGNP+fhqfzf80}Cnqx==Aa?Q zVn~V~N77e)FCT}`&VLgE=X<1v`j;R|fHE5-zQceRzZU^Ck%q6Hc&(>jhK2Zq#--#$ zU=b`Jd!5o7$#czst<#O{qh@oaKf~0mCz-`<7Z3Ng^>ufA4xdbiUFD$u4 z|IM|9BtDfR$3ud~VjOy2-W=j@CRW;id7s4ErVS&}Zx*!F-G9g(;lYXhncaABn>A`t z-q)s~&EotTP?1>uhhbJba5bqnP0>(cm>$-vD?4|5ALPnGprxy75h>BcAwJeN+HT&I zC&Z=4M-BDG_mdS#T|ypw_^!GEL+#KStRQEi^nifQwXAoccNAH%TqL6LrWk~vib20!0s~-l2d6W zZLUjw-yJ?o=>}rP7D0yu7SWraYNCx{4jVgwczzk;tJ5~DoW41RUCJZSCk<8V1WAtk@+;+>z< zRE0fNXjTpBmBN(UgsQ3G5Oy0Nt1Kvq5R<%XBqsW2`=NG-%o2;e%WUvKza#{ZJ1KPJ z1dv^=T7N+8%2X~g$#-I`BVoeHu*LEX2`Tn1%^#YJ22n%kcaD1N2bhG|eWF?J0EI5l zk?vL2WiFHSP0~;b$%9|yLcmh`tP8B5k!hsRpY`8HA$R{ zWM3=|XShBOs=xqfmNH$pTH8|YgXlka->}V?Uw`pNh$9yNH&ZUm_5Vt_J*(g;WYUCz zx7S3K&aFP{Ix)-tgl$;?D2Jsa-_AI7}f9wm{NJ|oM% z(34U4zZC+R!C4{H>s;oMFtk#m*QC3f^obYALYa1dmKVnQXSF6Cn)>A|kcOzA(53{V z(0}JrR1oD-<4XeGz-p){4(Za@|IWxw^YSe#@mE&YHrI$TEVe%~n`KNgg1ePz1QH29^9PkC%G{P5s& zGsK`WSJNUFklfkm079xu>A34pBpLRus(&5;rUWqI%7wiPSxLlwAuh}=8`Y<`8@dLs z1HuLQ_@W;!fgUrfo~|{IKl#UrykbO^C6-kJXF0x53)1O_B~GCEI7Swm%=#6}Ce9 z?QB8!_+2thFC3z*q7sobBIy0FL7tmn#gL~5YOZ)-yLEOfY)Pu@cRa%<1yc%2Gdl?9 zr+PHO0&-sw>VSmH)Ap1I)5DeT6n{GojepwQx|(`@d(^DkhT!2ktv*NkV_D(#c%ea- z?LC+$d|*7I>7}L=E+(qV9a3aEH#$HOUJe>H zFFk59xt_a`_ER~Ko4rm!pDv&YZazGrhYSe<{TA@7&5WD5hlZWn>P?r!n|~x*H3}OU zA*88@@Aq`Ay^^q_AmO#dCp=$L8osX*vJuo(Xo@Ek+(;+K>{4DQMs1}H&i$p*joc;ekDfB3x0&5kYSy$w?HqJ(k?8foanl~4hDYj=ggp83 z9Bt1_-Uo%(=PKqRc+XpiT7P2_^V9l$ZKImG*J|vVC%@mwcJjNyvR9+J)u@5yr{k3I z$^c&o&jd{rM4}!gvU|I=`zZ)TgZg2sI2Q1#`wwKOwd-q2)ldDW9fEwOEuv274F6aD zljlCZhUeui+G_jW8F@8mg{seEG3x+o_U3Cywm|lesC~7LV~33AGJhIiw6gb0mna)y z7j{DsF3RU0{L|0T_RWmgrTaV&Fhj3b1O>XoQZ=OvIP_NZPCFpf%n_cA_orFRrVC@` zGEsuAHH>%fNDgh4qfVkRqp_>97-mMLw!R?DXuDu3-|K_2!T0rct^3CX(BRFO#QzJ{ zK-zx9un$9Q(_^$No_|yXb{x51%`lRgL|$@LOb2u}Z0Ti&&U4V!pox)b|4)CnALI9_ z+xN|fZ|j2hRecb=q3;ykJ5_y&ird6fsav1cUMtZmUi}uKnItIakN(4eqKr+J!PNFm z@fkB{aFT3dUeDKbE#9~3NE5*2OXGbIP=IK)FHlpJM$T6(*nf;D-i`2=nYfU+uvZ|W zF*qt!ywJ5_xO~fTY=5k6@ae-o@4MobSA^ydg|#K#Eo$C87YHTLg!x4xPxUANshaOQ z0tJ1Kc9{#1y};owZ0f6f(snGUE7k)_EL`2*QWN$7NH*34`lqdua0kID^jOy^L4pq4 zevbW>d+W_7aDVvGn4@udqfIK~mEe>CF`@472=4^TkUVdI@tX4P&A#O6+!A~&@A(3& z7ib$Ea_5LCArGS9FI;3sPYxwG~Qx;w&Efely+F~(!F@-~(H zJEH%lHb50tQ*wqgtop>xFprV}sd2e5Im%&B2%yoSZq%X3%zr>!Woe%#lTc%P^pR$(N5q0~tBa-k zfw(#+v_ck#>O%#Wz_KQICk=kJQuyKlDNna<7PsmuOc&o((U~3FH=fwT+c4Ix9 zn;cB!^?(^$QN^QG`O9j`cOJpwyYFjG<9(r@`zoHkZU11T`|wBb^6`SVxY_-9)PJaD zH#U{zIaYYCepj&Y_B)hkl^K~GUX0KX?KwFn zKs5ZTn<)FI^Q=SsZ0cNY?r19!@G z5;Z8wP$Z$VMlB={qJzZ2o{gZ@Yd=8gk`qUK8d^tGf0q^H@J-B&DlBSqOQjELL*R*p zga(2ZgW%uR_*a)X{uh4(V?OMV+e)P@TI8`GuDo^Jmyf6G+tlH}ewg?f?4LHI?CGtGARpCV0HL^7paZR&g|*%qV+w9Bja}9YusB ztjR5iCS0uOS6dNAtJ?af#gcx|V%29~wOwi3cS@DItZpy{IkBa3Wt+8*8X?KRz?zDP zqgr93r?#hCJxP1AcKfaKMlIjFwhe*8tX9&j%x(u@ zZ*1>1Fj>yxO8chUCPFgqQBFZ|W2tFOq)-S0>JJrh4dk#6T8Dj3Tz_27)%CR?aAk#a zeP!c4;_K@RyCj7)ZvTW9>g6C=(SG{4oTwIJ;MigHDL(hNEiYw!?9KKKK+PX)m%cz2 z@*{2DY>blPTXuABTz`H`AHlUHIV-dOhoHRcF5B)0Tk9Sj=8)-b7JkK62fBp`W8L{4 z7m^B$HG6*5F$u)My;qAyhZFWjo8iSZ@L{#Tzdt`4iqFyLds)-K>+!s}e3~yqH+_FJ z!`x!Nj5GNsKt{|f==9zqBP$!w){}ioQI0y~|br~Jrw z_ew1x2{f~I4vs!X4c#5i_1L_8PAR^@Fe)Fu6qeO0vVLf~zWr%fF)2NtN2B_%GV9BS3+>VBvNOx>@l_QApBp4b(Q zz`^&aXGIty=zli@J+uxCw}P?DC}K5tO215&Z5R5vhN4dz3b7%qHqpWO6+8?tIFgks z(q1x~)^k8aBIXyi99k#=YIh33>(G}wJw8VSiU@Yvi0jN6Ohz{qmuv31ApLI)<%x)S04>j!9f9tLlX+v zWo+roZZomcbdua{DNP0fj_GWam+=<8-L!kLZwK+2#-{sl!5vI z)5A$hF~Dk??+}0i%W`*;mHick zf`++7XhY66t_x%$L&{?{r7w+!cau~ zh3E~{lyp1Iv{>wlLmOF`vpvBc!Z3fK_LGRv?;lzZx92cQ;SdnLE9~uX58t>TO%x3p^L$I;cQIuE`?T*3#V!$v18Ti zEjNiL;#{}s%oQf|1?*27l8ynd=$q*QVan9S^!SYvL59^!6`q&~3u zv0<}Jx1~`URY;X1W-8(#fTB%^7xkQwnSTV|vw#MM91&fl^lFmS=m<>)6FiB^o*sH& z%P+ghyr{J&TZojBu;`y98nhuYeKSEaB!eKi*5oH^!LH~9MI%M?FN^oy=HB7PjgfX6 z3(6SsHHAo7uNii^j3gP2dk}>YwQ57d(R<4 zF8`apQzppQ*Vkuw;#?Z7gvOjG_HSRhO8=PDwW2#bk-2v?y)KCaYDm>XFk^r3f5-H> zK{wjQd5(aq20NaYk2XQjzJsd1QV%kbW!rr(?Ccm-p5pkP6h;iHv3ULEAUkaP0cj;# z+c}6rBZ5yckY?v8YFO0ihhoPKQ-8miL75iEMxv#{EXY1`Fbtt0)3kO`hrRb zyv}0`KYiSKV9Y0fkUE#BV~rz*QpBp=-Sv$baL-ZUjq)-X-DHq=EsN}Nwn$CEU_f>> ze7Ci=RbPwi_?*X&y}^>1o|+Id!h$h@2@@h)n{G#HQSKPj@G{(@Hhu_A76DT*5aZNr^@hKSdYAFML+w7RcI)~Fd>K)r?N=K?+SdI zf4>@7Jo<}q#! zP3T#$(|LRSc8F%7qvJ(t7^;Ivj~Hsj?kzH_@Pi)WDVuTbt~%d1kHAg~<&T8T(|VyM zHP(@`OryWwvj;RZ^e>|St|L+EB3AdvMnN}i-=4OdQQ@Z?IAF~U6Mvf*dx0#Pl1U*Z zVfESXV%)`YVW5d_bX0-G|B7zKFo59H_2@AcpM&onU>iWyFG=WC(rLfdNu(_Uczkkk zt&6F9gIVZ)5QHR-MoDGqWdGIYmr&4yUMVujbP!7#vDN_qA2&^U#9#h4U8&PgrG;9R zN-N)w^J7|A9{t_M5Pz3PFqVKuAKMw+N)rk?r~c{r?3Xz)txq*M01_S%&%~Nr-qrQX zxbelAC)NAR;qLClLh$=_D(|@G#C&}nZm9llTqj6P3vl;91<5*k(QmiN;V@)3nbbtD z!-{+K-@WubQGa{$jv6t(F9U4yvavm^N3>FBgZjR}8*=4XT7SJBE$QbT*!LuBPLPDD zL^BgTpt$H#e-ZLKO7 zTZ8z`i`y;x(;t>VH4Nm(RdbuLN4m_A{U?X7YAt0^S6RsQR69*5cyg7?BV!c@}DV$}k~T zn=NKwH`>1G0l4ISJ;}vu0%eA8>`@`_jURC63tn+O+;XjF03D6lxw+fx{LhOX$z|h7 zquBlaAn;-z_v^gO4oARB_azIF$UCp(tm-i?wMHgms(&(IxW69}_%Tr&FVLvLYXb%0 z`Sp4nLG+OheW_|f>A*;-LrpUf_S;3DUsP8DtW-)d3`5Tl^mQ99pFjwS%Gco@EzNRJB|D~qo z|7abE_mO$ce^Hj`|Ey`5t{r10jyo2h?l%3~=J~SMudBQ~I}-qZ8DlF96A2#~0^tbD z+-=D=0Kqv-A3cgKL<$iSjVH~77YZ#MLkbr;UVmXS76}iPvIQ{zadLHf=nnkcY}QOg zer}5Fr@HAM`bc(ho~~Sc^?#(Vtlx=@JNX}n!3rAVM}w>GD}i!?ovuNo|KroSc0gs+ zyS@7iOkF-x?-VFe7nH-(-{Si5bhvzl{f5;#k9-)s z0e?g%v@J%AL8n~i;={CtY}@hF&8ZCq?%g5M1zk#I1{iQ@88k8NG*^5c%WsNPHV40h z?dkmOTa%&{h=wkoE7{W1;<|Je##v?#t2u}E$Pi0;i^@NHCDwbZR<+`PrwPQ}-m`^M z`b&(^P_RP5RX|9bOt@veV+A8}rybsFw|@<@dR_(=`ua!VL3;xj4i|vqhsoKK$0;-; z8=U$&->(6n?pIk{#T~CDK<-p}(v026IAR+>GM3dU`Nd-;BOB~{_~mgwete-zV8d%mlO=$ZC@N#&I62RWjRltyNu%qtN{f zt}nJ(Y96hhw)OLR_QatgG{TK4MSRRrsx>5PxS?RDK`jYwr*%JUA*bAcve)& zia~Tibb-f(L(>wAJRQv+ZGD0e1%Gv(*C$TD8*lM*2DJ#aL3V>tjM!E&oU5SEGTyOGd6*Jep5FfYBRIfGi{~T|z#z>=ZK%g5pGiW>yn8OsJR7IY1+tSsb zJ$H)v$NP6hB-5(!zp1GKSbw?9l*E-FH;q$O>{z8U=5=_)7S98(0L=`RL;#T*`F^ni zKig$tO8uq|Ni1kCG6f8?)P0HfuEjBr==hGj)x1(_ieF4tf#YCuSSEJSDPSb?N>pr?T9q*lA0*>PZLNc$4yLVs!zkVy4Y6qv|i z6()n^4xg}zm*d6cu5s*d*9tg>3qa*wv02IdC@oQz!;{Ql14U4QEpZj{tk{D%l-I@0 zT#x4D2~ip$Nx(fo@xHNTX}|?Bs2qH`&?q@qHry;|ULH7u7;A;02KmJfRm~c+Y=p2J zcs`+*Rw8?r#Qn8>k$-7lpWHJbVMUH)yhl8M6PpBfDpisMLjpa{kaG+ty?PvkXcoaq zBJ4@bAF7m6#cr)z*0|izHcNab$~W^9Q_BWbD~2O*L>VlZ!ZmBRyK^6Op7(3QkJn;t zNf9^x?TIWGkJ>hTA1(!=l1@d33;|I#Jb@))yI!&D;jqi06{66iVg&E zsDu=}2r-Tb?5piGqEOzw!F=_CzAps8Bu5WP&AtK3L786xD0owYj^?Q zj1Ss{ktVa1(0`{lH0(DAweO8o0?U44ii$tB;?Mv?qBjlgiP7MF-_)&RU)g%1)W`>@ zFt!PQ?*RxqUSeb5NvF|peprQ1$M7~8A&Y8ypk0(6@)(0?4isGIJq|JuacnV6g%Bt}QDiz>^i$}jpL8N0!1%qkh%fye*9 z;e_(=vpYwGnw#p#;#`cRM;UHEn>sdj&S6>G^M6CSsX@LGhtw4ry`5>jJYfYQS76F5 zR)r&NaNG6Xp3s*W>evy{q-!!tn6WH}Obfn8L!>aJz%4(x?N5Q?EU!=Y#-}Q46S=lUqN(w`@gJ=frq$G-P(RYoT>~k)b!AWfhwDtrG<4y<;lhbiT4kWi5 z&d!Hy(Au#`M?)L~t-<8H1++lHw!ps z2^t0!>CSV4&U5+{8%I5Gu!&T@Vw32la(^Da-<+St*Di`Uw^Q(alUFv#Cf^MtUw`>8 zx*kKGk|dIID}|RwU%eZtQWQv2u$vn%OqxDBp69Dk&{_lz$fzot-1;8bGW>Iu(Y zC{0+=n0&kyIk;@m3M}>Hxa&{j?(c63vYspD5|AU1}@DwZNF%w5xqiduYa03 zZ?FNnqFRF+&>K7(7S1>x`vS*8C$Skj65qb97hVHEx~Su0EPMCg--=H~${X8?zB$-0 zduGal8a~;7;HvUIQFSLWyCx-w3$v(95oBC&=YLKtdC%~f*1zd}^jXfR|6RinWYu#Y zbicMKUNC_?j@8`hn>Q)Hm!ZggMtlPMYdGR3 zY<&JooF!x2?BhkEg>mOIelI=nVKYxW zK|ucBZaiT6AO7dY15L2k2oMmM|M`Ev<@Q#lO~Ma#%(3s|ClhaTZ*vO^j`stYRc^t# z%Q9dnVe|)>$Ld7Hs171*Yz42F;4p0g&EY%r;S>w0p4*Tc#g?`@kR~{eAL^+#!Uo`> zKrqqjT5G65!5Tf=Hh&L$A+f;jJauOvw!N^KNSbg?hse)JxwmK0#ShQ7;95CPjK1*~RXda>Icp!Z{F_ zp{G3u&XEgUBE~7aK)iIk2}bvD`|sMHW)8DD$?^@7fp;hc>3>0D2p9@w<39TW0=$ky z*cX^p zO2UVT!Cb01A$b~V^!)c_+Z<>RICyqbN*yI#WU>Wf+Ii)zTrS4EF)`Q#d2K-Zb=D)4 zxx^W2J08goVl+_kT4Z%hA+L3TRAf-=KS@~l`EE16mVbQ%T{$5Ip_O2NE_7_Jbxzme zfppQ7N5i0YUCG$BO)2CQ$G8tKFtqgB+x|pxYIBOh<8M)a&&^vVPw4M%ffi`VVLz0thHE zFtkFI6Mx5fXKv?EKD~w2@S*!$pyjCgjq)mBOUrXB2$%cwue_LuyQqtx=%ZVEaV;r0 zJ^V{KXg7f)Cdg03m=_^;UqPQa!zP30?x)JywP*wv5Fy*IRM&Spkc#cxV1;WbN9E=D zk0S_)__YQVSh)uYBZID$ncdx=YOum>EQ$x&>s-N^NX~Y;6{P2fs}zM zNH8wsu^qIP8C?*W(5LBuVEcYNPfjrPJ0~^XK{m}z| zuYV8nr9iU4mhglILG;$(#vH_*4$QgWawsc`K-o_SEVjPz-+bcxBY!NU_~8^f(@Z zdMNnc*)fL=Da;7U#D;{NKW7eNtap-(@_$}D(Gnetw=>pkUG;h+lTfL=;9w&94N!kT zft0ZnVg$Jc+v5r`2LiL7g8`S?;+K6!rQhT|r?}kJKl4&wZXP;cbxc3<{sgCW4S%>Z zA%<-ESE!)Ukz=q*LA#1Z;L-J;!yDe^E`qzYU$1L7GPnxd6Y0mR1Tu?zo!+1aULb*bA~I?4YUuABvHf7!4KhGdsRDY6ZM!{eANaGy^W~@>-**B zpaX|5*-4o4S$wQC9TGz&C8bmuYJar&BdG`=yVNpw@9*P3hjzh$#iMA0^DE#bParei zZsZS40lumdBvGM>gDmi)`s4WD+t8l+GAfstjMeBa=K#1I%#p#t!rTl2T86?OFzaW`vZlAIP#BL}p3Jt6xm zQZe+c2A_JfPt)RP@W@u-jDKVi(*PIB=}Utd9}Xf@?SN3!)52MxsQlJg$3Bl_#u0Bh zH&RP73?FfdQ6)ib76%Pa9l-5wrWcP0H$B9G02Tv&_|vsyv{S~R4ieYSs0S+&o_G!_ zl|LIPu9sv{>wz9X{v6fhB11We`D^8-3)8^|#sF52A!K|)0}%vdIDhz@90b+~p`QVy zOCq4r_;5-)8j0TKfw1Hy{)f3HLLPR7k2@f=*Xy%x_Z>N zX=Xjq1UKb`;ho|G5!N4J#Ao?5MJ&$VmDl^$`2#D@<&3+jnrMqRX3eyKns7Wa_O+cRJ z#wL)CaQcZ%IGu2^{7jEd(J8fXtrbAUlo$%BkVy&;&AV|&@w~+7O*{Y7}irE~bxza(t!GErqd(WMc+ra)uruhG0 zW8?pGzCeQeKMUlhgQt+MbO!eI*k}^uyCcs}ds6WGdZBN$dD(5W?H|02w&fxi$HyKi z?^jek`KRhEtXv$_x;@rD671K<27C*CAI9DoeoY3vG6n~zY`>q}d0?NPBh`!_2EcAk z7z+8GG?u?un12|VzC?>u9nq@;i?>%Yy=QX44qjO+tScX8Fnxc!%1~!{$}%TI0&tkv zV5rvvKLEFXqSnODLQ@j1!J$AG2ea_Lv^(rZs^_h;ZeE>#hYs(&;{oqi$E(XctZKdw zo}@nT*P=HB9k{NW!7=eq_VdHEe*5l3ax}L*4XnJZkAKyx$-Dgh?I^{)rJJ%pwc7bK zjBv0TG!YYXqZraOQ-cGZ7k}+lXkSVPhqbj)JuiRy8IFKC|ifs|lIM zc!k(9=6Fw2zgs5r?1rhD2J^|msZZ46c;o}MsN8K(_S?ic+Rr9G4$sKB~8VMI`7vQGJlXGgTK2*t(P`YYdO5*FCN1tga0S? zH0W*JJ(eOq-fvP1HQwl|K3pgy6C zYD4*y5;vtjC5tCcdA=H>%8trvQoLWyhp!f1hjS58W9TIdR$1<+qe)45n6x*>%sFpR zcz=}g#)%l5k@XCId4lF=uNK{A-V`1|K^2tbfE|0xKDALRJ8}*)i;Jk_ggF@hRuMO& zg!!W>3{HCyA3_C|DEuglw)N%q_MzuMINpqh5ymMTiJVNUJXeW)g3F4E-`w2YeJSRQ3*LwS6d@Zu+O%Z%9%z0$#r%TiN}rBcFrWBz`$kRV>`+1&Xk< z-8?gOn$zR^f0(rCd$G5fDcjmi(tZAsl=Q);Y{^{rzR1$a8Rb#)ODfz36Ne=y85ey2 z;XFm7U}?A3V&%9~JIUc7Ewf=SGJjFRL^Y{_3C!r8_qGu`PY)DM9XAJ&GQ9bGv5Ip^ zysJu7o`ef|mXxsMyM=J?y+8|9iBa~vaDuw-jhKIX^b{S^sw7Kn(@=rOp7$KyB`Z?^ zJSqCiUG}~=T@4WdJ{M0Bb=N!bepa&4q=JnVs#Wc2`h`Ottkj8O%X0B=tbbKE7Iqx} zwX(P#ZyB53aUeC&YJ>{ZMOy!+Ew{d3o0Gvb8D~P~%_VRZe1c)ggn(hRyo?YS>__Ab z_W_eFY>jv4ADpt)7W23=p4YaRf7|vbE@GCcuRYipXwvBd7LuJ?&&eorgd6`B8Nct3 zQZi@-L+$AJy>`LtcB~q7{(r)&{JHi+lgLAD%*m~lXekVU5c-x1M^E$$V=|C!otk>w z6ZZGggZTUmWt6x`+4%BubxK~%+lSh21B)S_J^%ZspYSYe{R^bq!V0s;A%C|X9|rBA za$RRimHI?+vFGa#iu55|LUVf)(lNS|FCm-{!N4kMa!XO)27atx8hn5=gGADi#dy? zNe>90Deqv~e7{6JSHe2O0ot^i@Vk>B(2F2{^OA*}hUY88g&XuQ;l=0YO?vO(rg#N1 zbc9y{oj*+a%RgL+-G3cXLCRDB@1^O+Bl|DKq-+E}bj|*c@S{wDF=Em)nds||d$-+h z)5uIMd$_i&a^wz{ey3n*Y68+NqY^O)#V)uPw&D7C_}teOLw&HmX-);^mdza_848Nj zEgVLmy^1BZvCI?M9Ln2GkaY00nI-46hQ={=eIJ-TD+btv-+yz{3KTtudS}?z3eWQG z&AZh;bCmfe`>YLy`zrJJy+g%kOwkf5#r#Ma?9GmMy*>e`FC_b7@(n<}N37mmd&mWa}*CshIFt8+0eL9EF z%oz>7O5&lQV@VUf8)~hU5LoK)_*opY-RVj`#K}VkdSx z+UH}g?fb|K_2M$Yhog%Ne}Y*~Ma$FqWF5Q=fEs>fWq;SU zrvC*Gq!_W6Hj)t!V5*Usm_5%0E>0tfVaa!@WL?)4z4x|cdexJ=*aeh7`!nQJ|2qzk znnLcEm;xw+c}_(Y3ONlXO&&hsig8I~13`F5mKgT0Kb|>KlL{4Y;Y>biZMGu>e|Ok8 zl-j?0AAg{CwrU#4V_;`$<2>U`v@QriqS-Wyr)xAi??DK8Z&;bH(XEq?aqqWFQNtJ4qwi^;a zw-r#P+ZI)6x9i~SDdU*<3CYvhgf;}fyqU7vjekE7*N7wg24s%}TBa?n zVL8{R^yyfO#uN}Ngr&i50!)j7k=FK5CLps*G$EY8zc}bKyx6F*#J1V=f*;I>UjjL5 zS=^eR;RiWu9j|n1lWMeP-EwK%5kI6hHub3xj#hJKSSv6xRieJ^_z#@9!wvhWjD{bR zCV!rJ!Eoc9dzfe5Mbg5(eW-ZhaN_|n!V)GA`hN5V4A4T>+jtUbj2_#8b7ryMJ{$zm%fSo-S?Qo;=oG@eRQX&SeeBo=;3t zLLN5*wjPaW%M4%8jUN&JzC5+#Fd(Yp5sY$ibe@Hq{n=rxBWneawu%_FUSMFk45B>s zpv_9`%W?-f{q&>8P26K3hv=czD9X+roCh&Uh=R~%>_O3V$nJ zd(N)*bdT>jg`Ka|W!N275yQuK+Jj9|v3(yewS75ymf}Lit7hQ+yspzqguw|hqzc5? z-Op%JC*D`~wfhdi@%%_kd+jyQU-qv#48WTENhhIEKcEHIr}mS_4ep+(o5)8}FhRE| zMN>gAWTH%dSLLRa0+p_D@v4gi?|;lmmi%rqpW=J-9)NW}Nscz4V$=0u3>7Ud0mV}D z^NNP5_2UDc z4RR~P^@nk7EgO*!!eMMSj&>^^xEiZA+zcQ7-(@s7MSgU?8I-mhQc^KWd4JPsGi+s6 zKfH-3CY-+~Pa9V-7NS~MnVoM$T_Uzf2Sn;|aMHxGsc)T>W(JzoHAum&=5p|yKh}*( zRSpO}6VerV$S(pwiwFoVoG0b~_B@(r#qoi?Kbnz?5yJ$^;Fj7_Kw|gYq~TX+cYv57 zoLWL~R#-1g3_`WoVaux2!GD|bMSEO%5Swr*3Oo&X)xC!VGs_{F7gm>X*h(d!fwVJ; zv1rk-26%HePWXRE=V@>3c9+_Wy?N zsAR*eU0Ys!IGKn-f5yKSrkLh?VH)*3yp=pitn-olbxgz&Q|R)=r+*V#(ga|Y;$H5K zXjQbCg>UJ;Cs=K5eF;4B$RL>U>x*`;2FP&Kjg4OW#v=khg;!y4si~xYQS$OCK-in+ zL_S~kF!s&Z%NeYSnD}&_*a^1hVf1kjKbp{{>5#FQ%&WJ!UQ^ z`Exdqgl)JwPV@z2)Cff1ZHUfnX(=g(H$7_$YhNz!N8YOcZ#l0?jiz}1 zft%|3B0s?#?hqI@1o5J`(Xvtgpwe#8VW%#JqnRe_ksPFzE`MtKzl%xr(iF*m-EFh@ zh)BpsQJ~PEO5C)(EmuZhgsB2i09fb>5TqX6;YMOIgf`Z`$d0HED7ROy@UOBp+U@Qt z=_!K0a9k`$aOetD@jC(R3dYPqn4qd~WJH>_lg`uBCLO>D zkK{#u%x(S!it3$LO25?1A3-p|0&!A~lb`sq0`Z7x$l}O_rF=;$pyG6}z$ftZi)&=x zeZQ-P;y6(ofx}TBq-@aG#w`N8(Ohb|{WuT>Ab-?kIx;fBvEn2SwAy!QMvx8y z!Wi`QG0@d2QKO}LrbgkUW)bveJ*XmHA{djseSVAg8h9pY;C>&1cL7kLJ2Vzkb2|T< zOG)^^|Fx8yS_Mzh)9!1yJ??u3sJCLe<;2up6Ofr~wApRsdDS-BZ9EOzLe#QV%R;|P z*x1{T&VTv#wQ^v=&2X1nHbyqsyvulZ_gKbykT@VyPQO^LH||NGdH)oTdX^pq?qp>O zK?Lx@vig7s4Yf>JR{I9pv!k5GHZ0Uy=8`-Ag1vMel$z!6jN&VuhE@?c2B`9Vx)tok zBc7bZv#lVp#13>pl!Z6#cu#awO1mv5-ypuG+JAYge4Y|CQ>KmM5|63ZX@J+gk@impV*N z^|xT+-)x`sj6WI3CUzosWC3Z|MgBl;B;@&#to^m53PUSbf8*SeGkY@>dX9$m{8U^) z#eaS(EwL8df%mU3TB4svgkDhhV1~pE*N;kpHdNIO0KGYbgVFj17H|wRZh%@EOOuDI zEwH|_u+)wLXj;gAiJY?T8$Mijz*%bhgF4jsu#c`|v|oT2amY@dHj;5dRzJJNC3%pj3D*z>VtR<5OZV|xC48*@5+=KvY zc|n|#c0sUlWAt74o?&KEYDaS8E&5Sc=@`{GH0uT|;2ZJKcMrN!?GcYox% z(Mv?#wmzHXS2#P=X-Q&_)c|v3A{i2oANIiWK!r5$%1j+PyWD`%NkO$7o!K?pMUM&C z{vJ9=*z$OYz_<0uhDjjgHh^21be%4X$G&umM|?9#h$qq-ZyMyQ_W)E?11eB^$bFzf zpg%x+T21~+!hD8XvRfF%BeTMM*?+3vFrA^mtcN9dx_CC~J;*$bRej5kzFC(MrJYEO zKzXtK-g74oNW^5v?$2a%NDx^}cY{PLqW&saa#)Q%Tn93r=_vFDvcv5UP22VoG#?e8 z;EPBbiR*oa>-55CxGo@|w=o`?r|)X9Xm|!ZuDY|mWQa*$dvlh6~iZHS!V zLN}RYt)rSv6$3hSjk1KbY;=Lnc*4Z0^lGNW`oggz=N}g87ST|Xv7D;NMxXz~W%^+ER zoxd4(OFJ%}T+SJub!mes2ClmLHp6e3NS>t~GklhYkSGtSf28PjxNG~*FMkl7iQLmDj6^a| z)OV(<^_2%&(G8yYf4Bk;H%uS*BR6*sD1pMObFZ8`7-)xO{jdo6^n@7m>m&iO%A>Ln4a#_)iqZv zS77H_CBF~4k}%4)MrWwWBpxRhx1Qtbv~9$S%n5#siBiMg5q~6H2M>cZ(1L(#;ULU; zw4+zAs|NNprZi#3Ut+{vdv8-P#%ZoqYj*nc?hJk7&puK2m9*RaeN~<*UwIvR9)6Ua zOM{*OcLIgP5dud-0rckL8zJ)HbtIb=u=?KNTAglAr5e;^=@UXfnV}}VU(xwXYx&Ig z8%-cObg7GmcYm_u7o;FgKxT5K5n7pg<4n^zM7jpZ{T{Ahpd#7aFKFrisDPyiZBxwDZ$mTzXEmD!rLa#=lR9j-RH>kp&5hr4g zOR{%k!haoaLAntObpcz5x^utjoJK0ngWy5v7PwOl(IPmvg!b`uGo$@8^svSD6GX5l zh@!PpBkvN!Pz8r~f?@kDhvf^aG=BHdi`EfoopD(N^nf(ary$C?*9upu+AtgCftaTsUU{{u#f{$vN%-UAhLJTN(>z2 z%UTX)-X(vcrck)rN}dadjMry}?7TAiBj~?d4P4squZ3&zif_7Hl>%nn5W_tyvg>6n#SXHi|9N%C=tj=Oyn3(u}w zd~0BI{B?z8WE)7RU?8c8Qy`_^*ed=|n0|lY$B%XSJ`if849WiZ9?~*^(wC!#*%V!p zM9O<=j73?iip;xfTx4Av6-H`+6#@<=KS0|_#Pq_PaBP9=kixlH(_wBd)I_O2iOG9! z+P**9BW>kvI||VuFjRWMl`cr&GiVMjk@;2<>rawk@N%7FFskYqERG|oz- zrLIGy9ZGq4dG{GHaSq#!7Uyr4*MjF!A$JXn?DpQiQ7V(GlcDZqpTU``rJdqXdz1@} zl3iPe4sMrPSYh%cSkcTP(oKIaGW$4v zwJEq*AlwveCr0+^H?EY?wI^VwW~6alS(kX};pB~WCQB(fM#jISZ8*-`pcqrkOM!_b zg(qE(9W{?|K{KLKVs<#NRa0O5)^j=ca4|$*HQ;`29a9%b&@JrSIi(>Ybqf?pUjt4^ zVN;>B1vncIU@vTtdhLQy#Ib)Q_J*JpqoN*)>S8Bg0ZRQ~zZa zoHs5=bMn^%g$-mA1fU5(PV^KrCV@f3g=ERlIzlFPMX%uXKy-u+Xy|Am@=r1C_A$#) zvL|%)eFB=MVNl_ab1Lp zYg_c;iH*$Fa1W1*%}1};<@V@EJ6i%VM?KIu8k$ptClo9+-Y9D+L|JP2`=YeEE-(sI zPI6nCB8Uzwg0r&*P^o_f(5MIA)gm?Z!gzz%pFjTDdb+saznbvl;iwsAo2$p%iUu(-^XAz1LIR4b*>NV(Oa+AJgdW$qM3ikFG4&WJ`RCR1Ddo8 zpE~g_EvTL*2H6(~r*V>0*}0XOJl4!Z6T7M^$ji&iaE+QPpRS6E^UI;3p~!87p3jmT z`)`DVt((j--n_gTn=3OL#*Zk-&IcnZe=znfn?us4e~(dyT$6XQifoYDS`INQ6rxfP zh9Agt})(m^=xtXlkhReanO5)|x0nb&(Oip4+G zZ^!m9j`?ghC}F)}8JfU6s2`Dq+klX@=~M4KnOs+4u(QOCqsmkEkZ964YYNS0+mVg zV^gb<8Vu5Lv9rHBpD!_enORsIpX7rPc|Igw3w^yKbjx$F&&_R!Hs7qqjK7*avNPBS zO9zwijUIp8psrqU^H647t@S*#;X7vYh8U9C<8jA{v8Ixx$|fq7$dsH*mw*7I8JVLj zGhc8PFt4MB&H?7OwlQf(Y3W>s%`YW}n@yK5UvjygECKbwVtj>ICYg3l{VT&8rf-#3 zTA^CA5XDHTvZk=4sDK~_{|N7WhL9q3V`t11n0bG3O*=}kDiNRrDij4e+?ozsL!<9o)+ zb*G56aY&vAf}a>nO4gwm30NR11e&iz0UVYzTvaAjn*YAJxii}X$^&^3sW5(S$@LzX zsC9pU=>*l4HVK86Mgv(}xjac>jBs&DZ8)rS4tI=BbL!ZT-AS58gVDlNJR=%_)JBCq z0F^mFjTZ?}m{OQjHofe@0#?w=Ubqcfx?4sNW{Y z&ORB>a$mBqT=5wGPe@RBg({u$YO(B^Dz2stc+z!R3(*jOAmyy$Z;Osq72^>+yY(#k zz7kFhGvY@1CQbmKnD}@TlwXxcAsN(9^^M9>VbT1KXudd;;Ol=7*#T9@nX(hU8VrA} zB<$w?e`x_&`5J}_PH&7svCGM<4C1)xG8Ll!#Z5L)5Jin?pp!xHl_nP5w}ImZBvNw$ za47H=Pgi}mt;Y3RP6z57Z4pFp+DZvSQ@fAMc3P}m8B%5i8z->e@I^)$i+M8~I0&TW zM49Obq9p$rh5(xs*gL-OaMHVD4>s7jqSy!rIZ32 zL<=N8rxj3oe>py-aSP@+zge;q`N^3NilYablOEe(<+d)`rX%;$Ovujz80LQwv2jF2 zb_R`E*s;_&608xXJwlA~&;|^=;~v6?;W+Jwr(N^<9j{ECjEK*nePJ6kp!|gUoPw~b zs!}Duf8=OJuCln|qC%8W%I4>yu7 z#gw%v#LP*KNXNz!ZL-spp9g;%rxKo0svRl!VvGn~vg{YI0PEzqKEeUSj?mMI}A64u2g%3s=ggm9U94A*J=W9zyh5`&!h zV;2rI{R#0Vzin&0co2Q>-19`IMvK*_j21uW%)l_&I;c)c>Kuj&r4fG=kFL3&vW7!ENO-}>tV<1CJ9$U6Aa2)R})q+5S;vlEDyb-qNmE!y<0hI6+`-s${ zU+Sho88EIB9B1a=Zn%G_M56|bWzdRS>*Es-g#Psq32>APsj8r{`=UB(gsYBjw4KthG1qm{{CFHny03?^##c!;UO6VTnC;8|o`JJ{q@&08j*oh`^%v$c)tWVSix(v%fzV z9ftH&?abB0#AI87OAm){H~y+~*}>YH7dLJE02C`vb*5Z|&Wm`gIb$i!hB(HxDf`*( zFIr@Q@l5pN5ZZrC^4GTaanZz0NiM5^fWqLt)@<8eYBryTA|oDHUTf=1(ae1Y9Hs?E zY)f_Y-wz#>(%3nj0u#8D1_BNJsKN>fyH3PQnvXvJ`{i9cR|b4q_7h~#`>vW59D?pr53d~p*& za*!~v(~f^9z+{1V`1nE-rmQtg-+Hb#+wV_Z&!8_o572>%A=s&+;3=YV+M8su%t#G{ z{roS;W!s+u?%OI2gi=2_?~8BO^eD>3a;`%O1YIMH%Od8oDl`lmzd(J*N#J1UkpsyP z*$AOKuD*X^N>nZ*%n@fTMggP+-xFchWJrr8Wjdbe(7)~p=AQDyIJs_?A;#G$h4=U`n;zZA6zJ0}tyUXD*m3IYMVUUBs9}NZm1_}TdB(^( zz>8*s0nfk3875*Uro4Arm$y+pZu-c?yb(sy@PmJ3bZIrukC)Bcex{?~Up@$nthJfoxF0QjHYvTpaV8n;!?APg^brQQ%;CC4$VgOh(Ak~FK|sELE2VB2D9vZbjuz{{=hb~~Ik z_TDFE`Q-iU&hgWDA>;nnN7MRw+%TW#rgeKhzd>*?9Uazqt0Ds)5BCHt-Rk2<uBAKp+FZYeEh(7gYTN(BE^tC49R6M&o~oPs0~Slb-Jj71Zqp2qKr;>DTXGHrIb@9SOnQ63{KtR=vgaHKXRR8KfG=hbeFRTYToI z(;i{A&&)z^=Dw8EmNz8Y51Rf;JCULkA71u>I`V50=mP}Lp&`j_cEp$cK}#*n9*?Js zThZ;W|6E9|?kbLCwc3d3G*uj)RbP58)yo+hZeTnF zzSH_1A65wH!5d@b!FR;}3VnZHr}(Z`*4Ni{ z^~N}$HFthI%t}@5?z+Th^ShnJ-@owld0f3OW_xVi_AGXGz7!dpM}dJ6a69&JzyIa) zzw|b^>w5e9QQO|W-idzx&a?!7>e9EC)%HJ`NBw_aEP(lcS1jPadIz@7Ws3*~h6w!c z3EpLfccq#7e-b>Kst zS|KTi!n%-7a%W|dBi0u zgKF}F^4zp0x%27O&p-b9^%DBOz5xCAgzq*bb~w{ zvM3b01x_B;3%bXWFSf`mLi!%{MGN^<56u19X^M6D`o;K|HlBVqzHDNpplH>?+{N%m zy5=C}`>;PN5+Q$G5!u-av|W2>y|toheYCIXnOu85h1K6{ssLhSW=|7rYX@tInN%^U z5lqe`3@%tDSkhxzlU8b<<~rG*Iw92nOF;~>=wQ-$U~B_1oVX5lenN7?PY=tIN>xmQ z)Yb18irv^PD1mK%EKz9*na)uR9>Hu3%IHBAK;O>F z1=0~;zgikt-p^9IrF>wXSAg1;`_IQ7d?#UH9XY)`=)OeUF(GJOC;uDC* zZb$6I*%#<93=5ka!9x0u1fon+`OoIHPxIUY_qhWGs~#*TVs9$Q3xz^cNO!;(Bf!*a z+UIu{%pNs9{4R`X$o5C$N`E9(? z17M}3JHm=M+oPxMfNSGFLt?>=Dk5C;AECA5_!Vi?e4;#62M zmQJ>Hy1Tu;`eOIpq%8DQ4tPBIg|YC|DFD=u8b zuGORYn5vlU9v8h1omk?^UQ27NvA?LIaTwSNw27D|SpVg;)WMcPQ`kWg7^ z3K$M3UU`NJF>by|S{z7(v96NthHCad+dCcH_X^D4KgRQPh2IhA2?@6eiULp}%J@U> z(8@txay>2g{O7}Q|GB;6=qxALtuB97!nb`8xOc}NXR@3DVw@ZKzI!yfbksL=LA6Av zYLFewJ#eA~Of-vf(v^!DWc>%Qrt@>ezmtt(euwYSNzQ)`-x6^d zCQ=l5r0Coyr2Q@C+a%gZq++$?^bSAgRJZgUUOx`*hYfuu_^`UBm$px9+wSGkB)V@E zbLh_^9?#-g&$uaP*BtWNJXuyyIeMWhsv^=MSE4=Su9~biCPwX&JSUs(lmg4kcG?&N zmO*3hM71YG=caZqsP` z7fx(+bB260`cS+^SM~$O0z%*| z=^2^ZZIBC8m(t%T3UG@MWz&#rla~gtVQlP9sli8?%@^W{)W8fqe_?-IpWPiA$Ei9E zP+IC}TlZjd#|hI0qGGdnY5}5AqayiJ`?E&%Qt#PD1~a{Xp?9c#AAf}a*T@T^oqYMG z!-gC@l~MJG)^~Qd)c3ui7ZZ98JA=KTopa4Pm&mV7U@6y6o9h*Y*r?m^(B)BCPrssf z;#VOjA?gxDkXHnbhEsnK?N~NMNtiNe>30ad4pF2GoZ|h-eQCJVrMOWl%IU2F@)17M zeI!LBzod=OOukE*$_wz$JfN%9_p0qY>Xr@f=7= zL{-UXHeeE~==`et!nWD;8SCLcw)OS2Ew~O{Dx4OYB znc^3x3=E7(uYG+1s>mFoLU{ZK71VA8hJiOUkpL8J1^js34Jg@N9JMZniW zMglte?vfKNLtmx zW-(sqft<6NH@9D+cQFoA9f&BqilZh2FKd>BPP!OPMmm4?x&WkF?JE>347ih$_hP^) znJZk%k^)Z7?IzO`UXsWM%@+M?7sVL<>!5_v@;KyA?oAnU_Sp4<$S-VPlW-@Z?j2OX z_%qddl`Mj7j(64$DA6h;-E1oWbuvr)ajZ0}%{%4j^36*1{rjI)ZGqKn!XU5UC3f*n z!C~Zh;bVX9YRU)bF&4wNPqz2vie1&?yH!r!iCYvsN|dh4Y!`>z&Gvvs=Br^E&9qQ@ zXi>OARKRIRg5p>%*{@B7Dh>r+yxaH0V_e&63=L&Mk%Ezhy&PQfxu0fBd>p_5ZEyb*s}N#|UDjb(?h>cKbG*j`*)R&idz zGx-uAW}KnfZC^0Ex%IF2SrxzMN#gpq9{PLlVrn}N#l)f$`Vzb#=+3(i0RcY!4Gw`x z{|@XX7cyqq#PjndeV!#F`*25bck9&rTG!>*hIB6A9h!*p7-PyGUAwRe zMvaJYxbbN>Z5~e3mAFXQtj`4Q`S;n!+{1rSmtJ>8sIKOqt|Jl?n*k17-EWA%S22}^ zb5X($pRB=qlsyi2xs~D@w`pbd!04To zw?o#=WZ}+V>YO7(A^}hPW9c)!X~Qn}43lM|J)r(fEIQGRulto2YV>?GsYq4WgO7h# z1wK9DX5rF}qaF^^P3eNz+-yYbp<4$}p~M5<64`ep-v*xawNCmx^b zo$VWz9US}ot^(Sw_7+PNj$>N+%ZxrJ$hfZ`u`dD)?gSmUzabPqcHr_q1429NakG=- zF#b#=Nq*b^O+|EcvZ1VXg@5F;7o2}v{M0?T*MSBxJ{;+xXYFr^6mFZvV*hmN-Zs7& z>+1Ja)b2w%-s9C}{2HXcfa9K6Vlr3dW?jV_JjtLaxc>P>K7PcchoV|>^9(CAz7zZ1 zQw+-98}ma6_GR-kqbXq!%RPfYSDQs?dOBK2Ny@k56JAvM&NRmGXFoO`CBuJ*J!UM- zEr#SdaSQ85ef(Dc*|b-~NyjW~O?NQTP8y$(;*WcMs@FB@mrF^7q#>U2bt=45*N=yl zOq~-TDI(Rk`E^|14~*skE`IpeNnZR^p>qWLu4v1-D}TPJOSB3O-l%9(T>rYx9Dxm8 zZE_t$qsIZAB;@_}ZTTCASM7h#X8Zl1Rp2qqGS;SL!gh0mxQ%s~kUjf=PvUww;}_(o z`CPoie~Zsk{|epiL-=6VW!(H9QXuw!Wi$Ty=b!&S;!64FpMU=O=bwN6S0bnQ&p-eC z^Upv3{PWL0|NQgMKmYt+F);h*pMU=O=bwN6`R9Kn_Qe1EzsYAD4D5gZb_ovqfBA1q za0Y+ipM!y+&i{|H8Ckk9`kJ1@{@Xe>*S=RSQyV_f)K2Kba4e*e3*u_*B!wWg$KPsL zm^x~aCD?@qL^OMFw;Bnw>b|?btwT$H18YHDGrg*$RmUXtjzP`E~qRa0pT)+7ZGQ#Ewy}T}csY4?r z$`e)2Y%G%>G{5jbvy_J4O)Xm+n!W}D`f)D?8Cq|6pLBUh_L^~Em6tdDBz8&DKnF>1*J1a+}oH~iZqnB z&$y-wmK(HTycjDo_v!b(!zJ42cd&UG9e}-aMoD5$O!>ogype- z3cUy)98_IP8?%3$c!Ws7pd8O`bK?B7))hj}?oFKwCK-h<>oMnMpF+fTjL%e00(HOc z@f1mzR@x+txhpEp`_L48l1;DCw_A-zx=u%`TuwRVfCl?CSL&XH9XSXF0NnyV*F}tN z7~C-2R7Z;arA^b zCyv4@b69`wst|9n(rk0FQYPjGG{l;3jLtBJ0rJau^wQEwAU&gN!vdVbOj-Nf$ZShY zF4gWoP9RtXZ!ur6a0w;;%rEa-R*WA@pW9nb1>NpkOp>$iATA_vQUL_{@^q4BE@3T| z7wD=D2CvpoI9E+AUFLBwh9c~7S*)|MlCP;1SrRujlZr3C2Z*yIqHr7LLD@Grm?3_{4^$-Y zB9|$WY-~!Og3L{7_rIJMw}6W6v5|Xq@EH#Y|H8KUO!ny*vJ@b%u7RLSv2{uwkv&HJ z+_PD%k@od{HrPURgDq4`NbalA>>HLlrDOM&Dw|+0_F$6 z+n#XDQj|gGr66J%6uEQa$-XSr6|SNj3lo30f?^CL(S;Kyj<$$ zt&~Dx4~=RrcyAsT*pClsfyzjRp26+WPNxUuh=h= z$tA{oKiybupLUa^xqdt`_A3#+Rn*7qLX>h!EPPVpbz&5zRiUTx{+L_VE_@%AuL~Tr zzh&1^F(lXNZ0)y0DoFY8^qpZjpE!TGOe90W*MZj#G2lrxfs-gRnPFZCRtkzTlv&uY zdlQr7oLZ17zeuQp@|w9yewxn?T3(|+XeNr@W_mVhF&O+AU4xw+j{g}c)fN0VK?m}c zC(FVt;Ad&!RAaQ|m)k+=weg)>Ms|NY{P%=ORE!zSvSIJC0aSWWwq+DjyI6l>C+%Mt zE6iYt$omHN+dpE>`k>l^ld1ihcLE?N#tEth52izO+FuzD_G@`SCW<%!%d+9d1Ys2q zQ$R})PRJV%k6{K=KB!PE2C8pBzf?wc77Ow;kF4;%-VW1jsd0FkP1F+;!-rOh4W`OykelJ7`#-Z*2#juM;`iq+?PC1sm^ z=8whg1EUDKz;uhgRC|Yiuk-?0H zXEY`!Jj#i#L^5H+8n9GQ3z|*NHJcUl#QK};f1!mCJ>xLXf09>!Mf;~cMiVPXa&_ci z#30#IK-m7tLY~<#2@s>%IMTKb)>r;p6}Gm`=fsX#1k&f7JN5WF6u9G zKA=1uF$~#Ha)_R z_sk4>YFmfItEo}m{Ag%dYC}vH3GP+Lps<-S%qE+3XVKdbOYyL5tRU0EyM)?ar$pLP zs&{9a{Vr6+$qs+@ke(1bW-LoX=q_W8d?GR|y0AgMc_BAP_Zjp17j?*e$UA1B9Mn8H zCi&=cxcHx;u|vwaS=wI4KvxO%Z~oUd>&L+oRDXBEEBS6hmQ%UZ!_s5Ij1-oq6rPKs zlNXBJ$InK^3JYK(Hr_%m;8al*=1=-uk=E*Wa75bi-KT#c%-INAil522elcPVAQXa2 z@*sv4T_HhTYWL}=K^Y2(xV%E=A5b_QsaCr~$mfw)0Tq+IJa&+c`sOzZa#+ zD}hp*ApATDl_1i=vb=kJ$@{-=o?Yj1I+q<}FM!{|i&wvz9Dp%+3EWhA+>*EcUjYx* zqIz^9uLMJ#{cTTOlvRp)n21it2BOyxes+H^I)cc4Ay!ugCAWdo7C3QS=-x;5tbD3z z9r9rz1Q^b)b<-zfIbTz2N}sNIVugP~ z6y5oBo|lPC(l$+WFB0sN*Dbsq0wmy09Hz|ihP=`K_W)Y>&oKTi9Nfon z)J^SndVPnQqM_^a1@sU4> zR@Ycuec--1tl<94Q|qo7-)9=%;veE2L3nTbkvlj&;)o@RjIT}s0HFQNxcF)GsOb^fAT<&eQYl3fR_eA=23zV%G$e^pdW3&(#uU1C zz@m_hff#<6Uj%JLkc&(zSbT~*$;K`>>l%ZO=A+_gc+n2sP^T&Zqay0MU9ghLqXuCO z^-KPzdz0bbCjpt+o(0kzPryP6>A4AQyY$ryMUxv~s6tv01__ez=X?z7fDQ#h2s;mz znx+Ip{_GJ7YmhDM@lY~TS{%1P~{jom2H@ec5?Vz z9&}3aC;q?{ysYf^4EYk0kGDc}e?2N9PYth{-+1=O2bJOSf-$RaM(=;E7QGTQsr9^n zrI}B(64(hix}qbx-6}*}92e1luf#&#DuQckTF1xE?DC?T>zBM(RgI*(6~|$cvQ%up zg_-U$u~&bh>V6{|9YXZ^##g@5x-FXS2ls(MbA=m2mOuwxxuR&9R+b2GZ#^|1BL^v9J-*|<^pc)XRfkD`sfs2S4`JQbhd@Lr?^ zh1a&qH-S5tHJ+N@j><76vnJ29r7e!Ew~h(^NJAckE&VzEOSC&U=lb%N3d;2`U3=wK z4#XKl65L)zVtSEFK!S9&b-UlLJa!vG0SSfc!PZH@Pd9Jth)#cEr+Kqm2YW7g#z=pY zUC6=FD~Y+YAn``k;_Y@@6t;saYDkH&Fhp9_Qd3P1fo_WZ&yeD_!jmNB4FeZW@AN3zzOR0dc5oWYvsV{acZH7pV><<9}xlZUSpGiLzc4FqV7Oz7yc)c02?> zxPD?y?&IVa_E3M$y1CdO8u{kbKEUHGtElRN(iCTjH*uV~YMfkRN45eZ;9G=otCDJR zhSgAvVm6Hs?Mw}g5%=f?lhfZyBy$rF=1}NR+=-U^5^}rl=5J3Mr!D;#IApL|m#kUb z>+exD6jAR;(HF-Xkss@MwMdnDic@udNW}+=!wp)(wc>x3Hau;78;6Tpqs3b$iB6we zZu3vSNOZ8qZqTywn}h^|LJh-M7A^O zJNwqq9gu&4D@tP*Ytw-jre2ekO~=;W!`C(tD2}=LLI{@hXAFe+hPjXCToqRabNjMb z%X)>csoNm2X12hvPsw^RK_rd!O$(QCKV2!%E{}8T0xc3nvu~uMZ0-j}q~|gUDD#;! zAV#FJKue#(uq&kT%4<|wB-#gv$a`G4>Zv*yd%J%Or7m|F35mz^K3B1m&JuW@WkioT z7=;{VqO8kC)w;i7;ayUj8q19B1h<-rGkO%C*6RHO;gg@~q!j~i5JyZnji1-i1`UhDreJ(LUERDZlS|b2F?STq2A9<`S%0+>1iH zcUONvBsx>K+}2+k!uJq{QYW0f`iOt@B*xjS!&v{csw_})keP4$0l!=-YT=BZ3NM}V zj&rs&u)^?GfG7N6SJf(69n<#~dq!n5aG-$D@n+#A;w64^)3$k^;ktRRZD7UGx> z4-#MeS=QEY0<}z0BN&inS%G_t+wNY0y-$CLu~oB1p7n(y=da&wKe9Y)x70m{g^u5sJp8x4x7#VXT35LM5b3C*P>~~4(kj*}x^)F=5)B#* zm#%H{TzpGKRZ}a*y5L+XqG;(+Wcd&>TI}HHByckJOYH|+Z&&LMJjW05PhOD>dHH`; zY;hJxnV#uv7DxAd$NbYzo;kV9LpK%d6y3)A%fj6-uN*TqfqspF1K&dX-qV$B!jfbd zFRrN_5IX_3Kr}GiHCfUS3L|ZKXz<@rz&4^L7F?5v1~T@r@Ad-tBJ@yhRgsN-ZUh|_ z2II4fHlF#by}c7vAMau|6115H83uoKX9bs{pZRL2L<;hXdYf_i!Q*=2l&6?f*_1Od zM|))-UmsAZONf*{ak`B2b$#C8WG0B5WI)((`yA!hy}z^j&!E4^YgaaU!yiB3W0_%0 zq;W~tCWHpQj?wUO9SNo!8M=tAVo+B^!Kmr5184E3pSG984K~U&>H^|eCQ5&QoU#s6 zU3=4wiTV|OlQ8eeutB6^?M5UCK<$rUuC!5GDMCz4;T9DPH$_at1Rhdu%_55(Y$PH# zQmtFzEVX7LG@Ng^_9#>`s>yQkU8co_?xe$*f|()Gxytw9=FoG&#r8H{GNyo9PA4Q3 zCU}c5MQs{DAu8hVjEa1JvD$y%)#7bAyA271{(i2KC`-Z@nteG3fU%=Oj85-#2AwFs5?&b{@ukjy2YVqP)&34Zs1P|JU9 z0m&MG2EhO&3or)P0X%H5yk!2C$FVl6i1nE3DCcl)wXG36e3*Z%o6EzbjZ#(# zv2WxiYB(h%$l8i&lVsAmQS&v0vv)vaN-o;8{WK+k#07$Z>+D;1t}GWbRj84HBq>th z1Dp}18c+iv8a$mm-i11~`4F{REYXg$zu>!EuA6D3ZiD2>T1Ui5d83q#gcmGPQ_NSl ztyxm!Ig>to5jImRun&Jz1=k{sQ$V;y1_aV@fs~Y^%qx4ayP>Qa1=Vxs3|036qCfCR zBFHEu*pimIgrhbYfJ97kPX06l29K)tS+iMM!(r}jdEw`UeQ3{05leF=FQ zMcO%(0MUk}i)xKDKk6uZB^zYjxVI1R>2-q;hm|3MIzvlMGN6CV(Ah+n&Ibxc_KtOf zdt-tnP#IUgQW)64$r%)4qb)J*G&Q-x={cTdyRxKd)ATN{5Mg%~+6+66s|TK~mFvvE zl&%?;ZeY)Z%TqDzE@S$Kood+gC=fD4BwU_X%{osg-}w%LDT+F+l?TU(;+WiY7hbLP)XTIf<%%a(9BsRmW>gjtgc~ znDxn@4az>HCZ;~+MZ|_Tz2kW|CcdLb6eok zz3l|IJiaDjh4vlGb$Oquv9|8lUVhD{B;cRD2v&b?k(DJvM<}DYk>SD6s*FtZvRJdR zRgNBwP`^|ERT~qbsmgDvtjv~wp2H>Aslo=O(H9lJ=iT>rq~xO3oL|G{nIT5&c{~t~ zZKT5&`1Ci4z~@`14xDjRww&h5IPkv>$6J($z4eIf$wC(nTmcibx(KY+UF=txJ%_Ui z-dBHwX8ayl*6_LhJa%52826G@y25a!5C8SKFisn(&lF&nz*i_mnjH3+b9rE1&T)Db zYt%UB>TdbiE&ori(DDOVWJp8OL>CIQQuSpPo9zTLrcL(iq5_U-Vx6@2y#FmTGsJ z4U}FlkO(?H1vajWdD<*POsfNuWdqOAa7!mOA`!IlbY@qYQB;A66>2Tkmsu8?D99a; z-bw-jhg#UbSqLGiLuLWws33R!j0WbpGuhlQP($NUjQHK_qG(rs5t7zsM!~ur_SSzh z_#8ghRKM%c(2Bj4J4^LW!Vo!;mJ z=QBIJ>js+lH&wDcDx3(eglm3;d4&YOK(Gp)Y&`{XtkZ1PV&h@xyYADK_uo~?#xP2T zn5f+L+dT?CtCf%HU^M3+>_1y)&qIIMV|q!HC#fPAD{wom+FnLyAK1OOKNZKGHsd#! zr8X?TQzn~o*$2p%KZH~L3H-^1o}GfHu~$0Qu}`W6&dLAx6bP&+ozpFmM%=% z<79v(+daHgg_?0vv{kfxcBcbtyr4ckR!_+NTr=W|c{*Hjrd)2AO`D(E(fm=3%6^; zDc`kt@m#4__J$|Zamw^okp9U_9qtiDGG?=$u+um+CSzxah2RZNL!4lk9Yh~8{e}xd zd^T=zqbZb7d42`Q!vuSoSGHz$Q`bkErom0MSDC9#!QxSon%gDE+An_=vPqrPn`0bi zr;rI#$MEoD>LnuIn4M?tJ}1;jC~|+FeSZ136_&Wo2Vi--yOG5oOoK;R7{52XFvfO7 zZLP_H5<@Y{NA_@{Ft?Xraq7<;SnC>#wXyv&u0Kpuiao%&Nvkw!I3Q{g}oJ|yBDbIHk!RC)1dWh zu7-1U#c5M{r;DE4k6Mkc&3g>BF*C&&!s1PP6J6{vTvxKtzZid7P7nEGTT=tpiA`8* zO}$AOJSBPixEK=DaMFvRu_nJn!87F{l(*VqR~OJA_ThX$FKm_sj8O&)YQk+I*|h%;R{YNv--1` zii-KEqFUIzR~m+_I56Cr{fS=$1#a7b(_Iy>tsmba6GInJ2oHDk`AQ)&(;fPlFiVx> zYr$^AM1*G36^llwFid@N8?F=o`hp@ULM4OEl&(y7MznvpsOxiuR1zS_gJ{SAVy0xX zn~Fe{D(vh6sblI_xir@=oS^T{NiAw;pIxqSb5FA>E3xE%CS6yK%4&`P9>=8ujzWv0 z{RfKra=QPd2wZwg%n%7X=`l8wpoPQ&Hd*^4Ed3f!Y_^KQC#^9io)dqbIK3!Wgtk`-kyXT6I1d;GH%Z8m zy6mkIS5*b$?(BTf^I_2$EH#gg)U}rYh9)brIq$zY-3x@&Q-euUQFNwJEn6mC0cW6) ziMdDW6nj#xojPW}+dj?96Y$8&0BFl7D6x_O1xP@k?|M?pv;}C7n{)1IG*vF<;+=HR zM2de!G@k%AMA$us$2MSXfPxU{2=A#3PnTKP=)uJ1;cu4XcVg!-NURM3VczxW7WXl( z0EVdN3@q9D>&aS@9apXiFfRrwDUe1>82p_&*Sh^PFTKWDbPHELG_w?DUL{$eL3zjj zpL0+zixJXGMjiK72xc@9o#jlBR7F+cF4TYf=Rcu{dJQ=N&NUh$XtgVQV6CxGvxchCnR0O1K*o9y{vvf; z#$GUd@VY(lJ?*|u0Hs9F{N2!@Sf!dQ8SeEz&nW9#W3^5ZvvbaT9jwEb1=iDbh;e`3 z-wK+i9T|h5e6VKF5X0nmS}fb(Ok26z(h@CxU&ol7ddWIfnLU!8G1F3kR{-@@OLDKx zHe%0B`4P%()lCyrhBYo<3|H>d)ehrS5 zH$W~R%<>LO>gzO_;H~+mlO9gRDn<8;o^!e$l;|9fYs8#K_p*R&b%lcAmqmZ!IbkA1 zA*RqQ{c5cC+@FNF;2+KVJ0eEebL*iR6_1s?jkA?9Q;7XShSZ?ii=L;e^)ztuF(xJu$^jDDUjOJ61Wp{% z(BqQ*%76kUb}4;CW{YE}J{Y(I`&pEAy zRz%dQNd!>TEA~uXDqlvzaXapu>5C%H6p*)l=&~baY^N#zew=2?A7Ovk6`dIoV9-3W z{cN0ZDU(Fwg8y$?p`%8duU?(>!Lzd~9o@yn=H7#9uzu}AHA!{5^o9KE6ks_+z9hG@G~3rE-6@h$XJez*;5xE4Aw& zUM@uPB_ZkYF^0t#(NE{6O%LMj3$GhBjot)b3z6d?*t4qLn~(7H(Ijnb*9!n?K$gE) z+!F-+Z@|sFe2Lwaz>7GF#Pb_{N0ZW*2|Y?a(63Pf7SG#CTOoX;dK&EP2!ke}tE9#n z@fw*ag#G|ZF!F=IjMk-pg=CIL(2BeNa?qj(1xY{u=k{s!@KqT~uHuK5* zzKmaZZWDuipV5B#5RpPPu@GFHf4%{W9&UY>!kDM2+1d%nZ7(0{*F`c2_zqXOWVJ;^J46&;p zaMLbh*R~3@`yHAg2cM|~rcO}Mn4<~T*VOBVI%nMVKo6x3-kvmyBDl2vX2D?Mc(nB5 z8P@1C1$@`ShYm(*h|R3h*|Rs%wwnIKB@V$-#ICA?A&#bhh`IYM0pwnPS#{ zZtTg}!Z_z7EX@uR*aPUzz)Yj9iJ1y=a|4VV`x#_LPmK5z248`|;|R)zDf zej*Nm?*qtxIfZnGx_ukJi`@KWN46Uq{eEIP+b#Z~v6}qUN>q*d6(vJ@1Jxqx&Sppo zC@lQn*t_Q#&w{s6@NK($+P0=`+s3qQP209@+qP}n?rGcKcHjBkyxHt-c9YGUP4;dw z$@%pCrK-KekX_!(MxT8u|`)JvkTJeCNvLX~UXwXjF5d zV;b|}JZO(;vtcG2*L5F_AzTnMF5tQoa$DDWEu=J4$cMAx@C4KbLCVN(m>&CxtjmpY z)k3si1cwg~_Kq{0Ll$ajoC1%O+jMGtbKK8Y`ah&mfzH+TxPSE_xPpZWR5rt|r8mmvP zj}e4c>(3Xaq%lg$e)D{rf8nhGhmH-{xB{i>+3 z5`x9yYx#w$t^`_ZAx~uFNRfR)lXY=ccRwcX@a;sy6op=>4FMT&Cp>lVYT+e+A873m zv<^aO6b!;9e<)0`Y{BJxjSy@|B4D@*KNzGJpBgu73}hfNVB(zS)>EaMKqpT^X(aG} zSoPQwudD!aB#b;2Yi3+;X{+K+EV=8VLl+}nj<3PmtT;4%&aEk;Pr~3p&orjol7s8g z6`z!Wu+m2N08!=FNWglUB>ZQMcnjJ>Lj&%7MN~-={$ZIAIO&5JV>c(jH+{u>AcP7s_$FQ-0FBnO z(e$)8px_nICPa$MKfG^iORMY5PtaWB;6vAGS$YjL6id@JMGTLvZPBnztAf6Nhw2}4 z-|*l80gn0!WFa%{$^-Fv?gVts(1!HK_7P*M2dTqr)_ z-hi=@n^2H)-h){EZUTp##aes=oYi__q>fw$@YS!T&zUp%$FJMJr7IsT3sT87O>fVj zS|Ztzz`6#`DQRo}zURCU3-JGc+MpAo|I`p`-IY-BjreM;V{rl9^<3APlJ^Glx*v>L zArzwZ8!4M4KtMduuLpxX$SR6I>D3w&z)L#$iYT|*>6<$}f%44zGqUFSMes0m`JJ!v zfozy6{vC>uZw~yyz%+(4-zA70Od`s0;E(ZwRN>xqu%TSld2Ht7wdtvUia3*qCx)@| zN!r=s8$DbPF#JFi4d5h7OPmaxvVV*b<^=29QQ+7+Yb|d7doPC^GSuc-f(?_AmL1=!Chs`5ljvG=)7gG)# zv}rW28{yEp=y3{<4@?0>S((7d`|k6_8y=oU!gIUX^kzz}d@^}|=na(kkVl_jz_}Hf z$1K?N)yxy5g9Nt~B}3@+L?QJAo2#!JoTP8)<=gc4OKH4tWQ8~~d-wA7=I!cI`}wXk zH3b?NsXJ8e@1ag?gFT2Du%}nEQZOA@@(?#%sT1O6>G*kq!2C&p5Xc3%(nJTWDEY1a zSB&j2I()_6s5+m2!fk#RZg}7I-q58!8w!0`Pw3zHtL{G(k93{(HfP*8$G8->qN2XR zL=yEQ2$8{JozS7Sxv){9t_V4tY?_?(vq#K&{p)W|#_h+a61V3myT+wZD$}NjU<{rCXDaDOF3=1*1B$nZU`+Wo+)(6a3K`*>) zv<6Nb^x|E%jgSv(0iT`q$t|nZTO_~xhCz;BztBR@9(iZu!{v=5l)2|l^oxwE`!Io+ zZMrlxNg-|IM{8cNvxEVz5Tp@IdzbEQvcGyjCt3r4$P!G@A!}LHY-TMNskHtl_ix0r zuP1}u)$hI$h()H=%;fvg&o&<*)T80kcM_*A3&Q?=n#RXbz34Xs>(i4H)VI86_hWtG zFCeQ_xL4@VuV8auZY~r-4yTXVAK*Xxx9GjJw{wtv?M|jK1<#)`Y%CTRx!4{kUhF(* zI7o1 ztfr_J3BY#NJ(6-Zxeaa_l-U4~`bEp)@?9o>r}uTi#Nvs=$NLH-M1Vjqpxv)#wYPdG zEsL+a104;c zZ^M_Kqs@B{YPUO8sOH7FVQw4O?fOk7OtR|14*kT-|2uTH^JnZlc6l16w!k@Lo)@iu zgVjZtkoyag7TtT^_s(jMR0ewC@-R*DfvxFV$9GAIYeR(`8CnF69G4&`-)Xu;s;i#- zu9%8xkN;1WdGqKcAOPkNuqG3UCqa)+Np0J&8E?q9HM2YES(j!9L7($dOMW0W!u;4F z507O41i9^t=k9^g?_HfzTaG87D(rTviUVmcN zJf=?Dzp0PX=`Gw3XwcYrs4vxpp6Ab#9z04vmp%Z4Vz~*K zzP-8^0{gTe1Y*1xf?{jb5b^tGJu&q?Bn$h!is{PESzv0e^ z9p)2~>ID&;7-aox!#r!;HII9~L|j>L3{QlZx7?V!tey-!6B_SON4dPo`(`h30`Y^Z z_n1n}3(T^#%N`DeYIl}`$zu9uc=cmJ`7_1VLaWaJYbzEvPaxiA3|1$9QU`3vNY6!B zZP1W=Sg&1Wle#$wA@efj``0L+I511R8!1Q72b5M79TT8;Ao+k1nWJCis z0N=D4QrmGZpU9?XL~+R87yiSo2Va;2fibz1EcB7tFeEj`M73R`gn7@c_#2c4u5;{H zu`(`DX0^e?Vtv}VNjzYG{6eafDD?(j`)@*fSB$%Jex&8zaO2Pi^K{a0UXrw9vCH}D zS10R)54)H`KZwZkB#g_c7XnT=I`x5rZQCUhJzujpCL&BB2CG!kyL6%e(n7wRwgWZ` zUhr(*zz_3dsH+dNE8sIf1qhTn`vCjs$>HVdM}Xir19id;RgAQMNQ`az<@qm}3lqXj z0rp&oY18^YC%bah&uxoPHyc5(^jji;9&8@){kyJoug5}y;deB~XIdbwo!h7;{Pvj= zPc~6uoQE72Yg#otIQzig^hCLl2OtiQ`>PH2-IIzINM!PcXsV*we%OcVj%eVu5^O@0 zdQheaP9$|$Y18?CnGAQ&D%k{xPo;WBHo%L#O)&#II!ZgOsI7rzk0Duc5*SvTBvD}2 z21BBf_TyDPf38XtSWs5)CCoA7IDZJZV^=JSZOuQJJcYZ?W%Y{8|B$ViEh9&I1k3N| zrXB||9Dz!P^^?@cHFofW9;$)l?zzN??V5Zuov(m|7Y%8D^}?@4O0JzGGmGM-u|_ij zs+^U}sKY+xizx9_+y&8t+{Kir1Mh*)XBNPqX0AJmu6vpm6L0BSUd6a}fFyVga7n2} zHIfGek?Ws7teN5!v6N*514o!6$yi+5GdDSlGYBLIRDNpeRO=LLca=~oaBv$#Z2iLMc|8Pka zUnF;-hAg9h3Br!$F&QL$7z;zx1h>Hn6J$bF zYzu{rl2gteqh2tM(h(M=4H+Fl=}wMq0J2~T$Ye}D_;RDXgD#;^hRr>{pEh=w!D$ho z+Lg;FiB0qwq2)hDs`t-qdudfd^0$Su14)Gw_}HupgTbv0K*GiPe?2VFDDIeL1vbHc zLL6{^W3G~y|N0u&{q$_LY`BXo0Inh&A=(f$3>Ena=M3U``bte5oEY6alqQmMA6%dE zc2qG0y-+h7yizmi&t2g4Gc{`~n@s3{`1cKk?zXn62mar)0~P$kTFv z?l|veUslbXBQ*pKFUq#~d1e_EoRTh5J$zzP$}qa=@YB6}>uUF@8-ly0Q_MV|WmsvFF(O;J9m0jDdLh=18>G#;1`*p=xC z9tEiqk4ZsP0G`hg-u}HSfDDzQc%Dod-(5*+*sPeLOJ8c!C9`PhlK+{a^>tgXoqDoD zf@(l4B@UYjz73&ls?Ioe*k`;l_y|TAQKA)_G6G}!?Ii;H}K`FjUXn6y-~HS5}yCmuRJk~ zK;2tdwFJzo5hu$_S#0MTU3uYu2VaWFRgQ{ehDUk_Y{TVqqjczHpen@J^5&fUDWVT87*er5@w&%Ym?lVMOi@Gb$!X90JF*sopY?( zE=sZ$77j5l)^L0E{S4#(7~}O>b){x%LYUz1kS{kVz3w8x-Uh_p`G+GGL5lMoa`{XY z<9YRl-#peG5w~2}T|p?`X~;N3Xsw404K_-AJh=Jjl4=rpn+98d_X>NE9Gov2JRuAH zVaUI*-$q+~Fi)cGh7tm1Bx67||0086xiFx11pKIZS+jM1Qu~%Lr4ymv#8+U3fA+A; zwG>f)+Ksf_ud%Lwo;-_>cYX8Gbg`g_RhT!N5Y=WJX2Dq-(6ufPp_0{4P#hvP5@Le@ zZouE*5-`UncVhN`;wHH$YU5L&;k!S8l7wblW|ejoefK^XxB5z3^=*MyT+JBw1&6(> z%)=Y8*YO@Q#C#}OGtZVLE0?AjwSp1nVf3;aZ7Z@-zFpSQn%rUrC**HNfTh$&O-tCt_Q zje)4fe{^09D54Rzb?MGmlx6nn6|bW*WYrTCfv9In>xC%t63C`7j@biyVlC3_(yKUA z({n<|jxKwf=`$Cza#bw#Ivet1Pg8nv(YE&G#zx3>x;m`Z=zfD(rRyesk5gQ8jVX2gDW^^vfZE!DJEVsU= zzT|W>EKQ5;G9_}9mq)})a4St551-3ff8$449qDaKuT@7G*rnx>VHuDjF1SQId#qkEuoCAXT$q=evM(V{ps z81MlG!WdL;)ia64bslY@3sp18U;d5OAt*u25Hg~n zZAG+gUUqiZ)yt#xPXkPNwF~ErY4qq{R)5}7<$42*u-$UR>(_+KRVv`%;ivzW@@2kS zv!56&^kqSHgaf2Bp*PZ`2N#C~ve|+xWM^V>)S}t^obScw>+5cQJ3^{TTUCQXC@Bkn zyXazn047`vRgEMWMD}CgiBUF@BSu4~I*E3XcD=>fh%fhh=y7UF8&h=l5+CP1#Q;-& zy+tQ-;PwjGcpbgOqM@zL$(bOYsAbwF9Q z;Sdp%Wxf`?Qw^l^pnU=_q-3%X8MHlrZvH}2-VY>k;9)H~Iqi?7fq?;AoR~};T)g2%oAcUiqH0>@jz@?a&5kI= z-hi0QAu$oOC1{(#mHfgW_MPA@PpH)gI~$zQ7C`}A(IqR^0!rgzC4-|07)3OHL(Gw@ z##A#~R~^8<|Cc}g^=2zTanwGb1}Gyd<85p_arV2LB`V+0J|N31r2T#WbxszO z9N8vpGIk^gYK{a#MWzH3WFg#xK?|8q9fy(x!~)`vgjE8k`K(JNnm{Qd-C$+z*Pri+ zwc8r|?S4*$j*cGoCvDQvkyi(rlSm{BravD)v~XbLiKotnL6)rw6@-dZ9igBh3UH_< z0qI&8i%Wse9rk?hSI`ZAVnb;7=Y9PG?&MAN9dK>%Rg#&O<%K%8mQvjT9(K8ovdxCS z2x3vC2P8yTGzG`}v&n*pUS}w?!w-K$+UZgad6hua(+6kh&6}Mf6S&>v)Wz-Cq5Zlp z3!(_ge7jyiDBvsx*6LucnEZezq-yy zh8KLHVz5hCM2rG|>ME2g3uSR;M0YxOD{N4b7`n*K#|^=r(63LHD0jJJ9n4bn)V8nmlhz^B+e5>On#C6uc$a)|)8dIOxE)QNIF_}iv^mFx*SDRgKCNKIIB z4Gl^bPT+AT?eP}aq#>ePx{}*7h*~L5o?i?GFf-``g{NWG19DwCEb=M%^^%Ucwd)jUnO zXPk?vrs3AknO4>l(~`-W41V9|tf+bOLxE&}OhYK*{(0ZgtXMKs<58hRGhGxzHPLD+ z3YJq=xJvH+^T*zvLXXsF6)D2^g_|Y+N&Tlm}k= z^P7wB-Z#tO3Ut~w(E&n%QG4_b|($v2n&FUm(WcYV$x%}0ebT*M{L;7#g(gO@jMiqWQ~XBh3jcq|f#i&Y8>Np_Viq|ijSfs;z8 zQcQTXsFQVxBh;xL?FG|Gqq(?bnW;#kt1d{$($GgPkC*O(tb`Uw?ebd1k#0JOAYRSysM+u#St>f zNh=z?0@ygt@z3|CEWyO1OW4_HYmzJx00g!lL6v(tj55>2dK2YLcaCYFADGJ?<;8zp>7vQ+*kxIHOjcg$2nKnvx z>rzA%ylT&Umo6XCfMM&-A~M*!0}ETB5yGJwU~XblYT!ugrjNeQsNMPAUR{O_yR=Fu zF0ydCUgIh!+A2{VYG`X4T031v3e~kWDCPgERIFU?5P`9m!5tNUQ4G3y*R#X*R1zhM z(i=roJ6BO#Wg3JBwOC*0+eooaz7Wnh;Q5q=(RwN{_U^tgyioF?+3cztdsYbp4f{HG??Jx{r!D<$-L6F$%z_!-L$NJpr$yeK`;aD zLT_O$YKx|m!k>_T+olqO3~pabR0kXf$C012?E%0SdULE-hMPGYaxi9yv8hK! zs@@l4D*=B@TmmHw1q9?|E{0GOw1uNf{L!PB@4E9A4d~~8r*D38!QT7nXXxwBp-BLt zh(x%Mv2}_w8BtaWxC3ngl9upWT20E zYz7JOMvsTNJLu1SeXK&7o|ZYv0`HU%cgZdE$3GTz>y}1J^X?bK z%^k~~POsS0NN3mqrlQUywf3k5Ea=}M_$PGs%TI_;yj{Cw-I_S)L%RAYm=Nm4WOPQ# zZnERp2^Vsag`l#g+MCsy4HFZ$$mLc{j;^MlhSnH=-dKMl`UjYKvcucsB<$F*sQ?7KWTwzmG+h0e=~Cb|2{)D z%l|Gz_J3Ljq|@lG-pn`76gRcFC7&=A66KDG^9^U87v_gNRE_`1g}JBnI8>K+Zxe=$K`b0>bU)$ z)!qAfb<;xkb$8`xidkl3(eFEx*tI_1Q}xMr;k{#~!?!lV)>0pBV{L@9xi;eH_cG9F z&T9vm{GH0*`vLEY+3x0ifnMl7{pNA6)2Qfm9x`anvn??CP1mKV`mqateX*RYoP%+Y z&OcxW1};oR9K?F<2^;|?~vLA4Gg z4EN1_z*mUrXpQ}GO((u;E+i?(=&u?fKTrmJh&JQ&vc@-K#;9*1*+u$VUi|FWTThMl z%+lJelbw;8*KO_HjQfIQipN2EPyTUb6wU8}fs2d>weLch%^y{NV7N2KZNwmW`!WGE zC{8Ky2#yElWB2L6N>nvp>sIAAUPOETjd_q9sDG@1g@}t{<5aWML^=AN`<*0L3TbB- zC}eYTrbEVkMNhZ@*WaLD@AstNXVWs%SI05OPPZxP=_9N@Rtpt%U-a9_jyKwE)sA0~ zP}SR7*|j%YfbfZbt!8$E0f%4g2KNr8k$hYi`HN{hl3^?Fv^kgzou$)T{W$T0I9dHi zR;NzziSR(7D)>Tg614%hnG(LZL5OVN<$}O1eM5|rOT6emfA0A1tDod9W)&^#tIa{# zRy9}D-qIuoqF#CAo!fN1!MX8S*j^cBf}%~E85!ZfIL2VYfPx@}P?nA^ z5)a7q0&Ts2>>}spJhziws|VXDNA8$uugngTrD$E`X3rArksH21zt1w7A!m zWXS@lWkgw|%mU6P^2T{F_{5{h&HZ|eS*@W1E_3aFt#6*JRolf0Qk9n=Fm{WN`#E8U zoi%KLG=l^nP7s{9?4dzg*^6+NX^HuXvS2<|ms|Iz!o8xJP0%^&e2sLvoGQw{Uo({_ z#t(O&si@9RSfZ8%jkJt44!c;YY~~BQ_AUU zfpMyF_#B}yxQU*o<*lAhv-n0&hr~~J_|5hBf`#E2O>sWpL^M$CR5ZXVQRouzHGS!5 zW++wT_FTeJ(Q~giUti9P00Pq|NqMdJ0%Cf9eN3b15oWA~%9O?fsf!;>KxZVzezzGc z8;(sIyfe5uCEbl7jVZ*dP{61UuuHD^0&cPbI))4gSwy(C^^JUjO->OzyoJk#s3s9L9!+W$+<*ez+ia3(2k##sTG4~%>zcAFR>o<~7Eg!d@ zYM=PZcRr+CrT5lxqFXSl8G}dA!Ar(}>P2IiIXSdEf)$|l{U76f5KgJ?xrjH$Y86ny45BmUWxvw(e4GSzFB#*rMws2g@v&~ogo$A4r(-#*;v7? zU}iaUoYc+a2d(8hKi{0g(>qj-3-qEFW{PSm7=w#y<~0ToPcn`qEyoik3rR44RwSum zhgAet_*W#Q#I^~=dCv`Kx z3DHdyNcour^72SR`+5HR`r^dPDy_bEY*;(L-!c#l{YWwhh)PhK$;z;iK8W(lg&8ot zj&Wab+45F)IoObqDl=pb_hSVsGsm#2`qb5k?UzvLgj(lg_{BVQLK0GVau2f zQ`KhGQWz!-ulDF6qk$3b$H?#vx7J1zR={-}VhSgq8&GpEKPbuDi3zz$e5U8iJb)q>m5+O{OG!%s{pm@Hrz91z|)FPox-djB} zCjHf~0N3dxhexE#2TVSK=p6(@j~zZe8H_4hO*a-wg)w6c_nu)KSD2VJqxlsMYZkfN zan`-{1kgJ|(^`BIw%a9sPSu@Y*BO8XJIDhiML&zqm}_64RG|`oBmxhReRbD@y#w4_ z45w6e)d{NC?y1oj2jX|bQrNi%VT4E=0b`ejo_hIFIgn<2iH%H9pDxW`bly07Ubp(b z2I98!xIU?v#lH7Mdq3&+1RR=?9#EeMKnJ2lWnCLG(uKHc+*nUc>0VYN+y7v@yRf0I z&JLP}m_K)4k>d@2mt((87EVa9idjK(_m^Yhs*Eupmf<;!^}WLXx(Yq2{;CCCKFKBQ zc>?Dt`bmFRq>eO@U$niUnY=I67zaXh7`8;NOlQvpdK%fnS5cxsL~T8vmPG`mfA^w6 zhs!M-PwqC67a8CbXW%G{n`vwlh?ujo^|}{7Z}@Bt1?+Wy4TZzsn@f)~?VN+;ndK+} zr{u4KvX83-6@)|rnOaFx)(mHno!dkXR^?sEZdc|@`Mv7wVb<3$i8b!V^eT=sf{weY^XQ=rsuitRW_)q% z3KdZcf>T(3UXv-Lkc6=UI4wquPi%7|M%gbVFFoQQ;LK=Zaeeb9-2B`|C!aB~RfSs4 z00F~jb7@)mLnIkx#hd8~671|sb`wpHTnFXPLR7zmjYDHD9@amySbnGi$j~F`- zgPvv=egIlJmE(n_DU5b8&RY=C9E~9AGByyIe1AA1G;-;=VPfhsB(@DGRr=U%Atj5b zM!Rk2rVTTWyHhOu_X*_VXPNmN9B~g6D>$ynu>&}H^>fyRWY(VY=FcsLW7}N1aWff8 zdWJ}Uj4CYt6_fJ_5G}OFRo4EwxZ=H6=<4t|%SHhx!6iHt8{?)8>86uSuxRL@3PKT} z0W)h;|BDQwQ3Bq{@=>)@I?+pQ^S$@Kor~lgiWV+5FrH3b>$$GC;7#t%XEfgJ#Xf?1 zpypIy7D-BUW|q|pv>gL(WInr;mS*z@9N0a7VZmBnKRUm0&FJV6Ta<|q4t@gX>M2W< zdiXE~yV^yfE8gxr+<7KDEUbfSP+~DwB*oZk?-=p6nBO<#Z}~!cTw)Fv%`Dld^o}uv z_=X8tGbdlmWV#;L}$+H>R0)sQLU9M{ep(I4(`dLEX@Z=2Nmp<=< zhDWDAZCgB2wQb83_esiBzFGg;`$=$rqPw><7<%jT7JQ)4eK2+q)vpOzN2(~c6yE;! z=C0Y;i7aII=8JDshs?ZF!`MqtDi7;X$=JONbtGwBGJX(6>#R=GLt3(RM({+v_J>n| z+7$sAu%$G zFSn<6@u-Pl4mzmw`-!0B0hPk(Mexz=`2piIh%2Xic_T{bB=@X3vzxnQSh}$+GOnp@NBKwz{>qGh8PwnF%)66r^?0L5b;7QBUwnZ?WUa`9!~elBlt&u20ZHCQ4@hG;>rf4wcQuWoLg#+zj=rdws?U1A{Rceh%9@B2ai<>(vO z&1;{q?~sURhDG)Q_X`EB@85>MYjw48&d3~a+(+;qojxaS{wI#&NB*FXF$7!SXP)~% z9-AWYFO~T}|NQg+M@$|6{PWL0|NQgM|4JmT{`u#hfByOBpMU=O=bwN6`RAYiE1JFk z{PWL0|NQgMKmYu%#8%{gpZ_-nbOHhW-|m$X_>cd&SE|Coeg_B$_VqtolH4|~GOVJq zmfc5vPr6#$FQ;ZMFFjUMSx49)WTK!`F)LB*%|U>}Lz0@Llqd-`my$|E$}<+&Y>F1d zk}C+wq(ll@;&4c*sGz}=e(x_pNHC`AGmNZRb+x#51G2L>J^AH-`J?h93Z$Mr%v>!T z_@*iWgIS!jH=nuR4_PO8FHbK|95qCFho_60s(`AL{ci^!GT<~B za+>`umyhu+!=E!XU+gi$*oa6| zF7&ZK^|`@$fSH{)3fdg4Dzw0#1dUXB5_=s#LQ?7>Z&`+xMS%qtF#DQ*oeDhtgat3F zxiqc9=IF3xJiwr7g}^CJY-g25$op!B?WpR>xnh9X?_W%R00p>oVJf{`jIV{IVp;oq z3VTQbw|yo@K1TR6EAUmk-lOYy9}nU|>StVxahyiAV%sFA!U?<$%5rZhvwxH1{8DE# z#*=3Kes~z4*=;W?1iLTx=|W15Pu5(BF~P^_>w2@LUU!$*C97^&=_%dn%g=is-%u-W z-n7lTNuu3w*{iam%QJ~TV(|piT`5<6__nf$UR{%EtdCO$QT>;d*Ux0=g zf#3V2pCHCB^+9s8QYh?uE>^2&>gjyT6h|M>Lij_%FzIJlv1EYu&*qso1n-OMJg@V( z?D45HU)o$SfE%q$&&zQw7$)X&KFxHeOx#5<7;Vx7&D66iRbgptQ|Wf zyn-=*!6bnt(&&z`L-rfCWV}`voA$#eaF@Pl^)nc2L~RU{#nw~uwTHXVVyCN|n|IU? z7Z!Yi0bBoEfjPoza*-WYJ^d&6Ra&=OATYD?uF5ekeGT)~ow=?Dlx|XuJg3i#S;)la z-OP5N1Z<^ja@m>Ja!u#upY5zTG8E{=P95QY3lq;Rljw>$t{rUE{$!P)3n>r!Tvj8{ zLgwbD?JwNxJ;{=##^v|HzzyzosJAd>H49S3pN%PS0!N9R;zD;$2|FPfKb8-rY8a%;Ku`hJIcrXUEQ%__+I zAIOvjAnLs(6v776P^tDU39Rd9#KjbNu4ex>+qy`pAxYvuRca(+b}Lc_s#-t!Jzv}d z*dryBRlrUH->0MGRPVm{qV+g9cT5$31Fq-G5-SFEvfb$1>y91e)07}+dui;5`^4@3 z5vI#+3gze0KP7Mht>WvFY!kDE%J1?7iP23`WXMdizB5Wyv(u~Z-Akam6I|}=cihjf zRw=(Z(;*wj1A8~$@*x@{IT&b1z#+RdG2r2OTKqo6d$LO;H;YkCL%>-sB$KUw;O+9B ztfrazeI-3Zb%KyHkPs)M#UX9RrM{ zP~k1B%z(dynpPz&EGw1d8!zD_WXTKqYGAmiqPVEW&WlQ01`_jB?m}Iv;LTn38OvpP zJlufGHAhb~qYbVMTH)aabVp5pUHEPx_k@%VG8_>Zp-r1OXpy3-=HizHxsIj{%nPg- z=(6;S+Yb5gCwN#B)*4$HSO=?dXFf8Z+{24XmTp)cwLl+)%sG!puQN|HPKBzrf=MTr z#CCdY%<6#g`8Eh?%+7av7CcwhDsBN6xEK7-hJv1kWiCM4+ zf^AjhsTrl7nM!F#f~#9+b+qL)A#!F)h|X_<+D^4|E?i3=kC_|IaB5Q!=T$EqCQr#? z*F12-+)jrQ6AI-PG?PI)m_DpFo*WZ*>IDko=0|c;?#Zn}q7qqYRSst*I=M=f%KX0K z_w|!hxq0OI^?F5G`@qD1w9gp!sf)8ce4OAE6mel(3n8mtQ(&^ooUL~Yy~AaJg4A3J z$Rq@RkeFY2G3jDCsVu;v9s-{MxR&znx!mhU;m*i4E%Dh89N1yi|cHYCC?DKh#RkrdDd^*nn@wq|=BfcpQQ} zYE00eJ@fah6vp-SYhdZlr8)ZPP?@*YX7tR&)XA2t)~|9y0x|ObDB@~P(g>u)7GC7Q z7C5d%(PiQS_7P}*@^0JoEv)ak_d9}1og@}F?WYC6*HC?nw&COPu2ifRJb#B*=GFAh zQBIEm==P5x8DWm#JFPSpK@kNMLybI3s{NjFk3GPb=utvSdA;AYa2kM zN4f1_^xJ03u{In)kfz!XCgra0PFcOl>Q`hQuDFaoZ^s*dQT1S}8@9&{0@P}k!+0E| zXME`Db+pd1aVvjzi-Z*L+-I*Kl}{=J&UmICJy-QD^-2QRZhtZJ|AXnM*E7Hr@5?4+ zuZx<*<~uHPs#X>g08y+XpkM(O9o9DQJf@yZPdjaJ>NX+e+aXQy^pIpRRq30$`;|J) zLdi!ZPNA58K)fMJ6(|K?f}U7%RO&1?@`!0q-T9AM4swQ_}se3U?4*x*&v!vIK?7MmAFOX{iF1AXi@4 zW>nzy?r}Wa1q@@MxYADp726~=C>R7tKF~kv0_Mhl8X)qTd;J5%)~9=3+BdgeF;JPv zec)1}M*{lvQ94PY*MhK#WN0M}h)i5(l$^>=wS?SP;KeMbr0`?qa-t-FJ*SnastA z$?`gXbh{s?q05c47+hD)*m;%g58|?)$ z-_oZp`S5Jy2Gh65cc!omZ-$*T!c;?qBIIK7#Cq&Wj6PS>O22L`R5!XX#-qco`9zo+ z)f9PzzE?CB8|fMvz+Z!RQBT5>H$o+F$btob4b9Y>xSNcDl9UYV7M(sMXqjhOMbgnS ze|E%9Rwe&dJkkuKB9;TsV&Xt(D1aKKu0S?P_j&p}%Pj0Q&|J?AKYdSj0i3>B7tv2) zHy@;;iai7HErS5s9OMR9)&)q3nx0a*K0O^yKr1=9AXG>|tooQQ{g*bGY8sC1nGI%t zwjW8`t!$9LI|D13^`8Q25@qCPf_8z*)0!CheiaVK; z*gyhYKfXD(nA??y8JV=m_$+(2Ki^}gxt+_cZ+;I1An(czjraCk0zZ16OD4*Ue=1oK zFLU(iI`2x#rd{AAu<#pzxK6bN=bIn`^}US4n$AG(PN|vF zoo!++0AfI$zcjz$J@kD+N{z;Fr>tw!{3lxYe{jme|2cB_asNLf2jHs=@FX44mb%^w z615K7PVo*@C}h(9Z8A6%LFTcx&Q2T#zP3$fYi&%gvB7O3q=GBD)fkm!-;!UYe`@r` zO}V!|d=2HEmCjaII;HN3?El;K`u(H-n~3julpimyww$v@Xw1yd_sF*I^E6QY&ez|| z^&}lNTK1%D!rBVA+{@)*1isJv1r&1INCHgFJOgLPQ?Ce9|_D~|Lx4xg%@@rJc!ZbWqk6F}=iIqcNE>fZ<2ttKlJ zlZsFy>WrF&z>2gl;%*MRQEHCMP=@<&+N`kbwj92dsy;AV)kcL~ijti>e-?ih#?$NI z{8agnlc9vzel0I=Yljt_pWtX&;GO!``B+~ncY(04A4W^9+oxh2U^YR3icuxS%#UM> z8dPXg7wej*N3-*-jCNb8*#?EF?fu@mWwI4n0l5532<o) z^k!vWa`0OhlKqv?mp(n#w~t-wDo5GULNim0%;YyMWhd6GGR(bFSikX2G0HKceq4I! z!MXBAGg}^-=5QGyDP1zu11j36I919dPi=>&F!}pD$@7|xqB`wveF8*4h8 zFY^uW!<=?`7xj~nZbdHmxa%*YPA@#g)!fK_{|a8km*`b7FI)M5H=$d?IErR`*Mpi+EzIZszOk z7=ONB4!#T`{tx2bAzBz7Y!bY-ZQHhO+qP}nwvG4Nwr$(Cf7RdLJ&QTB?9HsQds3AL zC#gkhX=5eS#-haQ6$h)jTI0AqzBLZUS4hY4Ew~#G7~i+9i3Eaglab4@b%6`D6ArAp zL=>7qYRKeap#g}|lY|>?(Rttnp%$14F;MrZ_b(ey{THA;yf5gj#vWgzb{uy}8*c8p zx+Wi$1gb(Qe=_W#64QR);D6U=+*d6`i3{L&trCcog1naT1k%5ju%U;b-i6ywq#RFawcDX zBnWi8DhGDT$sB#;WWK_D8 z_(|`Q*;lpYD{h$;F(vBV`BY(HAqJCDd&r6s!^034`|sV`hq7YYWZZ;0qD2h#F$D^A zv}Hg(=7i*nW06aM%sS;?EYLDEV1bNcYg7QWizi=rAGw_R!f7R__%(5;Ofs3 zZ|4s(pepJ|D#!Pi))Uiq1bFZeQG|}G#M7miT5X|5_VAAGMc-jBIP0ry&kpi$xIKo= zf4sF@R5)!wV~!$1Mh?Wvl^8YTCMb5#!TYcOR@DKucYYTX%bNC+oYiUIi|0^bEjVfS zQb$7wpZp(xon z9R_*ddhbgotz5W*|9v(+YUZebg$Scie--h2`+DRYo-!|pPQT>c>KSag_ z9m#m<0R(v%<-9iaN^gzvk5We_;p}}bTX5RKf5ML8 zSx2kENEkdnjCp?M-Wjn}BDeYcjiIz@2k2)ug-P>-rNJe#iBO{NXw1B)`9VoeUPd~a zAS7Vo7-({hRPnn15jn8^0UREj=^0_S(ei(9Bg5j;qD50&Xq?2R3?CgW<36FG?YaQh zm0WE9qqZV+>8@|I*~5>qIE4e}>-s#>_m; zqw$%tpb-jiv0=q14WBTve%*})InNTcxlm$Zct0xp+)m&cTqKS+o2SCJ5JngW5fIRz zMv_0S3v=X;-EB`6xkN3&ai3p)kFR$D&hSTE4Ko5jD_6#|bHrhfFhWG48K6?3RmwW8 zQt`*;QP&kceLvl3S`&*>e_~Una^K0^Ach~cumqnKK6*+?4q$ga$wg_m9;&D@J?;zh zv^ueJe?J>#!DAKnz9VCulzVy}8Yl@N0~!8<2=2#{L4V8`K68w5-gfOf3^3+ZmYtwE}2Ml z`DO2$y@vON&`dl@O#%D7==l|E)$xH;G$*gpk$e0Lj`1yw%;g7}3jgibyn-j}Du`Xj zIHV9tojf-JWM&J)z$VnDV4!E**LKr#Qde`}@~ax>kIa5lZl-pf#-S`pt{%1kjf);I zNNLRb$9IfS#_V%de-rZK+uq`85e)lv)BBby@&V7Z0yKmIc8{HH@i!iBsnHR1#{WPG zX4i$B>3n}uTu@ke&yzW3XGGEi*0(4MPFSWfd`zBjWLy#r%H^b*^P6@8ziO&f4pcl1 zaJwRoM+FZzB+S&L#h4er0Cr^1Q&${uz3pZlasl&q3lG6>e;Qj7C29r7cdt4bPm1dI zJwbl6aIw6q)Ut+GvUPSalQ}fYt~=Ir_k|+-rZd)!OoZ2gndc9=%Az;d$E!6Za3xo= zje!UFmbrXFy!;6Yx7Up0+(7mD996oD;5P-PEQ^6`{3c3^-9+u(p zs;T|V0C1{0f9bC43wy=)E2)Ab4=W)j3;Wdj4XU;GX4ibw^uBFhfAOvFJan55WqTI zvdGpjw z@y!2Wso};`TDKjq-AW?gDk;X=8jJ-&Q0=dgW+5z3ft9ytWF{_sfLW z^~KcmD=)CtSB18}H$e|~ZE38~oXuGG~8xlvVhCC{;eSe|}( zwiF{fjJ!ux%S(2@nHfT5vm2`d4xT6{5)S(GF)-K~>G?Gg7KQ<~o-gl3oM-DJG-afi z7{u4-hS-Q4w~?-0vu+B|1vtzt-*At*%E5My&rd(WPTwzRp;~*U%Oc<{h+xDK2h6S$ zf3=o1wrDK*zgF3dfdtC*D(b0$Dv=DyL_`#nAf>|v32PI!U;yexM+h%(%&tGcGK8Sb zA^2blA&5Y!Ub}nuzI>^e%b&L<-|k3M3s^2P3|eFz-PpC%GV0=s2OO_kUjR(%l7Ot8 zv<;)mB}=ed|A++>lROOU&^Wj4T=zy;e?%>1O{&{m2xdwnp3z#l2v}bv8Y0-5;)YZYI2yx=6 z<_hJkqQvS&q4cnDN!uKeU0+-)M!_B_@kv1)8~a`=%g0Hb17%>4Zt4Rf#qotde-v_Y z*5un-P68m!ATp8uMT4xfVC47PTLSgS@@gNCllKK=s=+vW-=yYTc^5^IN_?>Sd)s$I zg3k*z{B^8sCWyV&hcmXXYSh8SRA49xE>jh&BE z5CaRN_~a`Z$Ozzo)cE1h%Z6kke{I-LFA+XN8(92IWn5B;Oo9iaUVO>$e4qfc?~aqO z(VzJ|BDXpOH5_#PI_H;fuSEmoY;vWMaqjv|Rt_H(XAIYOst{46QNX||C$fm%Sj!pN zNkcoIwIIJdE75?52o(fSz}z69gaS5PDGeroM^TMN7vmxumWjaKwand9fAH)>On5v- z%YXn@rkQDPlwY=|Ox!!eE>-fsVqB)-o1XcT=Mu?uzh7_dg+c-WbeEaA$;EZ){@&C1RYp$I=Bi-C0#L`@ZJ~zL2m>hyXkv??tdI}N zL}q`-3)~xk8ilfD1KPM5iEdezFQiBm@(7}UvS}R}Ar6lF$^KTFL#*uzJChA1 ztcqN)_!$FR#3HO4QT0cSDg@y$M`!~@32kdy$2f+d_)7A%(XHe4fAz*$n4l2CYX5=fhF@_+k%$GLsQ$d~zu z-RenO4uNgiLK*O+f6XBW~>f1ac#wFPJe_ltHKw6TsR>vBtx77fG zIaF0&^j=yydEW|ZJ2Be;z&7XlW!-$`^B&o{aW&6GGrpRf|Gd;WUR^$%&5EwBAjZUR z*fC1P1e_g}Dq{dYyn{3)N2kOgt23^1_iL~bjiZnA|HR0$!$1&Rbs|p_%rZWm9!W~} zmV4{QGE#>!f65lBft&=KmU1K8T{KTh01zU?nY^!VRqAx6*d$Sn{*sT=YKiPDOl3;o z38%8z0hODtM^A(YZ*Qh(ZY z;gYBRH=$DCdO9YrpvCypAeaef7dM)2pm$c$VBcOre`>VqB0>#(OfdQy57rag}-zDMV`Q8Z@_7hn1?tQ6Cl2)8;?SNlL z#YrdE@I45m|6Z^boy|71h;-NTK(hUxl?MX>x01AzdImnj?8j=ia{p(4yRAEh7c*V? zHRl;EfBY2IPF=_W2YL7vZX5Yg$H;K;G9^K-+Maiu?-~1ttgH&HRv3g;2oJoL36JgP zRprWUN62ADL4STnLVN1IIHE3c-1N<#SJU70zVUB*U%a|PG+nB#{KVRt^0TPw^S)cJ zZyPjlgi(cQRbGCD)GsrdP^pkigoj(=I3up&f46@-ww@Tf$k@q{u>(^l>$V?>8DsfG zSa>ac1fvYDz&N7QQnelE-}_%|>c-E<7}o@VuqbVIWhu=)ubF|X<1&+Cl5Ph=*;G{- zV-%qS`zKbIpG&$tzNg#~MG@n!kOAWuY%_UJ%=`ak{;=BnW{Miq_po8^1}W?;1tert ze_YPuaqED{~po3jzRYo@~@h1G}1M zR7NZkU`>>Z?_n4tH(h^X6#s8|7K2G~SK}&hH4I%#+YcOP4u*Jk*A`wcntQFTZlg`5 zyM{0B6(Xd**hy8HI2w(9aIb!Z?+;l?rW6?B>VYD^ZP$k5^L!YCJW;bd!$wIwe@6xs z4BAXdMWN{aP}*&E-Rt5chW8QTl`#6q$e^k{u6${r#`zTQLEn*>WR~NdK`*{=3_r6) z9AifXaqMeY0A;Mii4%=XTG(oLMBT_92}MVR>Dj#+?VLz zU_gCa{zG|QS-oAZZLBF3=mpDae}NDH0&wAxgSzq1TA)4S69JzA@&3!j*1OZsHN&@W z&7!xs5CXNWu&<#p@Qu_#7$QU@V82XgjV_ry81hJ~hTIQodA}cQuRZzP1nhLPwq+;* zLJ<1prJu8StrKfOrY8dUjXQvUYI*)Nom&nyRf=A5AVfrL;fkY1L;;!ue-C^~j$dI^ zCQ=}xavh?YVpq|~b2Gwg4;auzyD zj-R>V1MxuYcYA@H#m&h*X$&#HP?U1hmfza>&KWEqY(x$zMZ^&n3t3_XN)Spy+r2x9 zNJM|M#0Wwm1t7ALk}>Cv^Nw^E@dx$*z29sEaMrf_c&4#)vYMADf0XV$W;1vg3%~~6 zOW4|l5*Ck%%Z)dJwx5O2BLuD_r^YzW$J1d5exTd^K1|2y>y7WGaVG-Yb$;Rzzgojk zdJQn5>YDO_+DLL;s9F@Rtc%P#nZ%?*B{47%}nxNX9Fxpf0%Vo1+hXC7B%- zVZ)9%vten_Q`6JkUyhcAH%!dT%)a&0(=eu^3}cL=4wkpm5_jdXE}S+ zmN8y2QGLi;K3;t>^1MmFrQ!)_YKbGJENKGrNTXd8Wb8@te{{tf+Y%|V0BPJ7Dr)|V z2TSLx5oUYUnU_9@sV;ysWa}6R@B#wi2*(8I5FZX1-8RL!{1tj{x%8!>`89V4H+g0*n=kF?FTp zf9&U2KUfTYe`D`(8JEBTw$gLPA@K$}LgFtwE-1h0N?UdWN2iMAAnH?chwC3sb!t(h}5Dn#XwX-zmhh;@){u z?RlDScPiF@L9v?)KL{xW2{;CVC)8F2pL_;;lApx;f6(o%H=Z(cexbF`EB#*_tH*1# z1zb-=RYT^7K}=?Z8AK>YiY*q$!q4%(I2H~_qQ&BcX?&nJGz*7!o;b|vJ8}!%Ie}lf zV%mS|4cwtF>?*;ajkX)!Ct<4ohGl09c;wKg;deng$hKtju3TujKpLmioo5F!`hRv< z$>m6Je*u@mp_!%r$A1``UswhyTbx;sBm}k;J+T{zSB(1KC;q~7J@|rSmu&`P)+X8r z*05jUzp=5_zyGQ}%)PerT&xR902OD9cV+b$WtDuXecya3Iv(>a?0_)CrS_~^|NT)h z`~H=829@Hqf$v~ZumZ8&ISx+Sb%%h$`{D4qe|u(|d?7d15E%CV7M?l(Eb=qdu@hS6k3q6NW>c;7*qiMK#t*GuMY0Fi60Ovl+H@?fRh;t4=r^4^YA@6TM$rkm z@Q;M*;*sn4Ub8Rye-4r6e`T?>2F4Il*{`=f`moXcG_Y*0dTgV)SQ|X{0x*$iojPV$ zf8byw-lG0d<@%mUHnxd1f1#F-U?X+P!^1$ z_etH+_Tozl#ebB+;|D=ENOD_t?;gDp3?{?(p-OD58#K}fIZ%v0}Gp9?JSHDj(bj{fBQZG z3vS6zT$X!m=WVYbH9g**F>yRAV)cS(2MUpURo%g~X#2t}=8XBwv-2ak=mfOG1wB&Y zwUN7zNF0)F&6-z zOe|J2p1R_V3GY1yKI?FcDtw}DMvO@wB>lBE9)3UR+y(cZQh7U2iI9lKxAiE?9EjqL zNs(^d4&jmk=ifQ4<-X{uW_m`jCf5%X+fA&7^=@#Bu zt^GS{7AtKcbuM^@EE?2`FD}(SiW6DkYmH`&|B$bShv}N$R|$){s-AW^16Mupv&9n^ zZX2~F9M>y-K2B~Pdw_a9qf>YHI+eCji-k`ka8+@AZSZ>iT=T$5UFA5ig1<`P_4mkz z(Z5Gu%kZiCkM@_;UNULCe_ypMHV68CBjs}7hI+NrSTavsid`%+6<1v_t^QvQcHc3q zo!6G{_Ij$h_cVBq=aje3-X{HKdl<4{7V4134=zd``>`X5i**i#lD`2xyWeRv)ns0w z95;H``)_-*=BhM4zSnegYI)xPnzXu^V^9mE(uTV^8J%~{SmM0+f1}h(WM=Q>Y4mS( zujACyQBM;zj~%S?+Dnz}-k*IcJ)i8(4=KYvK#4J==5lgr>B_1xUwgxn*mD%~t^uj~ zlv4PN)%bATT;k%RxyLq^FG-z=xLXfZ*KK)zy6)Z|f6Lt(dd6n0ItF_eQ$);bd#TSs zI4RrTCvz3cJ%?*sf4YDnDG`(nGUExy*0<{!qyAzw{Z}UayR#t>t zUfHb|8%i2rK$C=)xTWe_hP~HB$DNDq6}|is8JqL^hU}H;f46tt>$|y&^){CB?N19z zv1@A%bk9)Nn7vVmA_`Co4k)y>g|iptL!codtl7ZAx)HZ-sMC5`D#0B+1qp7mCxGU&9vA*3L8sC zCI^0#7iGg0f8&(PYyEPw+Ruzl?-|z4tAROn?Ad@rgngbX$S9bbtn>QiXAZ>W(@A#~ z`8D=Nm2svzKY^~qy7}RL<6^Xf9K@IG6kc?V)sb@mb!r7Gk$cp zP~%7v1PcEVHSzW{A*&N4ZSK$tmPszl0EmJvFlH6O6)-J*rWQR|NHUOM1f=@Hp$Nr| z@6mF5^{HkyAQjL;X?HwkE;-h-=DD3@7fXz|K4I2=Pq*@K6cL z>U}Y_Jd3Y8a&Bs0-deL~+zZv34X2V<;0I2_w!7#1UeCbOeE=;aovoO&bI;l$7i?^sayn?6= zx~7z^Y|r_vyFirZq@V>OjR$I-2M2w}XOO+JR^CP5N5sqU=#`zq%@e2Ie)QI0*>`oP zix9MmASz*ORg)c)f9M$TUs6zCe$Iq8e?BkdnOkfV07y3Ct94J-eBWiOLG00NP8={_ z9WZwfniS`IVbb`pT23+BYg?k14y<<*Z+?H^Q?1>+ap-k*oM;v4iv%wKOkq^&JX6L9 zJ6YpI?0&9Nw;pccCwlwx$PDq)R~lxp*zgFe^n>dU5^bgQ7s(XXo?+~e`V*v zR@g%H9MBoixZOT{ZOqoZaOiPS=@&;vymQnFSh->fId6HF796=yVEjAIHK z=M?SM7XPmIs(!z8#&}378px?>e>;`1u){@|QXmT!#=ADK@c_O@i0{GeXa}Om`wBb{ zw)Ci#85h+=tXxTE2p$JPP*3OmU>7^t;S4cRn+shqWdP?RloKGSA_;4X7cm?tY6Pie z%)i)r4ol5DEoSlo#&|^KU+hxrBPPuhwTffH+MS@BA-@Ct(Of6Z3&}MpcODABee!r2Pje4CV0K_0WyRlBrnfDe{hsFqv&GrXn=Ue zvY6x1HKqTFq24;u-5bX-bJ3W}fm@UUC_p&`RiC2*1n%9(A7*{2OL`-EfeT`)6b4YG zDxAz#(Yf9zhX&$ywqJVb#<-bz`+e8B-HnuMWs^&5gJQTC0L0cn%P}=t!2prXAe+D? z%kC#pm2pN=(h8q=e<^(6=`i)kT%!9(gHG`adfsdWK#gJKR!D#%TGav|3IbHlxd4Os z4e?89_|0c?kajAp!iaNS*CBUW=2FX5*E2v}t95!~A;2r^b(K5rZ{KZJ;)=DU&L@fi zg+>gJ8N`xh+Y)Kmq#Z0imk}wQy>&S}0LpkmDC-2xx)PQpf2Mn!QDMsUgz4w9Fu^|6XFo}8Tw0aP!<6Vp8;yU)s{T)*i?d)$G% zIHJuLIy6YZe=`Cg4YVF?AoEFDr_#;Gpm&gJJO@nLHOAFx|4dhnltcBH?vpK0^VO?B zVu@PQ5@x28WLi`t%&|&Rxh|d=E{0J}lGBM|eJko?s9e!S)Mt}EXZw<3dXSR@In_fZ9 z(N^#L<<@Q4sJCKSp4P2`Z9WwcSr<3fs}pe6C7IkHFOEsuJy4u*6X@Y1t9#@Q6Z;l% zet_JrAEabkJ-3mh>WY5P>oNGpDof88n^9$KbF(`+!8q&TlX>f8 z;9YnI*rX>rppw`e9FeyyilEt351dx>thpWA%6K^=||B{9~J1>^Dc#?0TLZ)mg~> ze|qz^%@)3XmF)aiKn>*|DkmhirW!MMzt;anwqvnL+EEdq7da!2E-8l9-Ux(u^#D<= zMaFF^l7#~a2rxyICv0LQ4d?A2hWtxR7{z3BjDRE`Z_$M*5c7XgkW(r8@;hnJblxi- zblCUAOXTHl5VLx&%2Bc&^#>~^>a7B zrJ#gE0m2S{Yf*L9UrXrP+E}d$etuFc zJ_d6Z?hWuZQy#EVSI$kUaBH9{U*6{b;LLnwGrFb^l>C+Z#fM}k);|c;IQhR+bWlY8 zkD@b@4Vtno*81kJnv~@|I%MoUY8~cb3}=gx*0jgO%*<VOm1f8>^NFw!u_ zY&o)g%%^Bivu6&4m2SC3=)D62ARg9kW}Omi3wBYIu1pP=lTA8*MFq* zF0ZdQYgSIA`}kU9Fn#~3n)R1VH*M4R< zIRrl5VTzPWq$Ipt6;Tj(f2mL-z$NYQ`r(1ydRX2_@jv#R-Cnsuh6@rx-rn5U>^24) zji&E`_)=MhGUnoEGF-{M4SjWY`~kk?!vW;^K1oNVJ8j#Kf1`;9iFubU6uRI@vIF%ig%j<@VC!jfApmn#0pnR-zV>M}xz@nxzXxlaPf-tqLMfr`k zNtGm!V`L%jYpYj1eVL;p-`io~cwWcM@%+ET;NITe zf0v&7=Cq6iJ_gh-=ktZS;qf@V-Q3@dJ@+b=Psw_feY!&My2!jM!$3GRrMrM#sY*ahTDqXe|=4OCkT5igWC_EnI%Q}b;Ax(wLHCywE3J^xY?_GaQ-u`hSA%|n=c}SdAMV>Vv;uH7 zpy_FrC>tXqU$h290s?OTn{TmPpb~}ee{9K85Zc6Quw~%%5Gce|{@%J;R|34p>wZpNX%Fr^BF7CG@+4FQBt zWlEH(>Ie)&5h5VWNEg}@N$c$c{}x;rVssP9?I-6({&!mgybzQM6KsV?1CiM^e>4pr zRwWjiKBamJSdBm{SG`^xG_C^#ZiPsZ6ivJo@!~YZLghdKB7ND#3o<3p3@T*zw37=z$Hcp1ta6IjQ&Y-dML^PjT)ggo=&x<5EQ1E{sKK)w=6ON+7B3_ z0A$t(GZGGHFMK2k)mmKR^*UZbf1yP^W$d&<>@>nCTD$9-NMg+(9DGee+-OM}kf!s_ zI06_!n-V`bb@h#VdXVGaqaj+Wgm+BE;M;RN+A=OOGz@8cUB1&O^0Hif9&^ChR)} zy6j>><6@V90;NeuuxNHLj3OR2MpnuKgvuyb2;91gSpdES1=?#Lve9VL%t+;@Sc(ON zMw&IF`fsY}mWY}(2vuvle@$1&a|Dc;N|BNP39^2PAdc`h$~Y-1h&6^hKx7b7%S?c1 zfe09gv`7GeP~_T80k&11)${DVOz0i&IQ<;AFK00g+VKVj1q~q({@@T1_Lemcgc#|s zoa9|_o`YQ`;XCbrqj-6F`P?+9;vk3=(Gr;U6l8`3PR2EJO3{CHe~Yqi-IvD`ML|cT zVwfXT+XE{`V^$e46J@2)JKA{j;i-!=)y`Pnc+)lySUX(Tnt4HrJ1SM;BRduuruY8m zI%YT9Sg1u(D7;^CrF5qoC{;2*O^_v`Lx5G>`%Vap6>inYR(Mjk#)}MHAXB(voeAjW z5G^)eW2smj+~0`ne-mODB1!|ro6Qg zcuPiKka?g&z+yQbhm)yJkUF6TZuzCH=yp4Wh7uu7R8_+xFbXNrY|ix>T}@=t#!Yvh zr*P#^{7>++e|M)$3CH9~%v2;9kteMOQsz;a?eNYMk4ptUjb59r`2WPh&F0jt&IgU5 z{udG$qm)R&MwgG?2n-9Uczr7~ZC_HTL*Tj+c zbheYve^cU(wv5#Rv~eYH4wpk?-tZ|w4cH|+Dhq7~sC6T=pM;nY3vFi@1r=8`Sqg!S zKQO%S11HM<3+F^yUpm1SIuogjzZ6SjeOPiT}3$`YD8iU5K~ zKB|=zB^M>|jxZQNh~+MxaD@c$bU6X`RjFtHf296LC@B+1t|LOCT(K3EUo3lH#D#Re68D%Im%zqkw##3X*bE zf4TCw{mlDjvN2P>O))RGkoR7Zu*gG|6|AYs@FXvs0$mYzN5ut8N6(o}N=xGtZz2RT z>bGq|Wk!$Gsb{dgPdGe`0yVnKDs`?+_VxL7cg`_k8QB7LXNT9hQ`FU81<$;}JOGnM zrKk45@VP~C8(VbORrXYUZD#%un_uqbe;Rt)L$Ml%+JwUl2k{}Z;ek<1Tr38*O0{}Z z`(>}mey^7hRx1=2FD`twM%TLuE_&}K4Qjd5E7R`EuwIKrFy;|BfeGngeLr)gIge#WW%Mj;u|r5??csQ|UC_|y zZvYrPX7>ure!a%&rA-vx+JPrwjGIuwO2r@YQN-LFT(4y?Q3bmgZ(j{^Iu6Y7*o=S` ziE{W^(P{6;ywP1Z7$Kuyob~vVe*!BT>*1B1T@(m4L&C-4ykNnf_E+rBb?o!?>$c~O z4>k^*i3f-N@#7o5aRbNB!gq@sbHYV|Doscmp{+@E850SsK!85uzdK1>ep1gbwnlVQ z28hJC#X&4xGb4;$1&?@3pH=B#vOJF*S1MGok}`;9m)nj!3y0n~a%RcSe*x@b(oo?+ z1IfJ zG2q}b+`mz!xDK|DKDEeaf7v~vo;xy-3~$Ctj@NkW;LpthwdzcJAg2!+Du%Ux`fa~g zLqo*itpB0CcOaVQd((H-;L)W+8E-zxyu>|zAU-0adS(R@&_o+-6&Qzb?88r;E!xJ4 zi#Mm@P01@f4Rdq`q^wjVSUOKF)}nTfB0x);eio6BO^nQ247cq$jsLlpn_mYiQtP%c=Q(!hH@ZE^>{U0!eK=%QXtI%sQ|#r z#wEMf-OuCoKEJwQWsTCb{Yig)^Y#Dx{gJnFAWAqm5J{Xd`yF!3$&~6S5p9g!yo|l( zWr&GLB1T0OfhB^pe~^nqNFvyZ%fKZ6S)#YHeCK-oW|?$5oK1*w`K#r=>#tGeyz6$Z z^v3H{36te!Ywi@R{7t!5Z9u{(22m_*gpGF-O27q1YV>=js+z}KoiesYu)|LK z-CZZ$n$D9mm&l7MVGnI$y-3MxL@L$Qmgh1Xk@UwfjaHr#EegVX#E1TWUXkxAD zcHbXCD+-8+f1Ip{Ma&gS2F!e8rS30SRNWWD?PBV_+7VSUfy1cNaI_8G@sN2&v0?>bDe8wK+^EH5b&%(cTKe|}xV>U7*kR!X z7A8m)fsNPYz9*wD9zOAE*ZXnG@CHv~`QzN7Luu*I_#a*s0dmPMVAOA24S}2SwuY1L zC(evJf5W*Za2c9{5?KXz#8RMvMpYHP7re>zZZ!U9fK(*KBI)@AFuu=mVxIDznUAyl zI^DYf$`Q+-zoese{`q~CemMB@sHDi@y-S<}(~s6~I7(7(Jx^BezCYMavG{tPll`-; z%8-|U*sh9Fr-(ry5IzpbL#2*hG$DuMd&8Tje>=0MQ`z&g&^a-F=fCak>pcgk39lP# zed|lhav(0H>gB83dX&SOtR^*gbM$DpC~|zi2*JLXO)tQvPiM`!H^mXrqB)l#Pezw2 zTdE%K+g@Z!gQYUr_0Qi!Bf-1h@3T+@cPob~gPsdn`$H8z1u0L3@^Ur0>>eAnt_cAN zf3t>6zWRLARL`cNmRr+|c6@7aci;=0UbH6Mp1vphV0sml)Vjeo?w%ilD&tNMaWKHRczbmtAD6woy>UTq zx}w|@8XKgHjv2EJges*WT{fhGM3E}Ji9u)aIEnKe;Ly58#(Lsf)o(DmuRhE5zP+<@;4=LA zz5C+>o=VSGqq({3vo>@z+&CXUpS9`;(Id4}=N~ajbTnn&ZOe*c>Hx9RIM}Ga%~J1q zOvOhLT4v?QtuIZBpucu@Tzg}@iTCCOlCHx&9YqGS7b0rKAF;v$(oX2k6dyj7JRtrB;z|5fz zAI9*{WR`;A`BLyOaX-v|fASmnaJ)jO>$(ra@qg#T`Jkp9!z5wg;h&}o4iXJLr)b-L z6V>0g^uIROzVQ_H(*^$UZ8M0P$qQBA{x3zy|Ns5o1^!=t@Bf1iKul4n9smF-_y74^ zNef&<#eDS_tVBY&p{QXELtBQXYjh=}k+O3m!vcjygRx7qNmG{Ie+{{Kl%fHV8VeN> z5rtK(A!rdXwF;@Bus}o5&}=sE&4+nt_&k3mKg0FOA^*%9%;qNe&)fc+3+!K1;WXyq_p(M&RL3|8vjHxeMd0;JX?p=?Hv9s`F?Q!tW(k} zY5JhMxgj5of6QZPJEynvh+m~1(Ki4KN@iA6{r*da8ngmUA^je(;d?|Uio<%S=DY!A zB7HLu=NT1iDZ^fny};r=l2YOAM9~bVv#SuqvE}MrPfaSrKA$H6?`*6I6w!g1!hw_=F$E=j{F#?jkU+M@Xw9wHQGqgUG^wGWeKyFl4lxq zFWYLksqmmLABzif;am)#t*I7^0o(j5EJBv%sbs08&S#H+#hUsEe@*VT4^zI+?w9cbe@T(rsKq2yG(Eg;rEKrK`uDbwm^_V&IJ}q$O zN}lGSGYwxOsou(deAR|FG{C;u(Cfl|P}yC*)zf`v^_{7Dd&BuD7RXDK&KeVoFPOqC zf7NFOzqG&rVnCh0^NLk2YR}|+Jb8$ZYzF`}TU#l`hz#Sx*Nld#oYydbhs{pLI}p}N zNTw=>YR|7q@c%TiAcW}i^R|!@E$e2VWfm{-vD!h(?%w1*TkKNhc zz{U{?#lB*AYcUOHCqH_u$Ms@Ud15X|1RnH97k_!ve0bY|uV)>|SXezPo0Gts6pKG& zEz^Mv0t(DRU*beX;(|7$KpHpWS~wl5r-Jn-uDu!X;d;C!)oCzv5lH9aDb34yM)fot zTF-SD)2*r+!oII?6OlIv-kATqHYv%xB$VS|bBJu@LWwY3vAjpku7N;7fm5UF!FSpV}jx=sMR=;Jo>?`K1}*7vLuFN)a0oL-;AKu$TY_v(+dZzo;5#@U0>q z=4YHc*X`(IC-WVQq2Jg>>c1M%h~5#ISn3m(xDdQIL>29w^T@tzj8r4@aaAoXh5E!< zD$|LD*z=M%+&-{LzyUHKU`3!yvKibw0DqCvbMTHM$o-w;pz*M~3hpmZp&6a4jVijr zOe`)d>EC<|i=7p@jjuPmuckr7&WSImG8#gsgNLnnSRUt+8cV~woS3_qCRj_=(V*|EEzyZC+^-YsH>{5y>U9E7dRL^;7ED ztek&%$45v3e3?*7`la=VmtEvUnv4p%@svxB9=3M6xhuez!V|KFIXG@8fIE&*W(EPc zdkFK*!9A9;7)>Y6T96T$N^xdQuNX^EzI~GC5;V2Yk#K3l!;LCNlo~+g5PxGEJAW5! zGD6v_g7Zb<97SF_=Uk*r&09LDb4n0+y&t1(1EVxd;eD($=^Zd|x~$hIeyxtZE7%)d z<(v#0T+lyDt>`*Kp4Rb#23|7fn&r5^vAUMBrx;C`C}7ZU+taq*o@v{*yQgj2wrzXbnzn7*wr$(k?|QtTNR4tPvZ^`fZ9mwK?%F;TcvOo!dt)Po8kRCy_HFf%bAaRGn{js}j zTC@g&7^A*I)=5009*JQG&5|CljgkJeq$zc!r2>^RsSWC(w#q4;&!;{l8Phovg5qVB z8#9F*`xr}`J*4&Q9Dn$EF;qnwpmFo#3DQ8cCzq*5fbG?hA=_GjQ#;xKias5dZHZc1 zx58`T>Uklxp9!DbvWv-c^^ZeJE0ejqxheevtxd&fV-xGKBab~eZIl884X{*C*`8hr zcx6j8qu-V;F44$_bB#d9#<}h>rT4q@`SUO8%i@GgSJS(_WPj?efajKC(nqO_uuct` zw!xsQH(9=Zj!g7=G6eW9v;X3A6MJr#3*Z-kkw9idbC*}H()YLW7N^SP#xNtReY*eL z3ihcZmA%mZ1c#P77qQwgkxU!%rZ5^FFmwZTt~QwhS?-swRRhi17e;>Qw*E&PA*+;~ zX!40_>g`WXB5;fIumw3#|!+A8X6byIUwDN zccwI41^!=1TX;Ejt|1D}oA|sS3Q1rn;poR$c$e-KQJ5d5?UfB}91{aoBx-@mbF*Un zb3|Kr7U~5)eS=m@7&xK%ED^{dC$VBN)La?$UoL!Im48H+&U1eIM1-Wyp5Pus=$S@* z1Y&W!A!#2G*xwH{L;L8`8_!hS6o%P`+l0;vgW0@eS?!#Nlv0E@y5)6Rmzrrk{#> z^2rG%t$*n1yV2N#OVU4?2XkS}LDXf1Zzs_!SFZBh5(K6i`;8Fi8+6cKDl}G9U^n9iG)P6 z&NQ(hpxxI_aXftP1=XbQ8S^6){32l-EZfzswF~IpdgvV6&WhQgv^#8fakA+|RK>f3 zkuwfL{Gbu9D?r%_gg1fmi;KTE?J5;*-)5TWh4ILlK~m4efnJN}_!D8sC$DRTUB33w zQGW_sJP;vZF&-k11LK9v*@rn@>k29aUkD8!#k)OG_ot$6Q8en8Pan)uj3YGm{M+2? zjf#{_HvDOs6VDrRh^H;Svt@>jBfl(#H;^~!GOAjO+@d1ydWgYdTeVJCr|86WG4lI* zcFuzDu+gE0vyGvLfBWmVCssaP(!_jur++Y;xHA&jNfQPxYGthGKo{qRB6RfJO>=?Y z1Y&D#8~SqKlx@kh^LAuJ6N{;I4~i-dk?!o9od1(!c!wU{+H_{4Pl11*dw0h7RJEbf z2wgTR?Va+ZDxz}mt|5FwU}t3O_AK4lyg;U&NWjBW7B%PJ*s32-#?s07nbwY>vwto! zH6w=bN-H~a1KCa{+SX&K*P@txxDM-|LE?4~G&3YG+BIAbe9j?(?0Sz#V3jy|5le67 zqTORPPOE@L61T86aN-L*+uWDYh?q(HhWM#L`bg9sm|AP$NXx9A$%R^w!vPnvdsFpd znPlGHC90@8s=%+gCyeX!9>(>+Cx6+UI=l-SnwAkQT4y9nAg5H(&+jU;Q+{PMX1T`~ zWwN2j_i{20d`Z?$o7_#UpQyzYq#2Un6w!A-NfN?qQ=J2pplnnoLUU^21$67n@B6K+ zVt&j{fDTjFtu=cklTU&E1ZC#*gZ=VRznf1YJQ7+T;+kvT$0zrUzd{Bs)qfx+oeL!< zaacv2x#$iZMd~Qi)uP&nID~JQQpCQ@{ue$Pc()6mW%XtjlaIc0`+JSNbW@tHP z;-^C2?2eCn`-U>AuFM363bNO*`4PhC=6~S7WMmob`RtD^g`lxbrm;q;O#Ft#V3E0i z$CR&GneUBV=zqT40^$05-G9^!f22rNE-vJd{O)b$xLIj`-qu=WW_M65PYEV|OXtE9 zSg5)xx9-0CaVmoFz96Aljd?$0Q{8{cl1Q)p} z6K@`8rsn4lGerD48^jde#__f# zePD!TJ!&>LSLI;I@1@e7TWs|2s)u*;{6GDx;P=1^<)<;q=39}L4*y%dF9bt-#R28^ z5etc{o$3MoZK91 z(#79FRuInBWuW6N#EZnBAlP-hjZyiqwv%5DSifq}XLr zMYwIX=_4e0C!D1p-bu_7z)B_XNuH3{Gy+E0Yu+7KHT*eryE~?JkS3RJxJZTL&lBsm zroVm(^>|`y_kZWSMqe~-t?q@F_Up>zqFRECQ2D_qHv;X_7YZo~5OTflcc@0(JMj`n zFxRSbTssI|$~{P{s#t?}a>~Zl-nxs+X6Qj4-Bc5HPRSfDftwjVIsbS|Z+QMCX5tOT z02RIwOz`@Y1Ic9h;og0Ue-JLo0sg2e&)<8*)*$@D_XkUem