From e767c050db245b91f33b4bcf1a150a44335f3551 Mon Sep 17 00:00:00 2001 From: Keith Rozario <795867+keithrozario@users.noreply.github.com> Date: Wed, 2 Feb 2022 20:42:53 +0800 Subject: [PATCH] Python 3.9 Builds (#205) * made tf 1.1.2 compatible * tf formatted * upgraded to sls v2 * container build * added new GSIs for multi-version * multi-version build * multi-version python * include python version * added secondary db * fixed additional # issue * db migration scripts for multi python * download config to dynamo * new configuration multi python * fixed sk for builds * test script * added type hints * latest in region * multi python api * linted with black * added formats * added force builds * linted and corrected * added READMEs * minor changes to README * once a month * fixed typo in name * fixed typo in name * removed errored packages * test double-bracket * fixed double bracket * fixed double bracket * updated for python3.9 * new README.MD * added python3.9 README * cropped diagram * updated docs * new diagram * new diagram * removed unneccessary pass --- README.MD | 126 +- deployments/python3.8/README.MD | 27 + .../packages/Cerberus/requirements.txt | 1 - .../packages/Pillow/requirements.txt | 1 - .../python3.8/packages/PyJWT/requirements.txt | 1 - .../packages/PyMUPDF/requirements.txt | 1 - .../packages/PyMySQL/requirements.txt | 1 - .../packages/PyNaCl/requirements.txt | 3 - .../packages/PyYAML/requirements.txt | 1 - .../packages/SQLAlchemy/requirements.txt | 2 - .../packages/aiobotocore/requirements.txt | 17 - .../packages/aiohttp/requirements.txt | 9 - .../packages/ansible/requirements.txt | 8 - .../python3.8/packages/arrow/requirements.txt | 3 - .../packages/asyncio/requirements.txt | 1 - .../aws-lambda-powertools/requirements.txt | 12 - .../packages/aws-psycopg2/requirements.txt | 1 - .../aws-requests-auth/requirements.txt | 6 - .../packages/aws-xray-sdk/requirements.txt | 8 - .../packages/bcrypt/requirements.txt | 4 - .../packages/beautifulsoup4/requirements.txt | 2 - .../python3.8/packages/black/requirements.txt | 7 - .../packages/boltons/requirements.txt | 1 - .../python3.8/packages/boto3/requirements.txt | 7 - .../packages/chevron/requirements.txt | 1 - .../packages/cloudsplaining/requirements.txt | 26 - .../packages/construct/requirements.txt | 1 - .../packages/crhelper/requirements.txt | 1 - .../packages/cryptography/requirements.txt | 3 - .../packages/datadog/requirements.txt | 6 - .../packages/dropbox/requirements.txt | 9 - .../dynamodb-encryption-sdk/requirements.txt | 12 - .../packages/elasticsearch/requirements.txt | 3 - .../packages/envelopes/requirements.txt | 1 - .../packages/exchangelib/requirements.txt | 24 - .../packages/ffmpeg-python/requirements.txt | 2 - .../packages/flashtext/requirements.txt | 1 - .../python3.8/packages/geopy/requirements.txt | 2 - .../google-auth-oauthlib/requirements.txt | 14 - .../packages/google-auth/requirements.txt | 6 - .../packages/graphene/requirements.txt | 7 - .../packages/grpcio/requirements.txt | 2 - .../packages/gspread/requirements.txt | 15 - .../python3.8/packages/idna/requirements.txt | 1 - .../packages/itsdangerous/requirements.txt | 1 - .../packages/jellyfish/requirements.txt | 1 - .../packages/jinja2/requirements.txt | 2 - .../packages/jsonschema/requirements.txt | 5 - .../packages/kafka-python/requirements.txt | 1 - .../packages/lambda-cache/requirements.txt | 1 - .../lambda-decorators/requirements.txt | 8 - .../packages/langdetect/requirements.txt | 2 - .../python3.8/packages/ldap3/requirements.txt | 2 - .../packages/loguru/requirements.txt | 1 - .../python3.8/packages/lxml/requirements.txt | 1 - .../packages/matplotlib/requirements.txt | 10 - .../python3.8/packages/mpld3/requirements.txt | 13 - .../python3.8/packages/nltk/requirements.txt | 5 - .../python3.8/packages/numpy/requirements.txt | 1 - .../opencv-python-headless/requirements.txt | 2 - .../packages/openpyxl/requirements.txt | 2 - .../packages/opensearch-py/requirements.txt | 3 - .../packages/pandas/requirements.txt | 5 - .../packages/paramiko/requirements.txt | 7 - .../packages/parliament/requirements.txt | 11 - .../packages/passlib/requirements.txt | 1 - .../python3.8/packages/pika/requirements.txt | 1 - .../python3.8/packages/praw/requirements.txt | 9 - .../python3.8/packages/pulp/requirements.txt | 1 - .../packages/pyOpenSSL/requirements.txt | 4 - .../packages/pyarrow/requirements.txt | 2 - .../packages/pycryptodome/requirements.txt | 1 - .../packages/pydantic/requirements.txt | 2 - .../packages/pygsheets/requirements.txt | 23 - .../packages/pymongo/requirements.txt | 1 - .../packages/pyparsing/requirements.txt | 1 - .../packages/pyqldb/requirements.txt | 11 - .../packages/pysftp/requirements.txt | 8 - .../packages/pytesseract/requirements.txt | 2 - .../requirements.txt | 1 - .../packages/python-docx/requirements.txt | 2 - .../python3.8/packages/pytz/requirements.txt | 1 - .../packages/rdklib/requirements.txt | 10 - .../packages/records/requirements.txt | 8 - .../redshift-connector/requirements.txt | 20 - .../packages/reportlab/requirements.txt | 2 - .../packages/requests-html/requirements.txt | 23 - .../packages/requests/requirements.txt | 5 - .../python3.8/packages/scipy/requirements.txt | 2 - .../packages/shapely/requirements.txt | 1 - .../packages/simplejson/requirements.txt | 1 - .../packages/slackclient/requirements.txt | 10 - .../python3.8/packages/spacy/requirements.txt | 29 - .../packages/tablib/requirements.txt | 1 - .../packages/tabulate/requirements.txt | 1 - .../packages/textdistance/requirements.txt | 1 - .../packages/tinydb/requirements.txt | 1 - .../packages/tldextract/requirements.txt | 9 - .../packages/tradologics/requirements.txt | 18 - .../packages/translate/requirements.txt | 9 - .../packages/tweepy/requirements.txt | 10 - .../packages/twilio/requirements.txt | 8 - .../packages/xarray/requirements.txt | 6 - deployments/python3.9/README.MD | 26 + documentation/Klayers-Architecture.png | Bin 274339 -> 234443 bytes documentation/Klayers-Architecture.sdxml | Bin 182622 -> 149298 bytes documentation/Klayers.json | 199 +- .../01_invoke_pipelines/download_config.py | 113 +- .../01_invoke_pipelines/invoke_pipelines.py | 71 +- .../01_invoke_pipelines/invoke_pipelines.yml | 28 +- pipeline/Serverless/02_pipeline/build.py | 114 +- pipeline/Serverless/02_pipeline/check.py | 9 + pipeline/Serverless/02_pipeline/deploy.py | 112 +- pipeline/Serverless/02_pipeline/pipeline.yml | 41 +- pipeline/Serverless/03_publish/publish.yml | 73 - .../Serverless/03_publish/publish_arns.py | 110 - .../Serverless/03_publish/publish_reqs.py | 73 - .../03_publish/publish_to_github.sh | 82 - .../04_stream_processor/layer_delete.py | 28 +- .../04_stream_processor/streams.yml | 6 +- .../05_slack_notification/slack.yml | 16 +- pipeline/Serverless/06_webhook/webhook.yml | 2 +- pipeline/Serverless/common/get_config.py | 43 +- pipeline/Serverless/package-lock.json | 16055 ++++++++++++---- pipeline/Serverless/package.json | 6 +- pipeline/Serverless/serverless.yml | 39 +- .../state_machines/01_invoke_pipelines.yml | 15 +- .../Serverless/state_machines/02_pipeline.yml | 41 +- .../Serverless/state_machines/03_publish.yml | 85 - pipeline/Terraform/.gitignore | 1 + .../Terraform/certificate_manager/main.tf | 9 + pipeline/Terraform/dynamodb/main.tf | 28 + pipeline/Terraform/main.tf | 68 +- pipeline/Terraform/s3.tf | 13 +- pipeline/Terraform/variables.tf | 10 +- pipeline/api/builds/list_builds.py | 12 +- pipeline/api/builds/sls.yml | 5 +- pipeline/api/layers/latest_region.py | 68 +- pipeline/api/layers/latest_region_package.py | 8 +- pipeline/api/layers/list_layer_version.py | 7 +- pipeline/api/layers/sls.yml | 42 +- pipeline/api/package-lock.json | 42 +- pipeline/api/package.json | 2 +- pipeline/api/serverless.yml | 6 +- pipeline/config/packages_p38.csv | 3 - .../container_images/build_image/.gitignore | 1 + .../container_images/build_image/Dockerfile | 8 + .../container_images/build_image/build.py | 367 + .../build_image/requirements.txt | 12 + scripts/db_migration/load_new_db.py | 1 + scripts/db_migration_multi_python/.gitignore | 3 + .../download_dynamodb_export.py | 191 + scripts/db_migration_multi_python/test.py | 63 + 153 files changed, 13610 insertions(+), 5464 deletions(-) create mode 100644 deployments/python3.8/README.MD delete mode 100644 deployments/python3.8/packages/Cerberus/requirements.txt delete mode 100644 deployments/python3.8/packages/Pillow/requirements.txt delete mode 100644 deployments/python3.8/packages/PyJWT/requirements.txt delete mode 100644 deployments/python3.8/packages/PyMUPDF/requirements.txt delete mode 100644 deployments/python3.8/packages/PyMySQL/requirements.txt delete mode 100644 deployments/python3.8/packages/PyNaCl/requirements.txt delete mode 100644 deployments/python3.8/packages/PyYAML/requirements.txt delete mode 100644 deployments/python3.8/packages/SQLAlchemy/requirements.txt delete mode 100644 deployments/python3.8/packages/aiobotocore/requirements.txt delete mode 100644 deployments/python3.8/packages/aiohttp/requirements.txt delete mode 100644 deployments/python3.8/packages/ansible/requirements.txt delete mode 100644 deployments/python3.8/packages/arrow/requirements.txt delete mode 100644 deployments/python3.8/packages/asyncio/requirements.txt delete mode 100644 deployments/python3.8/packages/aws-lambda-powertools/requirements.txt delete mode 100644 deployments/python3.8/packages/aws-psycopg2/requirements.txt delete mode 100644 deployments/python3.8/packages/aws-requests-auth/requirements.txt delete mode 100644 deployments/python3.8/packages/aws-xray-sdk/requirements.txt delete mode 100644 deployments/python3.8/packages/bcrypt/requirements.txt delete mode 100644 deployments/python3.8/packages/beautifulsoup4/requirements.txt delete mode 100644 deployments/python3.8/packages/black/requirements.txt delete mode 100644 deployments/python3.8/packages/boltons/requirements.txt delete mode 100644 deployments/python3.8/packages/boto3/requirements.txt delete mode 100644 deployments/python3.8/packages/chevron/requirements.txt delete mode 100644 deployments/python3.8/packages/cloudsplaining/requirements.txt delete mode 100644 deployments/python3.8/packages/construct/requirements.txt delete mode 100644 deployments/python3.8/packages/crhelper/requirements.txt delete mode 100644 deployments/python3.8/packages/cryptography/requirements.txt delete mode 100644 deployments/python3.8/packages/datadog/requirements.txt delete mode 100644 deployments/python3.8/packages/dropbox/requirements.txt delete mode 100644 deployments/python3.8/packages/dynamodb-encryption-sdk/requirements.txt delete mode 100644 deployments/python3.8/packages/elasticsearch/requirements.txt delete mode 100644 deployments/python3.8/packages/envelopes/requirements.txt delete mode 100644 deployments/python3.8/packages/exchangelib/requirements.txt delete mode 100644 deployments/python3.8/packages/ffmpeg-python/requirements.txt delete mode 100644 deployments/python3.8/packages/flashtext/requirements.txt delete mode 100644 deployments/python3.8/packages/geopy/requirements.txt delete mode 100644 deployments/python3.8/packages/google-auth-oauthlib/requirements.txt delete mode 100644 deployments/python3.8/packages/google-auth/requirements.txt delete mode 100644 deployments/python3.8/packages/graphene/requirements.txt delete mode 100644 deployments/python3.8/packages/grpcio/requirements.txt delete mode 100644 deployments/python3.8/packages/gspread/requirements.txt delete mode 100644 deployments/python3.8/packages/idna/requirements.txt delete mode 100644 deployments/python3.8/packages/itsdangerous/requirements.txt delete mode 100644 deployments/python3.8/packages/jellyfish/requirements.txt delete mode 100644 deployments/python3.8/packages/jinja2/requirements.txt delete mode 100644 deployments/python3.8/packages/jsonschema/requirements.txt delete mode 100644 deployments/python3.8/packages/kafka-python/requirements.txt delete mode 100644 deployments/python3.8/packages/lambda-cache/requirements.txt delete mode 100644 deployments/python3.8/packages/lambda-decorators/requirements.txt delete mode 100644 deployments/python3.8/packages/langdetect/requirements.txt delete mode 100644 deployments/python3.8/packages/ldap3/requirements.txt delete mode 100644 deployments/python3.8/packages/loguru/requirements.txt delete mode 100644 deployments/python3.8/packages/lxml/requirements.txt delete mode 100644 deployments/python3.8/packages/matplotlib/requirements.txt delete mode 100644 deployments/python3.8/packages/mpld3/requirements.txt delete mode 100644 deployments/python3.8/packages/nltk/requirements.txt delete mode 100644 deployments/python3.8/packages/numpy/requirements.txt delete mode 100644 deployments/python3.8/packages/opencv-python-headless/requirements.txt delete mode 100644 deployments/python3.8/packages/openpyxl/requirements.txt delete mode 100644 deployments/python3.8/packages/opensearch-py/requirements.txt delete mode 100644 deployments/python3.8/packages/pandas/requirements.txt delete mode 100644 deployments/python3.8/packages/paramiko/requirements.txt delete mode 100644 deployments/python3.8/packages/parliament/requirements.txt delete mode 100644 deployments/python3.8/packages/passlib/requirements.txt delete mode 100644 deployments/python3.8/packages/pika/requirements.txt delete mode 100644 deployments/python3.8/packages/praw/requirements.txt delete mode 100644 deployments/python3.8/packages/pulp/requirements.txt delete mode 100644 deployments/python3.8/packages/pyOpenSSL/requirements.txt delete mode 100644 deployments/python3.8/packages/pyarrow/requirements.txt delete mode 100644 deployments/python3.8/packages/pycryptodome/requirements.txt delete mode 100644 deployments/python3.8/packages/pydantic/requirements.txt delete mode 100644 deployments/python3.8/packages/pygsheets/requirements.txt delete mode 100644 deployments/python3.8/packages/pymongo/requirements.txt delete mode 100644 deployments/python3.8/packages/pyparsing/requirements.txt delete mode 100644 deployments/python3.8/packages/pyqldb/requirements.txt delete mode 100644 deployments/python3.8/packages/pysftp/requirements.txt delete mode 100644 deployments/python3.8/packages/pytesseract/requirements.txt delete mode 100644 deployments/python3.8/packages/python-Levenshtein-wheels/requirements.txt delete mode 100644 deployments/python3.8/packages/python-docx/requirements.txt delete mode 100644 deployments/python3.8/packages/pytz/requirements.txt delete mode 100644 deployments/python3.8/packages/rdklib/requirements.txt delete mode 100644 deployments/python3.8/packages/records/requirements.txt delete mode 100644 deployments/python3.8/packages/redshift-connector/requirements.txt delete mode 100644 deployments/python3.8/packages/reportlab/requirements.txt delete mode 100644 deployments/python3.8/packages/requests-html/requirements.txt delete mode 100644 deployments/python3.8/packages/requests/requirements.txt delete mode 100644 deployments/python3.8/packages/scipy/requirements.txt delete mode 100644 deployments/python3.8/packages/shapely/requirements.txt delete mode 100644 deployments/python3.8/packages/simplejson/requirements.txt delete mode 100644 deployments/python3.8/packages/slackclient/requirements.txt delete mode 100644 deployments/python3.8/packages/spacy/requirements.txt delete mode 100644 deployments/python3.8/packages/tablib/requirements.txt delete mode 100644 deployments/python3.8/packages/tabulate/requirements.txt delete mode 100644 deployments/python3.8/packages/textdistance/requirements.txt delete mode 100644 deployments/python3.8/packages/tinydb/requirements.txt delete mode 100644 deployments/python3.8/packages/tldextract/requirements.txt delete mode 100644 deployments/python3.8/packages/tradologics/requirements.txt delete mode 100644 deployments/python3.8/packages/translate/requirements.txt delete mode 100644 deployments/python3.8/packages/tweepy/requirements.txt delete mode 100644 deployments/python3.8/packages/twilio/requirements.txt delete mode 100644 deployments/python3.8/packages/xarray/requirements.txt create mode 100644 deployments/python3.9/README.MD delete mode 100644 pipeline/Serverless/03_publish/publish.yml delete mode 100644 pipeline/Serverless/03_publish/publish_arns.py delete mode 100644 pipeline/Serverless/03_publish/publish_reqs.py delete mode 100644 pipeline/Serverless/03_publish/publish_to_github.sh delete mode 100644 pipeline/Serverless/state_machines/03_publish.yml create mode 100644 pipeline/container_images/build_image/.gitignore create mode 100644 pipeline/container_images/build_image/Dockerfile create mode 100644 pipeline/container_images/build_image/build.py create mode 100644 pipeline/container_images/build_image/requirements.txt create mode 100644 scripts/db_migration_multi_python/.gitignore create mode 100644 scripts/db_migration_multi_python/download_dynamodb_export.py create mode 100644 scripts/db_migration_multi_python/test.py diff --git a/README.MD b/README.MD index a990a409..a46b2ca5 100644 --- a/README.MD +++ b/README.MD @@ -2,63 +2,31 @@ 🐍 A collection of Python Packages as AWS Lambda(λ) Layers 🐍 -[![Python 3.8](https://img.shields.io/badge/python-3.8-green.svg)](https://www.python.org/downloads/release/python-380/) [![Language grade: Python](https://img.shields.io/lgtm/grade/python/g/keithrozario/Klayers.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/keithrozario/Klayers/context:python) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black) +[![Python 3.8](https://img.shields.io/badge/python-3.8-green.svg)](https://www.python.org/downloads/release/python-380/) [![Python 3.8](https://img.shields.io/badge/python-3.9-green.svg)](https://www.python.org/downloads/release/python-390/) [![Language grade: Python](https://img.shields.io/lgtm/grade/python/g/keithrozario/Klayers.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/keithrozario/Klayers/context:python) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black) -## Layer List +## List of ARNs -List of all layer version arns are available by region [here](deployments/python3.8/arns) +List of the latest layer version arns are available by region: -There might be multiple versions for a single package, as we publish a new layer version if the package dependencies (`requirements.txt`) has been updated. Refer to [Layer expiry](#Layer-expiry) for more data. +* [Python 3.8](deployments/python3.8) +* [Python 3.9](deployments/python3.9) -*Note: We have deprecated layers for python3.6 and python 3.7, please use these newer versions that are built for python 3.8 going forward.* +*Note: We have deprecated layers for python3.6 and python 3.7, please use these newer versions that are built for python 3.8 and python 3.9 going forward.* ## Python Packages -Just some examples of the ~70 packages we build every week, for a full list click [here](pipeline/config/Klayers-prodp38/packages.csv): - -* aws-lambda-powertools -* aws-xray-sdk -* bcrypt -* beautifulsoup4 -* boto3 -* dynamodb-encryption-sdk -* idna -* lambda-cache -* nltk -* numpy -* opencv-python-headless -* openpyxl -* pandas -* parliament -* Pillow -* pulp -* pycryptodome -* PyJWT -* PyMUPDF -* pyqldb -* pytesseract -* pytz -* PyYAML -* requests -* slackclient -* spacy -* ... +For the full list of Python packages, refer to the following, feel free to make a pull requests modifying the files below to requests for newer python versions. -## Status of layers - -Click [here](https://pyup.io/repos/github/keithrozario/Klayers/) to see specific dependencies of all the latest builds. Layers are built with the latest package version at 2am UTC every Sunday. +* [Python 3.8](pipeline/config/packages_p38.csv) +* [Python 3.9](pipeline/config/packages_p39.csv) ## Using the Layers -You can use the layers anyway you see fit, here are 3 proposed options: +You can use the layers anyway you see fit, here are 4 options based on what method you use to deploy your lambda functions: ### Option 1: Set ARN as layer -Click links below for your preferred version of python, and then select your region of choice, you will see a full list of layer version ARNs to use. - -* [Arns](deployments/python3.8/arns) - -Once selected, you can add the arn directly from the console, by selecting Layers->Add a Layer->Specify an Arn: +Add the arn directly from the console, by selecting Layers->Add a Layer->Specify an Arn: ![Screenshot](documentation/add_arn.png) @@ -76,7 +44,7 @@ You can include layers in your deployments, by utilizing the `layers` property a check: handler: 02_pipeline/check.main description: Checks for package on PyPi via the API - runtime: python3.8 + runtime: python3.9 timeout: 30 memorySize: 256 layers: @@ -84,76 +52,72 @@ check: - arn:aws:lambda:${self:provider.region}:113088814899:layer:Klayers-python38-aws-lambda-powertools:23 ``` -## Layer expiry +### Option 4: Using AWS Serverless Application Model (SAM) -Some layer versions will have a `expiry_date` field. This is the date for when the layers will be deleted. +Using AWS SAM, you can include layers in your serverless applications.You must use layers from the same region as your function: -In general, layers are scheduled for deletion 60 days after a new layer version has been published for that package. If you use that latest version of a layer, you're guaranteed at least 60 days before the layer is deleted. +```yaml +ServerlessFunction: + Type: AWS::Serverless::Function + Properties: + CodeUri: . + Handler: my_handler + Runtime: Python3.9 + Layers: + - arn:aws:lambda:ap-southeast-1:113088814899:layer:Klayers-p39-packaging:1 +``` -All functions deployed with a layer will still work indefinitely, but you won't be able to deploy new functions referencing a deleted layer version. +## Status of layers -## Binaries +Layers are built with the latest package version at 2am UTC on the first day of the Month. -Special hand-crafted binaries for layers. These layers are not automatically built, and hence slower update cycles, and will only work with python3.7 functions as the underlying OS is Amazon Linux 1. +If there's a critical issue with a package, which needs a new version of it published, raise an issue for the package, and I'll try my best to perform the deploy. -| Package | ARN | Version | -| :------------- |:------------------------------------------------------------------------------- | ---------- | -| pip | arn:aws:lambda:\<*region*>:113088814899:layer:Klayers-python37-pip:2 | 19.2.1 1| | -| en_core_web_sm | arn:aws:lambda:\<*region*>:770693421928:layer:Klayers-python38-spacy_model_en_small:1 | 2.2.5 2| -| es_core_news_sm | arn:aws:lambda:\<*region*>:770693421928:layer:Klayers-python38-spacy_model_es_small:1 | 2.3.1 2| +## Layer expiry -1 Python3.8 layers already have new version of pip, use only if on Python3.7 +Some layer versions will have a `expiry_date` field. This is the date for when the layers will be deleted. -2 Spacy [en_core_web_sm](https://spacy.io/models/en) model, for use with the spacy layer refer [here](https://github.com/keithrozario/Klayers/issues/97) for more info. +In general, layers are scheduled for deletion 365 days after a new layer version has been published for that package. If you use that latest version of a layer, you're guaranteed at **least** 365 days before the layer is deleted. +All functions deployed with a layer will still work indefinitely, but you won't be able to deploy new functions referencing a deleted layer version. ## Architecture Diagram ![Screenshot](documentation/Klayers-Architecture.png) -## API (beta) +## API + +API v2 has been released. Please use v2 going forward, as we'll end v1 by June-2022. -We've recently added an API under beta. All API calls are http-based, and work only with https (TLS1.2 and above). The API is heavily cached, so there could be minor delays in updates. +All API calls are http-based, and work only with https (TLS1.2 and above). The API is heavily cached, so there could be minor delays in updates. ### Get latest ARN for specific package in region -Returns data on the latest layer for a specific *{package}* in a specific *{region}* +Returns data on the latest layer for a all packages in a specific *{region}* for your *{python_version}* -*https://api.klayers.cloud/api/v1/layers/latest/{region}/{package}* +*https://api.klayers.cloud/api/v2/{python_version}/layers/latest/{region}/* example: - * https://api.klayers.cloud/api/v1/layers/latest/us-east-1/requests - * https://api.klayers.cloud/api/v1/layers/latest/ap-southeast-1/boto3 - +* [https://api.klayers.cloud/api/v2/p3.9/layers/latest/us-east-1/](https://api.klayers.cloud/api/v2/p3.9/layers/latest/us-east-1/) +* [https://api.klayers.cloud/api/v2/p3.8/layers/latest/ap-southeast-1/](https://api.klayers.cloud/api/v2/p3.9/layers/latest/ap-southeast-1/) ### Get all ARNs for specific package in region -Returns data on the all layers (latest and deprecated) for a specific *{package}* in a specific *{region}* - -*https://api.klayers.cloud/api/v1/layers/{region}/{package}* +Returns data on the all layers (latest and deprecated) for a **specific** *{package}* in a specific *{region}* for your *{python_version}* +*https://api.klayers.cloud/api/v2/{python_version}/layers/{region}/{package}* example: - * https://api.klayers.cloud/api/v1/layers/us-east-1/requests - * https://api.klayers.cloud/api/v1/layers/ap-southeast-1/boto3 - -### Get list of all built packages - -Returns list of all packages currently being built, including dependencies and build date. - -*https://api.klayers.cloud/api/v1/builds/latest* - -example: - - * https://api.klayers.cloud/api/v1/builds/latest +* [https://api.klayers.cloud/api/v2/p3.8/layers/us-east-1/requests](https://api.klayers.cloud/api/v2/p3.8/layers/us-east-1/requests) +* [https://api.klayers.cloud/api/v2/p3.9/layers/ap-southeast-1/boto3](https://api.klayers.cloud/api/v2/p3.9/layers/ap-southeast-1/boto3) ## Special Thanks -* [Chahna107](https://github.com/chahna107) for adding tesseract config files into the tesseract layer. +* [Chahna107](https://github.com/chahna107) * [~ Dependencies scanned by PyUp.io ~](https://pyup.io/) ## Asking for additional layers -If you would like a new package to be made a layer, raise a `pull request` modifying the `pipeline/config/Klayers-prodp38` file. \ No newline at end of file +If you would like a new package to be made a layer, raise a `pull request` modifying the `pipeline/config/packages_p39.csv` or `pipeline/config/packages_p38.csv` file (depending on which version of python you use). By default, please request for the latest version of python unless you absolutely need an older version. diff --git a/deployments/python3.8/README.MD b/deployments/python3.8/README.MD new file mode 100644 index 00000000..93ca040b --- /dev/null +++ b/deployments/python3.8/README.MD @@ -0,0 +1,27 @@ +# Layers for Python 3.8 + +Use the following links to download the latest Arns for your specific region in the format you prefer (json, csv or html). + +| Region (Code) | Region (Name)| ARNs| +| :------------- |:--------|:--------| +| af-south-1 |Africa (Cape Town)| [json](https://api.klayers.cloud//api/v2/p3.8/layers/latest/af-south-1/json) \| [csv](https://api.klayers.cloud//api/v2/p3.8/layers/latest/af-south-1/csv) \| [html](https://api.klayers.cloud//api/v2/p3.8/layers/latest/af-south-1/html)| +| ap-east-1 | Asia Pacific (Hong Kong)| [json](https://api.klayers.cloud//api/v2/p3.8/layers/latest/ap-east-1/json) \| [csv](https://api.klayers.cloud//api/v2/p3.8/layers/latest/ap-east-1/csv) \| [html](https://api.klayers.cloud//api/v2/p3.8/layers/latest/ap-east-1/html)| +| ap-northeast-1 |Asia Pacific (Tokyo)| [json](https://api.klayers.cloud//api/v2/p3.8/layers/latest/ap-northeast-1/json) \| [csv](https://api.klayers.cloud//api/v2/p3.8/layers/latest/ap-northeast-1/csv) \| [html](https://api.klayers.cloud//api/v2/p3.8/layers/latest/ap-northeast-1/html)| +| ap-northeast-2 |Asia Pacific (Seoul)| [json](https://api.klayers.cloud//api/v2/p3.8/layers/latest/ap-northeast-2/json) \| [csv](https://api.klayers.cloud//api/v2/p3.8/layers/latest/ap-northeast-2/csv) \| [html](https://api.klayers.cloud//api/v2/p3.8/layers/latest/ap-northeast-2/html)| +| ap-south-1 |Asia Pacific (Mumbai)| [json](https://api.klayers.cloud//api/v2/p3.8/layers/latest/ap-south-1/json) \| [csv](https://api.klayers.cloud//api/v2/p3.8/layers/latest/ap-south-1/csv) \| [html](https://api.klayers.cloud//api/v2/p3.8/layers/latest/ap-south-1/html)| +| ap-southeast-1 |Asia Pacific (Singapore)| [json](https://api.klayers.cloud//api/v2/p3.8/layers/latest/ap-southeast-1/json) \| [csv](https://api.klayers.cloud//api/v2/p3.8/layers/latest/ap-southeast-1/csv) \| [html](https://api.klayers.cloud//api/v2/p3.8/layers/latest/ap-southeast-1/html)| +| ap-southeast-2 |Asia Pacific (Sydney)| [json](https://api.klayers.cloud//api/v2/p3.8/layers/latest/ap-southeast-2/json) \| [csv](https://api.klayers.cloud//api/v2/p3.8/layers/latest/ap-southeast-2/csv) \| [html](https://api.klayers.cloud//api/v2/p3.8/layers/latest/ap-southeast-2/html)| +| ap-southeast-3 |Asia Pacific (Jakarta)| [json](https://api.klayers.cloud//api/v2/p3.8/layers/latest/ap-southeast-3/json) \| [csv](https://api.klayers.cloud//api/v2/p3.8/layers/latest/ap-southeast-3/csv) \| [html](https://api.klayers.cloud//api/v2/p3.8/layers/latest/ap-southeast-3/html)| +| ca-central-1 |Canada (Central)| [json](https://api.klayers.cloud//api/v2/p3.8/layers/latest/ca-central-1/json) \| [csv](https://api.klayers.cloud//api/v2/p3.8/layers/latest/ca-central-1/csv) \| [html](https://api.klayers.cloud//api/v2/p3.8/layers/latest/ca-central-1/html)| +| eu-central-1 |EU (Frankfurt)| [json](https://api.klayers.cloud//api/v2/p3.8/layers/latest/eu-central-1/json) \| [csv](https://api.klayers.cloud//api/v2/p3.8/layers/latest/eu-central-1/csv) \| [html](https://api.klayers.cloud//api/v2/p3.8/layers/latest/eu-central-1/html)| +| eu-north-1 |EU (Stockholm)| [json](https://api.klayers.cloud//api/v2/p3.8/layers/latest/eu-north-1/json) \| [csv](https://api.klayers.cloud//api/v2/p3.8/layers/latest/eu-north-1/csv) \| [html](https://api.klayers.cloud//api/v2/p3.8/layers/latest/eu-north-1/html)| +| eu-south-1 |EU (Milan)| [json](https://api.klayers.cloud//api/v2/p3.8/layers/latest/eu-south-1/json) \| [csv](https://api.klayers.cloud//api/v2/p3.8/layers/latest/eu-south-1/csv) \| [html](https://api.klayers.cloud//api/v2/p3.8/layers/latest/eu-south-1/html)| +| eu-west-1 |EU (Ireland)| [json](https://api.klayers.cloud//api/v2/p3.8/layers/latest/eu-west-1/json) \| [csv](https://api.klayers.cloud//api/v2/p3.8/layers/latest/eu-west-1/csv) \| [html](https://api.klayers.cloud//api/v2/p3.8/layers/latest/eu-west-1/html)| +| eu-west-2 |EU (London)| [json](https://api.klayers.cloud//api/v2/p3.8/layers/latest/eu-west-2/json) \| [csv](https://api.klayers.cloud//api/v2/p3.8/layers/latest/eu-west-2/csv) \| [html](https://api.klayers.cloud//api/v2/p3.8/layers/latest/eu-west-2/html)| +| eu-west-3 |EU (Paris)| [json](https://api.klayers.cloud//api/v2/p3.8/layers/latest/eu-west-3/json) \| [csv](https://api.klayers.cloud//api/v2/p3.8/layers/latest/eu-west-3/csv) \| [html](https://api.klayers.cloud//api/v2/p3.8/layers/latest/eu-west-3/html)| +| me-south-1 |Middle East (Bahrain)| [json](https://api.klayers.cloud//api/v2/p3.8/layers/latest/me-south-1/json) \| [csv](https://api.klayers.cloud//api/v2/p3.8/layers/latest/me-south-1/csv) \| [html](https://api.klayers.cloud//api/v2/p3.8/layers/latest/me-south-1/html)| +| sa-east-1 |South America (São Paulo)| [json](https://api.klayers.cloud//api/v2/p3.8/layers/latest/sa-east-1/json) \| [csv](https://api.klayers.cloud//api/v2/p3.8/layers/latest/sa-east-1/csv) \| [html](https://api.klayers.cloud//api/v2/p3.8/layers/latest/sa-east-1/html)| +| us-east-1 |US East (N. Virginia)| [json](https://api.klayers.cloud//api/v2/p3.8/layers/latest/us-east-1/json) \| [csv](https://api.klayers.cloud//api/v2/p3.8/layers/latest/us-east-1/csv) \| [html](https://api.klayers.cloud//api/v2/p3.8/layers/latest/us-east-1/html)| +| us-east-2 |US East (Ohio)| [json](https://api.klayers.cloud//api/v2/p3.8/layers/latest/us-east-2/json) \| [csv](https://api.klayers.cloud//api/v2/p3.8/layers/latest/us-east-2/csv) \| [html](https://api.klayers.cloud//api/v2/p3.8/layers/latest/us-east-2/html)| +| us-west-1 |US West (N. California)| [json](https://api.klayers.cloud//api/v2/p3.8/layers/latest/us-west-1/json) \| [csv](https://api.klayers.cloud//api/v2/p3.8/layers/latest/us-west-1/csv) \| [html](https://api.klayers.cloud//api/v2/p3.8/layers/latest/us-west-1/html)| +| us-west-2 |US West (Oregon)| [json](https://api.klayers.cloud//api/v2/p3.8/layers/latest/us-west-2/json) \| [csv](https://api.klayers.cloud//api/v2/p3.8/layers/latest/us-west-2/csv) \| [html](https://api.klayers.cloud//api/v2/p3.8/layers/latest/us-west-2/html)| \ No newline at end of file diff --git a/deployments/python3.8/packages/Cerberus/requirements.txt b/deployments/python3.8/packages/Cerberus/requirements.txt deleted file mode 100644 index 561c455d..00000000 --- a/deployments/python3.8/packages/Cerberus/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -Cerberus==1.3.4 \ No newline at end of file diff --git a/deployments/python3.8/packages/Pillow/requirements.txt b/deployments/python3.8/packages/Pillow/requirements.txt deleted file mode 100644 index e833b702..00000000 --- a/deployments/python3.8/packages/Pillow/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -Pillow==9.0.0 \ No newline at end of file diff --git a/deployments/python3.8/packages/PyJWT/requirements.txt b/deployments/python3.8/packages/PyJWT/requirements.txt deleted file mode 100644 index 0871c238..00000000 --- a/deployments/python3.8/packages/PyJWT/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -PyJWT==2.3.0 \ No newline at end of file diff --git a/deployments/python3.8/packages/PyMUPDF/requirements.txt b/deployments/python3.8/packages/PyMUPDF/requirements.txt deleted file mode 100644 index 85dc3730..00000000 --- a/deployments/python3.8/packages/PyMUPDF/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -PyMuPDF==1.19.4 \ No newline at end of file diff --git a/deployments/python3.8/packages/PyMySQL/requirements.txt b/deployments/python3.8/packages/PyMySQL/requirements.txt deleted file mode 100644 index cdcefb7f..00000000 --- a/deployments/python3.8/packages/PyMySQL/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -PyMySQL==1.0.2 \ No newline at end of file diff --git a/deployments/python3.8/packages/PyNaCl/requirements.txt b/deployments/python3.8/packages/PyNaCl/requirements.txt deleted file mode 100644 index c26cbfef..00000000 --- a/deployments/python3.8/packages/PyNaCl/requirements.txt +++ /dev/null @@ -1,3 +0,0 @@ -cffi==1.15.0 -pycparser==2.21 -PyNaCl==1.5.0 \ No newline at end of file diff --git a/deployments/python3.8/packages/PyYAML/requirements.txt b/deployments/python3.8/packages/PyYAML/requirements.txt deleted file mode 100644 index a3db8990..00000000 --- a/deployments/python3.8/packages/PyYAML/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -PyYAML==6.0 \ No newline at end of file diff --git a/deployments/python3.8/packages/SQLAlchemy/requirements.txt b/deployments/python3.8/packages/SQLAlchemy/requirements.txt deleted file mode 100644 index 02996735..00000000 --- a/deployments/python3.8/packages/SQLAlchemy/requirements.txt +++ /dev/null @@ -1,2 +0,0 @@ -greenlet==1.1.2 -SQLAlchemy==1.4.31 \ No newline at end of file diff --git a/deployments/python3.8/packages/aiobotocore/requirements.txt b/deployments/python3.8/packages/aiobotocore/requirements.txt deleted file mode 100644 index d026268c..00000000 --- a/deployments/python3.8/packages/aiobotocore/requirements.txt +++ /dev/null @@ -1,17 +0,0 @@ -aiobotocore==2.1.0 -aiohttp==3.8.1 -aioitertools==0.8.0 -aiosignal==1.2.0 -async-timeout==4.0.2 -attrs==21.4.0 -botocore==1.23.24 -charset-normalizer==2.0.11 -frozenlist==1.3.0 -idna==3.3 -jmespath==0.10.0 -multidict==6.0.2 -python-dateutil==2.8.2 -six==1.16.0 -urllib3==1.26.8 -wrapt==1.13.3 -yarl==1.7.2 \ No newline at end of file diff --git a/deployments/python3.8/packages/aiohttp/requirements.txt b/deployments/python3.8/packages/aiohttp/requirements.txt deleted file mode 100644 index 837295c8..00000000 --- a/deployments/python3.8/packages/aiohttp/requirements.txt +++ /dev/null @@ -1,9 +0,0 @@ -aiohttp==3.8.1 -aiosignal==1.2.0 -async-timeout==4.0.2 -attrs==21.4.0 -charset-normalizer==2.0.11 -frozenlist==1.3.0 -idna==3.3 -multidict==6.0.2 -yarl==1.7.2 \ No newline at end of file diff --git a/deployments/python3.8/packages/ansible/requirements.txt b/deployments/python3.8/packages/ansible/requirements.txt deleted file mode 100644 index ac9c339a..00000000 --- a/deployments/python3.8/packages/ansible/requirements.txt +++ /dev/null @@ -1,8 +0,0 @@ -ansible==2.9.13 -cffi==1.14.2 -cryptography==3.1 -Jinja2==2.11.2 -MarkupSafe==1.1.1 -pycparser==2.20 -PyYAML==5.3.1 -six==1.15.0 \ No newline at end of file diff --git a/deployments/python3.8/packages/arrow/requirements.txt b/deployments/python3.8/packages/arrow/requirements.txt deleted file mode 100644 index 74bbb3ba..00000000 --- a/deployments/python3.8/packages/arrow/requirements.txt +++ /dev/null @@ -1,3 +0,0 @@ -arrow==1.2.2 -python-dateutil==2.8.2 -six==1.16.0 \ No newline at end of file diff --git a/deployments/python3.8/packages/asyncio/requirements.txt b/deployments/python3.8/packages/asyncio/requirements.txt deleted file mode 100644 index 8afb09cb..00000000 --- a/deployments/python3.8/packages/asyncio/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -asyncio==3.4.3 \ No newline at end of file diff --git a/deployments/python3.8/packages/aws-lambda-powertools/requirements.txt b/deployments/python3.8/packages/aws-lambda-powertools/requirements.txt deleted file mode 100644 index 527511bf..00000000 --- a/deployments/python3.8/packages/aws-lambda-powertools/requirements.txt +++ /dev/null @@ -1,12 +0,0 @@ -aws-lambda-powertools==1.24.2 -aws-xray-sdk==2.9.0 -boto3==1.20.46 -botocore==1.23.46 -fastjsonschema==2.15.3 -future==0.18.2 -jmespath==0.10.0 -python-dateutil==2.8.2 -s3transfer==0.5.0 -six==1.16.0 -urllib3==1.26.8 -wrapt==1.13.3 \ No newline at end of file diff --git a/deployments/python3.8/packages/aws-psycopg2/requirements.txt b/deployments/python3.8/packages/aws-psycopg2/requirements.txt deleted file mode 100644 index c23b16ff..00000000 --- a/deployments/python3.8/packages/aws-psycopg2/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -aws-psycopg2==1.2.1 \ No newline at end of file diff --git a/deployments/python3.8/packages/aws-requests-auth/requirements.txt b/deployments/python3.8/packages/aws-requests-auth/requirements.txt deleted file mode 100644 index b1ebb6d8..00000000 --- a/deployments/python3.8/packages/aws-requests-auth/requirements.txt +++ /dev/null @@ -1,6 +0,0 @@ -aws-requests-auth==0.4.3 -certifi==2021.10.8 -charset-normalizer==2.0.11 -idna==3.3 -requests==2.27.1 -urllib3==1.26.8 \ No newline at end of file diff --git a/deployments/python3.8/packages/aws-xray-sdk/requirements.txt b/deployments/python3.8/packages/aws-xray-sdk/requirements.txt deleted file mode 100644 index 9f1762d6..00000000 --- a/deployments/python3.8/packages/aws-xray-sdk/requirements.txt +++ /dev/null @@ -1,8 +0,0 @@ -aws-xray-sdk==2.9.0 -botocore==1.23.46 -future==0.18.2 -jmespath==0.10.0 -python-dateutil==2.8.2 -six==1.16.0 -urllib3==1.26.8 -wrapt==1.13.3 \ No newline at end of file diff --git a/deployments/python3.8/packages/bcrypt/requirements.txt b/deployments/python3.8/packages/bcrypt/requirements.txt deleted file mode 100644 index 3b4ff6de..00000000 --- a/deployments/python3.8/packages/bcrypt/requirements.txt +++ /dev/null @@ -1,4 +0,0 @@ -bcrypt==3.2.0 -cffi==1.15.0 -pycparser==2.21 -six==1.16.0 \ No newline at end of file diff --git a/deployments/python3.8/packages/beautifulsoup4/requirements.txt b/deployments/python3.8/packages/beautifulsoup4/requirements.txt deleted file mode 100644 index 89c619f6..00000000 --- a/deployments/python3.8/packages/beautifulsoup4/requirements.txt +++ /dev/null @@ -1,2 +0,0 @@ -beautifulsoup4==4.10.0 -soupsieve==2.3.1 \ No newline at end of file diff --git a/deployments/python3.8/packages/black/requirements.txt b/deployments/python3.8/packages/black/requirements.txt deleted file mode 100644 index adee395f..00000000 --- a/deployments/python3.8/packages/black/requirements.txt +++ /dev/null @@ -1,7 +0,0 @@ -black==22.1.0 -click==8.0.3 -mypy-extensions==0.4.3 -pathspec==0.9.0 -platformdirs==2.4.1 -tomli==2.0.0 -typing-extensions==4.0.1 \ No newline at end of file diff --git a/deployments/python3.8/packages/boltons/requirements.txt b/deployments/python3.8/packages/boltons/requirements.txt deleted file mode 100644 index 21bbdef5..00000000 --- a/deployments/python3.8/packages/boltons/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -boltons==21.0.0 \ No newline at end of file diff --git a/deployments/python3.8/packages/boto3/requirements.txt b/deployments/python3.8/packages/boto3/requirements.txt deleted file mode 100644 index a779435e..00000000 --- a/deployments/python3.8/packages/boto3/requirements.txt +++ /dev/null @@ -1,7 +0,0 @@ -boto3==1.20.46 -botocore==1.23.46 -jmespath==0.10.0 -python-dateutil==2.8.2 -s3transfer==0.5.0 -six==1.16.0 -urllib3==1.26.8 \ No newline at end of file diff --git a/deployments/python3.8/packages/chevron/requirements.txt b/deployments/python3.8/packages/chevron/requirements.txt deleted file mode 100644 index fd515840..00000000 --- a/deployments/python3.8/packages/chevron/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -chevron==0.14.0 \ No newline at end of file diff --git a/deployments/python3.8/packages/cloudsplaining/requirements.txt b/deployments/python3.8/packages/cloudsplaining/requirements.txt deleted file mode 100644 index 49b00757..00000000 --- a/deployments/python3.8/packages/cloudsplaining/requirements.txt +++ /dev/null @@ -1,26 +0,0 @@ -beautifulsoup4==4.10.0 -boto3==1.20.46 -botocore==1.23.46 -cached-property==1.5.2 -certifi==2021.10.8 -charset-normalizer==2.0.11 -click==8.0.3 -click-option-group==0.5.3 -cloudsplaining==0.4.10 -contextlib2==21.6.0 -idna==3.3 -importlib-metadata==4.10.1 -Jinja2==3.0.3 -jmespath==0.10.0 -Markdown==3.3.6 -MarkupSafe==2.0.1 -policy-sentry==0.12.1 -python-dateutil==2.8.2 -PyYAML==6.0 -requests==2.27.1 -s3transfer==0.5.0 -schema==0.7.5 -six==1.16.0 -soupsieve==2.3.1 -urllib3==1.26.8 -zipp==3.7.0 \ No newline at end of file diff --git a/deployments/python3.8/packages/construct/requirements.txt b/deployments/python3.8/packages/construct/requirements.txt deleted file mode 100644 index 88772b7d..00000000 --- a/deployments/python3.8/packages/construct/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -construct==2.10.67 \ No newline at end of file diff --git a/deployments/python3.8/packages/crhelper/requirements.txt b/deployments/python3.8/packages/crhelper/requirements.txt deleted file mode 100644 index fa256a11..00000000 --- a/deployments/python3.8/packages/crhelper/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -crhelper==2.0.10 \ No newline at end of file diff --git a/deployments/python3.8/packages/cryptography/requirements.txt b/deployments/python3.8/packages/cryptography/requirements.txt deleted file mode 100644 index dc645b7e..00000000 --- a/deployments/python3.8/packages/cryptography/requirements.txt +++ /dev/null @@ -1,3 +0,0 @@ -cffi==1.15.0 -cryptography==36.0.1 -pycparser==2.21 \ No newline at end of file diff --git a/deployments/python3.8/packages/datadog/requirements.txt b/deployments/python3.8/packages/datadog/requirements.txt deleted file mode 100644 index b21b4566..00000000 --- a/deployments/python3.8/packages/datadog/requirements.txt +++ /dev/null @@ -1,6 +0,0 @@ -certifi==2021.10.8 -charset-normalizer==2.0.11 -datadog==0.43.0 -idna==3.3 -requests==2.27.1 -urllib3==1.26.8 \ No newline at end of file diff --git a/deployments/python3.8/packages/dropbox/requirements.txt b/deployments/python3.8/packages/dropbox/requirements.txt deleted file mode 100644 index 751f7e43..00000000 --- a/deployments/python3.8/packages/dropbox/requirements.txt +++ /dev/null @@ -1,9 +0,0 @@ -certifi==2021.10.8 -charset-normalizer==2.0.11 -dropbox==11.26.0 -idna==3.3 -ply==3.11 -requests==2.27.1 -six==1.16.0 -stone==3.3.1 -urllib3==1.26.8 \ No newline at end of file diff --git a/deployments/python3.8/packages/dynamodb-encryption-sdk/requirements.txt b/deployments/python3.8/packages/dynamodb-encryption-sdk/requirements.txt deleted file mode 100644 index f4a8206f..00000000 --- a/deployments/python3.8/packages/dynamodb-encryption-sdk/requirements.txt +++ /dev/null @@ -1,12 +0,0 @@ -attrs==21.4.0 -boto3==1.20.46 -botocore==1.23.46 -cffi==1.15.0 -cryptography==36.0.1 -dynamodb-encryption-sdk==3.1.0 -jmespath==0.10.0 -pycparser==2.21 -python-dateutil==2.8.2 -s3transfer==0.5.0 -six==1.16.0 -urllib3==1.26.8 \ No newline at end of file diff --git a/deployments/python3.8/packages/elasticsearch/requirements.txt b/deployments/python3.8/packages/elasticsearch/requirements.txt deleted file mode 100644 index f8b6e557..00000000 --- a/deployments/python3.8/packages/elasticsearch/requirements.txt +++ /dev/null @@ -1,3 +0,0 @@ -certifi==2021.10.8 -elasticsearch==7.16.3 -urllib3==1.26.8 \ No newline at end of file diff --git a/deployments/python3.8/packages/envelopes/requirements.txt b/deployments/python3.8/packages/envelopes/requirements.txt deleted file mode 100644 index b8afd0b1..00000000 --- a/deployments/python3.8/packages/envelopes/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -Envelopes==0.4 \ No newline at end of file diff --git a/deployments/python3.8/packages/exchangelib/requirements.txt b/deployments/python3.8/packages/exchangelib/requirements.txt deleted file mode 100644 index e0c323a4..00000000 --- a/deployments/python3.8/packages/exchangelib/requirements.txt +++ /dev/null @@ -1,24 +0,0 @@ -backports.zoneinfo==0.2.1 -cached-property==1.5.2 -certifi==2021.10.8 -cffi==1.15.0 -charset-normalizer==2.0.11 -cryptography==36.0.1 -defusedxml==0.7.1 -dnspython==2.2.0 -exchangelib==4.7.2 -idna==3.3 -isodate==0.6.1 -lxml==4.7.1 -ntlm-auth==1.5.0 -oauthlib==3.2.0 -pycparser==2.21 -Pygments==2.11.2 -pytz-deprecation-shim==0.1.0.post0 -requests==2.27.1 -requests-ntlm==1.1.0 -requests-oauthlib==1.3.1 -six==1.16.0 -tzdata==2021.5 -tzlocal==4.1 -urllib3==1.26.8 \ No newline at end of file diff --git a/deployments/python3.8/packages/ffmpeg-python/requirements.txt b/deployments/python3.8/packages/ffmpeg-python/requirements.txt deleted file mode 100644 index 5dca6eb4..00000000 --- a/deployments/python3.8/packages/ffmpeg-python/requirements.txt +++ /dev/null @@ -1,2 +0,0 @@ -ffmpeg-python==0.2.0 -future==0.18.2 \ No newline at end of file diff --git a/deployments/python3.8/packages/flashtext/requirements.txt b/deployments/python3.8/packages/flashtext/requirements.txt deleted file mode 100644 index bea9c581..00000000 --- a/deployments/python3.8/packages/flashtext/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -flashtext==2.7 \ No newline at end of file diff --git a/deployments/python3.8/packages/geopy/requirements.txt b/deployments/python3.8/packages/geopy/requirements.txt deleted file mode 100644 index c58e6a2e..00000000 --- a/deployments/python3.8/packages/geopy/requirements.txt +++ /dev/null @@ -1,2 +0,0 @@ -geographiclib==1.52 -geopy==2.2.0 \ No newline at end of file diff --git a/deployments/python3.8/packages/google-auth-oauthlib/requirements.txt b/deployments/python3.8/packages/google-auth-oauthlib/requirements.txt deleted file mode 100644 index 7b013bfb..00000000 --- a/deployments/python3.8/packages/google-auth-oauthlib/requirements.txt +++ /dev/null @@ -1,14 +0,0 @@ -cachetools==5.0.0 -certifi==2021.10.8 -charset-normalizer==2.0.11 -google-auth==2.5.0 -google-auth-oauthlib==0.4.6 -idna==3.3 -oauthlib==3.2.0 -pyasn1==0.4.8 -pyasn1-modules==0.2.8 -requests==2.27.1 -requests-oauthlib==1.3.1 -rsa==4.8 -six==1.16.0 -urllib3==1.26.8 \ No newline at end of file diff --git a/deployments/python3.8/packages/google-auth/requirements.txt b/deployments/python3.8/packages/google-auth/requirements.txt deleted file mode 100644 index 02784437..00000000 --- a/deployments/python3.8/packages/google-auth/requirements.txt +++ /dev/null @@ -1,6 +0,0 @@ -cachetools==5.0.0 -google-auth==2.5.0 -pyasn1==0.4.8 -pyasn1-modules==0.2.8 -rsa==4.8 -six==1.16.0 \ No newline at end of file diff --git a/deployments/python3.8/packages/graphene/requirements.txt b/deployments/python3.8/packages/graphene/requirements.txt deleted file mode 100644 index e6af29a5..00000000 --- a/deployments/python3.8/packages/graphene/requirements.txt +++ /dev/null @@ -1,7 +0,0 @@ -aniso8601==7.0.0 -graphene==2.1.8 -graphql-core==2.2.1 -graphql-relay==2.0.1 -promise==2.3 -Rx==1.6.1 -six==1.13.0 \ No newline at end of file diff --git a/deployments/python3.8/packages/grpcio/requirements.txt b/deployments/python3.8/packages/grpcio/requirements.txt deleted file mode 100644 index cfb304dc..00000000 --- a/deployments/python3.8/packages/grpcio/requirements.txt +++ /dev/null @@ -1,2 +0,0 @@ -grpcio==1.43.0 -six==1.16.0 \ No newline at end of file diff --git a/deployments/python3.8/packages/gspread/requirements.txt b/deployments/python3.8/packages/gspread/requirements.txt deleted file mode 100644 index ee82b1db..00000000 --- a/deployments/python3.8/packages/gspread/requirements.txt +++ /dev/null @@ -1,15 +0,0 @@ -cachetools==5.0.0 -certifi==2021.10.8 -charset-normalizer==2.0.11 -google-auth==2.5.0 -google-auth-oauthlib==0.4.6 -gspread==5.1.1 -idna==3.3 -oauthlib==3.2.0 -pyasn1==0.4.8 -pyasn1-modules==0.2.8 -requests==2.27.1 -requests-oauthlib==1.3.1 -rsa==4.8 -six==1.16.0 -urllib3==1.26.8 \ No newline at end of file diff --git a/deployments/python3.8/packages/idna/requirements.txt b/deployments/python3.8/packages/idna/requirements.txt deleted file mode 100644 index 01819158..00000000 --- a/deployments/python3.8/packages/idna/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -idna==3.3 \ No newline at end of file diff --git a/deployments/python3.8/packages/itsdangerous/requirements.txt b/deployments/python3.8/packages/itsdangerous/requirements.txt deleted file mode 100644 index b8ee0a3a..00000000 --- a/deployments/python3.8/packages/itsdangerous/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -itsdangerous==2.0.1 \ No newline at end of file diff --git a/deployments/python3.8/packages/jellyfish/requirements.txt b/deployments/python3.8/packages/jellyfish/requirements.txt deleted file mode 100644 index 09eda788..00000000 --- a/deployments/python3.8/packages/jellyfish/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -jellyfish==0.9.0 \ No newline at end of file diff --git a/deployments/python3.8/packages/jinja2/requirements.txt b/deployments/python3.8/packages/jinja2/requirements.txt deleted file mode 100644 index 8311e5f7..00000000 --- a/deployments/python3.8/packages/jinja2/requirements.txt +++ /dev/null @@ -1,2 +0,0 @@ -Jinja2==3.0.3 -MarkupSafe==2.0.1 \ No newline at end of file diff --git a/deployments/python3.8/packages/jsonschema/requirements.txt b/deployments/python3.8/packages/jsonschema/requirements.txt deleted file mode 100644 index f781f8fd..00000000 --- a/deployments/python3.8/packages/jsonschema/requirements.txt +++ /dev/null @@ -1,5 +0,0 @@ -attrs==21.4.0 -importlib-resources==5.4.0 -jsonschema==4.4.0 -pyrsistent==0.18.1 -zipp==3.7.0 \ No newline at end of file diff --git a/deployments/python3.8/packages/kafka-python/requirements.txt b/deployments/python3.8/packages/kafka-python/requirements.txt deleted file mode 100644 index 66a75ac0..00000000 --- a/deployments/python3.8/packages/kafka-python/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -kafka-python==2.0.2 \ No newline at end of file diff --git a/deployments/python3.8/packages/lambda-cache/requirements.txt b/deployments/python3.8/packages/lambda-cache/requirements.txt deleted file mode 100644 index 8e11d8bd..00000000 --- a/deployments/python3.8/packages/lambda-cache/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -lambda-cache==0.8.1 \ No newline at end of file diff --git a/deployments/python3.8/packages/lambda-decorators/requirements.txt b/deployments/python3.8/packages/lambda-decorators/requirements.txt deleted file mode 100644 index a18205cf..00000000 --- a/deployments/python3.8/packages/lambda-decorators/requirements.txt +++ /dev/null @@ -1,8 +0,0 @@ -boto3==1.20.46 -botocore==1.23.46 -jmespath==0.10.0 -lambda-decorators==0.6.0 -python-dateutil==2.8.2 -s3transfer==0.5.0 -six==1.16.0 -urllib3==1.26.8 \ No newline at end of file diff --git a/deployments/python3.8/packages/langdetect/requirements.txt b/deployments/python3.8/packages/langdetect/requirements.txt deleted file mode 100644 index d626c467..00000000 --- a/deployments/python3.8/packages/langdetect/requirements.txt +++ /dev/null @@ -1,2 +0,0 @@ -langdetect==1.0.9 -six==1.16.0 \ No newline at end of file diff --git a/deployments/python3.8/packages/ldap3/requirements.txt b/deployments/python3.8/packages/ldap3/requirements.txt deleted file mode 100644 index 69403696..00000000 --- a/deployments/python3.8/packages/ldap3/requirements.txt +++ /dev/null @@ -1,2 +0,0 @@ -ldap3==2.9.1 -pyasn1==0.4.8 \ No newline at end of file diff --git a/deployments/python3.8/packages/loguru/requirements.txt b/deployments/python3.8/packages/loguru/requirements.txt deleted file mode 100644 index 2121c8c4..00000000 --- a/deployments/python3.8/packages/loguru/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -loguru==0.6.0 \ No newline at end of file diff --git a/deployments/python3.8/packages/lxml/requirements.txt b/deployments/python3.8/packages/lxml/requirements.txt deleted file mode 100644 index fbb25055..00000000 --- a/deployments/python3.8/packages/lxml/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -lxml==4.7.1 \ No newline at end of file diff --git a/deployments/python3.8/packages/matplotlib/requirements.txt b/deployments/python3.8/packages/matplotlib/requirements.txt deleted file mode 100644 index 34104882..00000000 --- a/deployments/python3.8/packages/matplotlib/requirements.txt +++ /dev/null @@ -1,10 +0,0 @@ -cycler==0.11.0 -fonttools==4.29.0 -kiwisolver==1.3.2 -matplotlib==3.5.1 -numpy==1.22.1 -packaging==21.3 -Pillow==9.0.0 -pyparsing==3.0.7 -python-dateutil==2.8.2 -six==1.16.0 \ No newline at end of file diff --git a/deployments/python3.8/packages/mpld3/requirements.txt b/deployments/python3.8/packages/mpld3/requirements.txt deleted file mode 100644 index 3588fd0f..00000000 --- a/deployments/python3.8/packages/mpld3/requirements.txt +++ /dev/null @@ -1,13 +0,0 @@ -cycler==0.11.0 -fonttools==4.29.0 -Jinja2==3.0.3 -kiwisolver==1.3.2 -MarkupSafe==2.0.1 -matplotlib==3.5.1 -mpld3==0.5.7 -numpy==1.22.1 -packaging==21.3 -Pillow==9.0.0 -pyparsing==3.0.7 -python-dateutil==2.8.2 -six==1.16.0 \ No newline at end of file diff --git a/deployments/python3.8/packages/nltk/requirements.txt b/deployments/python3.8/packages/nltk/requirements.txt deleted file mode 100644 index a936f7e3..00000000 --- a/deployments/python3.8/packages/nltk/requirements.txt +++ /dev/null @@ -1,5 +0,0 @@ -click==8.0.3 -joblib==1.1.0 -nltk==3.6.7 -regex==2022.1.18 -tqdm==4.62.3 \ No newline at end of file diff --git a/deployments/python3.8/packages/numpy/requirements.txt b/deployments/python3.8/packages/numpy/requirements.txt deleted file mode 100644 index 5fd7199e..00000000 --- a/deployments/python3.8/packages/numpy/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -numpy==1.22.1 \ No newline at end of file diff --git a/deployments/python3.8/packages/opencv-python-headless/requirements.txt b/deployments/python3.8/packages/opencv-python-headless/requirements.txt deleted file mode 100644 index 02bc5db3..00000000 --- a/deployments/python3.8/packages/opencv-python-headless/requirements.txt +++ /dev/null @@ -1,2 +0,0 @@ -numpy==1.22.1 -opencv-python-headless==4.5.5.62 \ No newline at end of file diff --git a/deployments/python3.8/packages/openpyxl/requirements.txt b/deployments/python3.8/packages/openpyxl/requirements.txt deleted file mode 100644 index 3dc9913b..00000000 --- a/deployments/python3.8/packages/openpyxl/requirements.txt +++ /dev/null @@ -1,2 +0,0 @@ -et-xmlfile==1.1.0 -openpyxl==3.0.9 \ No newline at end of file diff --git a/deployments/python3.8/packages/opensearch-py/requirements.txt b/deployments/python3.8/packages/opensearch-py/requirements.txt deleted file mode 100644 index 86754fae..00000000 --- a/deployments/python3.8/packages/opensearch-py/requirements.txt +++ /dev/null @@ -1,3 +0,0 @@ -certifi==2021.10.8 -opensearch-py==1.0.0 -urllib3==1.26.8 \ No newline at end of file diff --git a/deployments/python3.8/packages/pandas/requirements.txt b/deployments/python3.8/packages/pandas/requirements.txt deleted file mode 100644 index 1d8a8138..00000000 --- a/deployments/python3.8/packages/pandas/requirements.txt +++ /dev/null @@ -1,5 +0,0 @@ -numpy==1.22.1 -pandas==1.4.0 -python-dateutil==2.8.2 -pytz==2021.3 -six==1.16.0 \ No newline at end of file diff --git a/deployments/python3.8/packages/paramiko/requirements.txt b/deployments/python3.8/packages/paramiko/requirements.txt deleted file mode 100644 index 8b4ac4f9..00000000 --- a/deployments/python3.8/packages/paramiko/requirements.txt +++ /dev/null @@ -1,7 +0,0 @@ -bcrypt==3.2.0 -cffi==1.14.6 -cryptography==3.4.8 -paramiko==2.7.2 -pycparser==2.20 -PyNaCl==1.4.0 -six==1.16.0 \ No newline at end of file diff --git a/deployments/python3.8/packages/parliament/requirements.txt b/deployments/python3.8/packages/parliament/requirements.txt deleted file mode 100644 index d69c5ba0..00000000 --- a/deployments/python3.8/packages/parliament/requirements.txt +++ /dev/null @@ -1,11 +0,0 @@ -boto3==1.20.46 -botocore==1.23.46 -jmespath==0.10.0 -json-cfg==0.4.2 -kwonly-args==1.0.10 -parliament==1.5.2 -python-dateutil==2.8.2 -PyYAML==6.0 -s3transfer==0.5.0 -six==1.16.0 -urllib3==1.26.8 \ No newline at end of file diff --git a/deployments/python3.8/packages/passlib/requirements.txt b/deployments/python3.8/packages/passlib/requirements.txt deleted file mode 100644 index adb6828e..00000000 --- a/deployments/python3.8/packages/passlib/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -passlib==1.7.4 \ No newline at end of file diff --git a/deployments/python3.8/packages/pika/requirements.txt b/deployments/python3.8/packages/pika/requirements.txt deleted file mode 100644 index 6adb1824..00000000 --- a/deployments/python3.8/packages/pika/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -pika==1.2.0 \ No newline at end of file diff --git a/deployments/python3.8/packages/praw/requirements.txt b/deployments/python3.8/packages/praw/requirements.txt deleted file mode 100644 index b8a9e8ef..00000000 --- a/deployments/python3.8/packages/praw/requirements.txt +++ /dev/null @@ -1,9 +0,0 @@ -certifi==2021.10.8 -charset-normalizer==2.0.11 -idna==3.3 -praw==7.5.0 -prawcore==2.3.0 -requests==2.27.1 -update-checker==0.18.0 -urllib3==1.26.8 -websocket-client==1.2.3 \ No newline at end of file diff --git a/deployments/python3.8/packages/pulp/requirements.txt b/deployments/python3.8/packages/pulp/requirements.txt deleted file mode 100644 index 0422f54f..00000000 --- a/deployments/python3.8/packages/pulp/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -PuLP==2.6.0 \ No newline at end of file diff --git a/deployments/python3.8/packages/pyOpenSSL/requirements.txt b/deployments/python3.8/packages/pyOpenSSL/requirements.txt deleted file mode 100644 index 3fc6fd38..00000000 --- a/deployments/python3.8/packages/pyOpenSSL/requirements.txt +++ /dev/null @@ -1,4 +0,0 @@ -cffi==1.15.0 -cryptography==36.0.1 -pycparser==2.21 -pyOpenSSL==22.0.0 \ No newline at end of file diff --git a/deployments/python3.8/packages/pyarrow/requirements.txt b/deployments/python3.8/packages/pyarrow/requirements.txt deleted file mode 100644 index 623df05a..00000000 --- a/deployments/python3.8/packages/pyarrow/requirements.txt +++ /dev/null @@ -1,2 +0,0 @@ -numpy==1.22.1 -pyarrow==6.0.1 \ No newline at end of file diff --git a/deployments/python3.8/packages/pycryptodome/requirements.txt b/deployments/python3.8/packages/pycryptodome/requirements.txt deleted file mode 100644 index d5076de4..00000000 --- a/deployments/python3.8/packages/pycryptodome/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -pycryptodome==3.14.0 \ No newline at end of file diff --git a/deployments/python3.8/packages/pydantic/requirements.txt b/deployments/python3.8/packages/pydantic/requirements.txt deleted file mode 100644 index d68215a4..00000000 --- a/deployments/python3.8/packages/pydantic/requirements.txt +++ /dev/null @@ -1,2 +0,0 @@ -pydantic==1.9.0 -typing-extensions==4.0.1 \ No newline at end of file diff --git a/deployments/python3.8/packages/pygsheets/requirements.txt b/deployments/python3.8/packages/pygsheets/requirements.txt deleted file mode 100644 index 8c525d39..00000000 --- a/deployments/python3.8/packages/pygsheets/requirements.txt +++ /dev/null @@ -1,23 +0,0 @@ -cachetools==5.0.0 -certifi==2021.10.8 -charset-normalizer==2.0.11 -google-api-core==2.4.0 -google-api-python-client==2.36.0 -google-auth==2.5.0 -google-auth-httplib2==0.1.0 -google-auth-oauthlib==0.4.6 -googleapis-common-protos==1.54.0 -httplib2==0.20.2 -idna==3.3 -oauthlib==3.2.0 -protobuf==3.19.4 -pyasn1==0.4.8 -pyasn1-modules==0.2.8 -pygsheets==2.0.5 -pyparsing==3.0.7 -requests==2.27.1 -requests-oauthlib==1.3.1 -rsa==4.8 -six==1.16.0 -uritemplate==4.1.1 -urllib3==1.26.8 \ No newline at end of file diff --git a/deployments/python3.8/packages/pymongo/requirements.txt b/deployments/python3.8/packages/pymongo/requirements.txt deleted file mode 100644 index ee844e58..00000000 --- a/deployments/python3.8/packages/pymongo/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -pymongo==4.0.1 \ No newline at end of file diff --git a/deployments/python3.8/packages/pyparsing/requirements.txt b/deployments/python3.8/packages/pyparsing/requirements.txt deleted file mode 100644 index b681aa3f..00000000 --- a/deployments/python3.8/packages/pyparsing/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -pyparsing==3.0.7 \ No newline at end of file diff --git a/deployments/python3.8/packages/pyqldb/requirements.txt b/deployments/python3.8/packages/pyqldb/requirements.txt deleted file mode 100644 index a3120e95..00000000 --- a/deployments/python3.8/packages/pyqldb/requirements.txt +++ /dev/null @@ -1,11 +0,0 @@ -amazon.ion==0.9.0 -boto3==1.20.46 -botocore==1.23.46 -ionhash==1.2.1 -jmespath==0.10.0 -jsonconversion==0.2.13 -pyqldb==3.2.2 -python-dateutil==2.8.2 -s3transfer==0.5.0 -six==1.16.0 -urllib3==1.26.8 \ No newline at end of file diff --git a/deployments/python3.8/packages/pysftp/requirements.txt b/deployments/python3.8/packages/pysftp/requirements.txt deleted file mode 100644 index 6efc7c4a..00000000 --- a/deployments/python3.8/packages/pysftp/requirements.txt +++ /dev/null @@ -1,8 +0,0 @@ -bcrypt==3.2.0 -cffi==1.15.0 -cryptography==36.0.1 -paramiko==2.9.2 -pycparser==2.21 -PyNaCl==1.5.0 -pysftp==0.2.9 -six==1.16.0 \ No newline at end of file diff --git a/deployments/python3.8/packages/pytesseract/requirements.txt b/deployments/python3.8/packages/pytesseract/requirements.txt deleted file mode 100644 index 75b52f49..00000000 --- a/deployments/python3.8/packages/pytesseract/requirements.txt +++ /dev/null @@ -1,2 +0,0 @@ -Pillow==9.0.0 -pytesseract==0.3.8 \ No newline at end of file diff --git a/deployments/python3.8/packages/python-Levenshtein-wheels/requirements.txt b/deployments/python3.8/packages/python-Levenshtein-wheels/requirements.txt deleted file mode 100644 index 42896ada..00000000 --- a/deployments/python3.8/packages/python-Levenshtein-wheels/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -python-Levenshtein-wheels==0.13.2 \ No newline at end of file diff --git a/deployments/python3.8/packages/python-docx/requirements.txt b/deployments/python3.8/packages/python-docx/requirements.txt deleted file mode 100644 index 8c069451..00000000 --- a/deployments/python3.8/packages/python-docx/requirements.txt +++ /dev/null @@ -1,2 +0,0 @@ -lxml==4.7.1 -python-docx==0.8.11 \ No newline at end of file diff --git a/deployments/python3.8/packages/pytz/requirements.txt b/deployments/python3.8/packages/pytz/requirements.txt deleted file mode 100644 index 209275db..00000000 --- a/deployments/python3.8/packages/pytz/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -pytz==2021.3 \ No newline at end of file diff --git a/deployments/python3.8/packages/rdklib/requirements.txt b/deployments/python3.8/packages/rdklib/requirements.txt deleted file mode 100644 index e29f7edb..00000000 --- a/deployments/python3.8/packages/rdklib/requirements.txt +++ /dev/null @@ -1,10 +0,0 @@ -boto3==1.20.46 -botocore==1.23.46 -jmespath==0.10.0 -python-dateutil==2.8.2 -PyYAML==6.0 -rdk==0.8.3 -rdklib==0.2.0 -s3transfer==0.5.0 -six==1.16.0 -urllib3==1.26.8 \ No newline at end of file diff --git a/deployments/python3.8/packages/records/requirements.txt b/deployments/python3.8/packages/records/requirements.txt deleted file mode 100644 index cb133a67..00000000 --- a/deployments/python3.8/packages/records/requirements.txt +++ /dev/null @@ -1,8 +0,0 @@ -docopt==0.6.2 -et-xmlfile==1.1.0 -greenlet==1.1.2 -jdcal==1.4.1 -openpyxl==2.4.11 -records==0.5.3 -SQLAlchemy==1.4.31 -tablib==3.2.0 \ No newline at end of file diff --git a/deployments/python3.8/packages/redshift-connector/requirements.txt b/deployments/python3.8/packages/redshift-connector/requirements.txt deleted file mode 100644 index 42390cfe..00000000 --- a/deployments/python3.8/packages/redshift-connector/requirements.txt +++ /dev/null @@ -1,20 +0,0 @@ -asn1crypto==1.4.0 -beautifulsoup4==4.10.0 -boto3==1.20.46 -botocore==1.23.46 -certifi==2021.10.8 -charset-normalizer==2.0.11 -idna==3.3 -jmespath==0.10.0 -lxml==4.7.1 -packaging==21.3 -pyparsing==3.0.7 -python-dateutil==2.8.2 -pytz==2021.3 -redshift-connector==2.0.903 -requests==2.27.1 -s3transfer==0.5.0 -scramp==1.4.1 -six==1.16.0 -soupsieve==2.3.1 -urllib3==1.26.8 \ No newline at end of file diff --git a/deployments/python3.8/packages/reportlab/requirements.txt b/deployments/python3.8/packages/reportlab/requirements.txt deleted file mode 100644 index c8e131f9..00000000 --- a/deployments/python3.8/packages/reportlab/requirements.txt +++ /dev/null @@ -1,2 +0,0 @@ -Pillow==9.0.0 -reportlab==3.6.6 \ No newline at end of file diff --git a/deployments/python3.8/packages/requests-html/requirements.txt b/deployments/python3.8/packages/requests-html/requirements.txt deleted file mode 100644 index d3a1344f..00000000 --- a/deployments/python3.8/packages/requests-html/requirements.txt +++ /dev/null @@ -1,23 +0,0 @@ -appdirs==1.4.4 -beautifulsoup4==4.10.0 -bs4==0.0.1 -certifi==2021.10.8 -charset-normalizer==2.0.11 -cssselect==1.1.0 -fake-useragent==0.1.11 -idna==3.3 -importlib-metadata==4.10.1 -lxml==4.7.1 -parse==1.19.0 -pyee==8.2.2 -pyppeteer==1.0.2 -pyquery==1.4.3 -requests==2.27.1 -requests-html==0.10.0 -six==1.16.0 -soupsieve==2.3.1 -tqdm==4.62.3 -urllib3==1.26.8 -w3lib==1.22.0 -websockets==10.1 -zipp==3.7.0 \ No newline at end of file diff --git a/deployments/python3.8/packages/requests/requirements.txt b/deployments/python3.8/packages/requests/requirements.txt deleted file mode 100644 index 3199e7d7..00000000 --- a/deployments/python3.8/packages/requests/requirements.txt +++ /dev/null @@ -1,5 +0,0 @@ -certifi==2021.10.8 -charset-normalizer==2.0.11 -idna==3.3 -requests==2.27.1 -urllib3==1.26.8 \ No newline at end of file diff --git a/deployments/python3.8/packages/scipy/requirements.txt b/deployments/python3.8/packages/scipy/requirements.txt deleted file mode 100644 index 3c2bd545..00000000 --- a/deployments/python3.8/packages/scipy/requirements.txt +++ /dev/null @@ -1,2 +0,0 @@ -numpy==1.18.0 -scipy==1.4.1 \ No newline at end of file diff --git a/deployments/python3.8/packages/shapely/requirements.txt b/deployments/python3.8/packages/shapely/requirements.txt deleted file mode 100644 index aeb8e6ad..00000000 --- a/deployments/python3.8/packages/shapely/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -Shapely==1.8.0 \ No newline at end of file diff --git a/deployments/python3.8/packages/simplejson/requirements.txt b/deployments/python3.8/packages/simplejson/requirements.txt deleted file mode 100644 index 2af6df24..00000000 --- a/deployments/python3.8/packages/simplejson/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -simplejson==3.17.6 \ No newline at end of file diff --git a/deployments/python3.8/packages/slackclient/requirements.txt b/deployments/python3.8/packages/slackclient/requirements.txt deleted file mode 100644 index c22d69c3..00000000 --- a/deployments/python3.8/packages/slackclient/requirements.txt +++ /dev/null @@ -1,10 +0,0 @@ -aiohttp==3.8.1 -aiosignal==1.2.0 -async-timeout==4.0.2 -attrs==21.4.0 -charset-normalizer==2.0.11 -frozenlist==1.3.0 -idna==3.3 -multidict==6.0.2 -slackclient==2.9.3 -yarl==1.7.2 \ No newline at end of file diff --git a/deployments/python3.8/packages/spacy/requirements.txt b/deployments/python3.8/packages/spacy/requirements.txt deleted file mode 100644 index 153b852b..00000000 --- a/deployments/python3.8/packages/spacy/requirements.txt +++ /dev/null @@ -1,29 +0,0 @@ -blis==0.7.5 -catalogue==2.0.6 -certifi==2021.10.8 -charset-normalizer==2.0.11 -click==8.0.3 -cymem==2.0.6 -idna==3.3 -Jinja2==3.0.3 -langcodes==3.3.0 -MarkupSafe==2.0.1 -murmurhash==1.0.6 -numpy==1.22.1 -packaging==21.3 -pathy==0.6.1 -preshed==3.0.6 -pydantic==1.8.2 -pyparsing==3.0.7 -requests==2.27.1 -smart-open==5.2.1 -spacy==3.2.1 -spacy-legacy==3.0.8 -spacy-loggers==1.0.1 -srsly==2.4.2 -thinc==8.0.13 -tqdm==4.62.3 -typer==0.4.0 -typing-extensions==4.0.1 -urllib3==1.26.8 -wasabi==0.9.0 \ No newline at end of file diff --git a/deployments/python3.8/packages/tablib/requirements.txt b/deployments/python3.8/packages/tablib/requirements.txt deleted file mode 100644 index 9650f857..00000000 --- a/deployments/python3.8/packages/tablib/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -tablib==3.2.0 \ No newline at end of file diff --git a/deployments/python3.8/packages/tabulate/requirements.txt b/deployments/python3.8/packages/tabulate/requirements.txt deleted file mode 100644 index f3c7865d..00000000 --- a/deployments/python3.8/packages/tabulate/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -tabulate==0.8.9 \ No newline at end of file diff --git a/deployments/python3.8/packages/textdistance/requirements.txt b/deployments/python3.8/packages/textdistance/requirements.txt deleted file mode 100644 index e360ff9f..00000000 --- a/deployments/python3.8/packages/textdistance/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -textdistance==4.2.2 \ No newline at end of file diff --git a/deployments/python3.8/packages/tinydb/requirements.txt b/deployments/python3.8/packages/tinydb/requirements.txt deleted file mode 100644 index 338625c6..00000000 --- a/deployments/python3.8/packages/tinydb/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -tinydb==4.6.1 \ No newline at end of file diff --git a/deployments/python3.8/packages/tldextract/requirements.txt b/deployments/python3.8/packages/tldextract/requirements.txt deleted file mode 100644 index 32d959ea..00000000 --- a/deployments/python3.8/packages/tldextract/requirements.txt +++ /dev/null @@ -1,9 +0,0 @@ -certifi==2021.10.8 -charset-normalizer==2.0.11 -filelock==3.4.2 -idna==3.3 -requests==2.27.1 -requests-file==1.5.1 -six==1.16.0 -tldextract==3.1.2 -urllib3==1.26.8 \ No newline at end of file diff --git a/deployments/python3.8/packages/tradologics/requirements.txt b/deployments/python3.8/packages/tradologics/requirements.txt deleted file mode 100644 index ff6176ac..00000000 --- a/deployments/python3.8/packages/tradologics/requirements.txt +++ /dev/null @@ -1,18 +0,0 @@ -certifi==2021.10.8 -chardet==3.0.4 -click==8.0.3 -Flask==2.0.2 -idna==2.10 -itsdangerous==2.0.1 -Jinja2==3.0.3 -MarkupSafe==2.0.1 -numpy==1.22.1 -pandas==1.4.0 -python-dateutil==2.8.2 -pytz==2021.3 -pyzmq==19.0.2 -requests==2.24.0 -six==1.16.0 -tradologics==0.0.21 -urllib3==1.25.11 -Werkzeug==2.0.2 \ No newline at end of file diff --git a/deployments/python3.8/packages/translate/requirements.txt b/deployments/python3.8/packages/translate/requirements.txt deleted file mode 100644 index ead09fb8..00000000 --- a/deployments/python3.8/packages/translate/requirements.txt +++ /dev/null @@ -1,9 +0,0 @@ -certifi==2021.10.8 -charset-normalizer==2.0.11 -click==8.0.3 -idna==3.3 -libretranslatepy==2.1.1 -lxml==4.7.1 -requests==2.27.1 -translate==3.6.1 -urllib3==1.26.8 \ No newline at end of file diff --git a/deployments/python3.8/packages/tweepy/requirements.txt b/deployments/python3.8/packages/tweepy/requirements.txt deleted file mode 100644 index 4bec6f33..00000000 --- a/deployments/python3.8/packages/tweepy/requirements.txt +++ /dev/null @@ -1,10 +0,0 @@ -certifi==2020.6.20 -chardet==3.0.4 -idna==2.10 -oauthlib==3.1.0 -PySocks==1.7.1 -requests==2.24.0 -requests-oauthlib==1.3.0 -six==1.15.0 -tweepy==3.9.0 -urllib3==1.25.10 \ No newline at end of file diff --git a/deployments/python3.8/packages/twilio/requirements.txt b/deployments/python3.8/packages/twilio/requirements.txt deleted file mode 100644 index 25b35b91..00000000 --- a/deployments/python3.8/packages/twilio/requirements.txt +++ /dev/null @@ -1,8 +0,0 @@ -certifi==2021.10.8 -charset-normalizer==2.0.11 -idna==3.3 -PyJWT==2.3.0 -pytz==2021.3 -requests==2.27.1 -twilio==7.5.1 -urllib3==1.26.8 \ No newline at end of file diff --git a/deployments/python3.8/packages/xarray/requirements.txt b/deployments/python3.8/packages/xarray/requirements.txt deleted file mode 100644 index a00e1614..00000000 --- a/deployments/python3.8/packages/xarray/requirements.txt +++ /dev/null @@ -1,6 +0,0 @@ -numpy==1.22.1 -pandas==1.4.0 -python-dateutil==2.8.2 -pytz==2021.3 -six==1.16.0 -xarray==0.21.0 \ No newline at end of file diff --git a/deployments/python3.9/README.MD b/deployments/python3.9/README.MD new file mode 100644 index 00000000..2bca3aef --- /dev/null +++ b/deployments/python3.9/README.MD @@ -0,0 +1,26 @@ +# Layers for Python 3.9 + + +| Region (Code) | Region (Name)| ARNs| +| :------------- |:--------|:--------| +| af-south-1 |Africa (Cape Town)| [json](https://api.klayers.cloud//api/v2/p3.9/layers/latest/af-south-1/json) \| [csv](https://api.klayers.cloud//api/v2/p3.9/layers/latest/af-south-1/csv) \| [html](https://api.klayers.cloud//api/v2/p3.9/layers/latest/af-south-1/html)| +| ap-east-1 | Asia Pacific (Hong Kong)| [json](https://api.klayers.cloud//api/v2/p3.9/layers/latest/ap-east-1/json) \| [csv](https://api.klayers.cloud//api/v2/p3.9/layers/latest/ap-east-1/csv) \| [html](https://api.klayers.cloud//api/v2/p3.9/layers/latest/ap-east-1/html)| +| ap-northeast-1 |Asia Pacific (Tokyo)| [json](https://api.klayers.cloud//api/v2/p3.9/layers/latest/ap-northeast-1/json) \| [csv](https://api.klayers.cloud//api/v2/p3.9/layers/latest/ap-northeast-1/csv) \| [html](https://api.klayers.cloud//api/v2/p3.9/layers/latest/ap-northeast-1/html)| +| ap-northeast-2 |Asia Pacific (Seoul)| [json](https://api.klayers.cloud//api/v2/p3.9/layers/latest/ap-northeast-2/json) \| [csv](https://api.klayers.cloud//api/v2/p3.9/layers/latest/ap-northeast-2/csv) \| [html](https://api.klayers.cloud//api/v2/p3.9/layers/latest/ap-northeast-2/html)| +| ap-south-1 |Asia Pacific (Mumbai)| [json](https://api.klayers.cloud//api/v2/p3.9/layers/latest/ap-south-1/json) \| [csv](https://api.klayers.cloud//api/v2/p3.9/layers/latest/ap-south-1/csv) \| [html](https://api.klayers.cloud//api/v2/p3.9/layers/latest/ap-south-1/html)| +| ap-southeast-1 |Asia Pacific (Singapore)| [json](https://api.klayers.cloud//api/v2/p3.9/layers/latest/ap-southeast-1/json) \| [csv](https://api.klayers.cloud//api/v2/p3.9/layers/latest/ap-southeast-1/csv) \| [html](https://api.klayers.cloud//api/v2/p3.9/layers/latest/ap-southeast-1/html)| +| ap-southeast-2 |Asia Pacific (Sydney)| [json](https://api.klayers.cloud//api/v2/p3.9/layers/latest/ap-southeast-2/json) \| [csv](https://api.klayers.cloud//api/v2/p3.9/layers/latest/ap-southeast-2/csv) \| [html](https://api.klayers.cloud//api/v2/p3.9/layers/latest/ap-southeast-2/html)| +| ap-southeast-3 |Asia Pacific (Jakarta)| [json](https://api.klayers.cloud//api/v2/p3.9/layers/latest/ap-southeast-3/json) \| [csv](https://api.klayers.cloud//api/v2/p3.9/layers/latest/ap-southeast-3/csv) \| [html](https://api.klayers.cloud//api/v2/p3.9/layers/latest/ap-southeast-3/html)| +| ca-central-1 |Canada (Central)| [json](https://api.klayers.cloud//api/v2/p3.9/layers/latest/ca-central-1/json) \| [csv](https://api.klayers.cloud//api/v2/p3.9/layers/latest/ca-central-1/csv) \| [html](https://api.klayers.cloud//api/v2/p3.9/layers/latest/ca-central-1/html)| +| eu-central-1 |EU (Frankfurt)| [json](https://api.klayers.cloud//api/v2/p3.9/layers/latest/eu-central-1/json) \| [csv](https://api.klayers.cloud//api/v2/p3.9/layers/latest/eu-central-1/csv) \| [html](https://api.klayers.cloud//api/v2/p3.9/layers/latest/eu-central-1/html)| +| eu-north-1 |EU (Stockholm)| [json](https://api.klayers.cloud//api/v2/p3.9/layers/latest/eu-north-1/json) \| [csv](https://api.klayers.cloud//api/v2/p3.9/layers/latest/eu-north-1/csv) \| [html](https://api.klayers.cloud//api/v2/p3.9/layers/latest/eu-north-1/html)| +| eu-south-1 |EU (Milan)| [json](https://api.klayers.cloud//api/v2/p3.9/layers/latest/eu-south-1/json) \| [csv](https://api.klayers.cloud//api/v2/p3.9/layers/latest/eu-south-1/csv) \| [html](https://api.klayers.cloud//api/v2/p3.9/layers/latest/eu-south-1/html)| +| eu-west-1 |EU (Ireland)| [json](https://api.klayers.cloud//api/v2/p3.9/layers/latest/eu-west-1/json) \| [csv](https://api.klayers.cloud//api/v2/p3.9/layers/latest/eu-west-1/csv) \| [html](https://api.klayers.cloud//api/v2/p3.9/layers/latest/eu-west-1/html)| +| eu-west-2 |EU (London)| [json](https://api.klayers.cloud//api/v2/p3.9/layers/latest/eu-west-2/json) \| [csv](https://api.klayers.cloud//api/v2/p3.9/layers/latest/eu-west-2/csv) \| [html](https://api.klayers.cloud//api/v2/p3.9/layers/latest/eu-west-2/html)| +| eu-west-3 |EU (Paris)| [json](https://api.klayers.cloud//api/v2/p3.9/layers/latest/eu-west-3/json) \| [csv](https://api.klayers.cloud//api/v2/p3.9/layers/latest/eu-west-3/csv) \| [html](https://api.klayers.cloud//api/v2/p3.9/layers/latest/eu-west-3/html)| +| me-south-1 |Middle East (Bahrain)| [json](https://api.klayers.cloud//api/v2/p3.9/layers/latest/me-south-1/json) \| [csv](https://api.klayers.cloud//api/v2/p3.9/layers/latest/me-south-1/csv) \| [html](https://api.klayers.cloud//api/v2/p3.9/layers/latest/me-south-1/html)| +| sa-east-1 |South America (São Paulo)| [json](https://api.klayers.cloud//api/v2/p3.9/layers/latest/sa-east-1/json) \| [csv](https://api.klayers.cloud//api/v2/p3.9/layers/latest/sa-east-1/csv) \| [html](https://api.klayers.cloud//api/v2/p3.9/layers/latest/sa-east-1/html)| +| us-east-1 |US East (N. Virginia)| [json](https://api.klayers.cloud//api/v2/p3.9/layers/latest/us-east-1/json) \| [csv](https://api.klayers.cloud//api/v2/p3.9/layers/latest/us-east-1/csv) \| [html](https://api.klayers.cloud//api/v2/p3.9/layers/latest/us-east-1/html)| +| us-east-2 |US East (Ohio)| [json](https://api.klayers.cloud//api/v2/p3.9/layers/latest/us-east-2/json) \| [csv](https://api.klayers.cloud//api/v2/p3.9/layers/latest/us-east-2/csv) \| [html](https://api.klayers.cloud//api/v2/p3.9/layers/latest/us-east-2/html)| +| us-west-1 |US West (N. California)| [json](https://api.klayers.cloud//api/v2/p3.9/layers/latest/us-west-1/json) \| [csv](https://api.klayers.cloud//api/v2/p3.9/layers/latest/us-west-1/csv) \| [html](https://api.klayers.cloud//api/v2/p3.9/layers/latest/us-west-1/html)| +| us-west-2 |US West (Oregon)| [json](https://api.klayers.cloud//api/v2/p3.9/layers/latest/us-west-2/json) \| [csv](https://api.klayers.cloud//api/v2/p3.9/layers/latest/us-west-2/csv) \| [html](https://api.klayers.cloud//api/v2/p3.9/layers/latest/us-west-2/html)| \ No newline at end of file diff --git a/documentation/Klayers-Architecture.png b/documentation/Klayers-Architecture.png index 9ec40c2ca01d3fd77b739d0d5c50d4ec3ea3d094..7e27186b9aa751fc45d968a9011c7b3b15ad9010 100644 GIT binary patch literal 234443 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

$Q5?7TP8?YSrM{6lq8bBI5KLezZFsS;>P}O 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

PXoj3PjB}J~&Qawmx-zNoiD_`8KPR>GW2KJc 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

1<~IrFiR~;$p9QaDp_jKK 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

Nx|mR+0~A%>{Z6Gq$> zz-~E)zf<8G;qg^q*rF?tmI79Z?-^WT$tc7*L}1^)J@5c?Y%eK!1=Xsz2(*jCJU5&B z&}cFZAd>iNNB>RA3d4jc2RVrhYn0_L_qXAHW_)RyYs)u%?}Z{b$a>co-8{!V_hgfxkj;YkfIsd zOvf!5&Gm1iBMoRSH+D`~MjG552y&V+>!B2PUwnu+7|5N0Bo?=vy_2b&bJLS}c={|$ z=8U{F_Gk6|d(81a%zAsE0GR7qzU@H)n>>^xa+%T3>tF-+Im*R-2CIwyf`SgYa>M3fzUR!IsAy7XfD?p#tbdL6vFQJP=^yp|gA%6L2vR}q^l zMZ)BQYRZ48mkYj+wC{gE6;U86<`~*LGeiI9?sJ#iR1$7S!eqd^#|VRL}$5RXQGLR z#{iEth@e+JWiS6hxyB)VqVK2&np$(xNhrPL`SR>T=x>JLZ#6AThko{Ny}>w)#ySvg z3G~*i)H$$E`JFHyJ0l1xUpF{!>&?38&AD_HN;opX(z)j-xdHZt0Q;eDAq80oP%tvA zR8^7E?j<6h!!ZyKu=xpBofZi!&iTZbvI66VHE#FKA5|<`cg3-Fapk`@Lp6&A;}*Pz z?vU$~Lk!1sX9G$YIg_=(?f%;Xrhglw|L3`N1O@;PQ)9e7boh6PqLrm9Petb2!}N|h z-^l1Sl6c7%RV?eZ^S)JXfz^DFBxTMI?{6Opq@H`2C!^Rv>e~{SJo*Jpu$V`Qvrl@h zlw6Cdn_86lb1)A;6!n1)r`6fVq4cz$10ls@3gC_JSXxTqp6WBQe7{gh${xam|Gi_Q z00-<=vUa9Xr^9bTDPg9Z)9U&R05i9zcfGJlzCGpl zYBaDrvKcE7#x;eCGLJY3@?<-Ffm<#aum0l`1nniu ze-dE^wND?T4_C^>z=wNMoq`D2076cj3ea57vOz;mH@C7PqM*FEN}>;;xYLgHPh5cI z`rjg!zsUmxL>}A=8P*%+ypb;pW7#mz^3{v7B;WwM z&tvrvbu`}x5nc_>S5q=k(01K>EiJCMD^Vozs!RrGzH*oXj6Hu`dY?Eu0i3%e94)bA zC?{G@uqx7;_YAha13+ITtaUNd-;V$$30zpaz^1W|VgR?eZL?F;ft3Q>PMq;*xdrET z4#}dzAOEeFCah%*Xw_e}Kk6Xz$;NXtU*@=rI0I-7#^Y0jtl0sQZ8+yioO23wt_Au{ z;C?&{rT$0A2NdujHmz6OE2p1F7IvDZUJ1`+g9`UZjCT zbdZ#zJA!qmb`%tO$K|=yMkT$;lV10B>)wO?4#t&?y8s}rEd0X8?Z+qZQEXl5xR{^P z&C~iZfRFckhVj`?!5*IY*Us%UZdpc@qC14*^D*<_4CtW~<2jfH;#u{KPTFkV@pTF^e(2j1=WNkkN^%WAm}cb}z7rYY->0SOC}JdU{R6;>TkK#C)v9 zSNC!H2aYEpVhx`nv~+;iBy=RAfyJ$k>tcVN?-yq5x!4G#4HQ}Q-*(Pm9k>QLBP?u0 zXdh2l+6$G54x{#{3RPJNN*$iGPc>yaHN%AulV`b)xwJ*P**JP|viEw9CJbhemJk&k zGHx^Szw(!B^+o|&U2KTMH1}4@G24qbHlnFS%9v@6GVb;#FxntqiUr42cSHW?*1$_w zDG7)p`6OlS@aX<@DodOBfn4tLUwbg`)!1brms^M7UB#6{s$CTNh5}YIFc3{Ozvkp$ zznuz+dlAcp`9lYY9)oXYm`vAxaa;c#*UtSVJav5ofbPdb`Usru;6=}l+uvdj=v@Bn zfr8uW4`{&c@kg?pT-G7kgc5K#1dE^q=CiDktBNqam~Wi}&putE8gXP`e1T}A&=+n! z1R5DNY!(~lJW5?NRXFSnV)_R>r-F(p#pLyzME6Shk*|g>KBFfn;go&IjY+Fi96zP( zUKxDyAWXm!47*y)0Oy{ilZnBX(@$!Q(7Ul*}nD zp2H8s!lL7J{zqHC#L!~h0HfXiz9Y@}11bbxgBHB&@^uGO43J7ZdV5pQ@g{J>cyx#M z2|zdmZ-rmD$td)01CSiO5jMcx6zk^yMf98J+&oZDc({Pyp2DfPs_-Ufrl!;NJAM38 zC-6O?L1@YxS90NDwln`U2mlX7p*xZ`GB8Gtxol@JIpfn2tG*36q3# z0S~q&-=_d1OS5VJaH2^}boc~_s~_()QT<&3Nkf*Vs-x8WuUb^>+R|@GfXN$~hkCv~y)Go;e40TgcJ1h zM++K1Sm$vWkoj{IaDV`(XS&k8Za?7B<3|{q&q7->Wp^V!O{@J{tjxrpY$9LI#tq>A zAh1dIh-k-E1wM{{qu3Pl!`O2XnCq4A0PkK2&*yAdNEV}QWCU82IA6?U2eJBt&z7)g;5N#Oi?Bc28NEmsy5VdS?~c9wX2*90>L$xaB5FG$cQ6 zh>RNwu@OOnlzE6)w`HW3v%*8{LtJ@!QM`sk*Qzof92~WSFRJhItb7)Ti4}B|H+}Im z!T$?HJy(F5A%7syCmNVaq3IsTFNfQ}6SDmXnJ7rkbM5h>>1sQm+urSuOAoJg(v#dr zVo_qjxb7!TAR&{8DCQY?Y<12v#wIG>N5Wa#p3i_4_(-?Ja}~vTgX2#`elfHNFbQkR zFyh2u`0T5@maEX2bpP=V}3>KR%O1N{m6J8cJ6aJd9~Q!9a!JaG0H_rkj zk%)(eree|`dL8f2MWLleBKT&;POx8f+&OcacjTRWpuH%a z>6!PvuAPlfH=z2c3nYqV8gDml_?CG{7Tn$=+{!WnbLE;Yf}m7t3f?)VXfC}Krg>}E zpjp|*>!B#KyU34|5+~mtNe+MuOA{M1^0~+6-Spdf*VNfKNZT)ZO?Ubx5v5w0h7LH%uk@vlKvU907wF0-$^$*B?^=S622HYc!?=V5 z?MA0q)7G`^e$^kG>u1~9;xYm_=B&wTYyr)P(kuNO2MXr;F8KIY z3)9uh(G~EK)`F0Qc(Sw<%HRSa&F6#<%Z9I$NH_vGMq0cal{M)C1QYPsA2`=~Mtvyq zU-lZ^mD&{1X{_b&B$gn0@(Bm*H_pbG1Ie|@;ogG>b`HwIW_N(z#KZwfz;ipvyLq?7 zNu*8J!Y_!G`~qoDayf$lvFwW6SKvq)U6g)IJfa!LHez-C2FEpeki{xOylAPCy{(L>{%14xHq zrKX0%Ku}OcyF=57 z@Q+wL`WlpR82c~fo5T zRmlbs+6=OekJbB7)=3e%EqBYV5#N_knD`Cn3-ipE%_i=1W(*kU*|21^U@`(yk_G$ufYh8bRL2BTpM#QFrcasH;}AtUY2Us(U6&@n+Q6Jd;D&=?SR(gF3rVq~t>k z^b*&HGQS*fO=kiZ-2oBhF1RABzFdCr0{yct;RcFnsf_}|;bgvuOc zGs#xc>3(U8d+PoA9Rc|~YyYz!=QD7`7dGi2UF=(!B#8O$0)>z{vJ+|=BY((|KnI&N z?0IGU(nI(O@b!AeqJ8e;LC`Ge9XvGg_!9OG`Br%c%-(PAm_%?BDExHZ`U2ggZhAEq z2Nx&G$Zb&Zm-KMH<};;REVQI`jG2Ciwo|wihk@m1xj+9kOLZMU>vNpmtn$=9K^pPs zJO>Jlw5*&+i@PJ(;2H*!q4 z|EB*_t{$+yvU!4s;Pn(!B2?Kcsh;Yl3;ldi1`8x;QGE_O{=~W(U!^I>>9v=r&3hR)D7&&~sW#cLk9fKnV3zz1+EN`>$=j0TeByi| z4|+)2DMBiZo^&ia$F8i+K6G)@%is~8QqWS2Dx!^xPD$F{amu7KD&eyCGmP*9>J@~N z{7y;1YaSv+8~-;`!kC`W>&!OgCf-lOd!u_;n6OpGq04ESQGT=7AY8;81Vj=jfIXWV zhRc!ermZ^h!-)$O#5sF~jQvdqxXVqFk3XO#w5d94`#@I7L!eXY^_yo>47xd=b?+*M zsf-0J{GuU}^RwcLA!$~ms zZXCu8ESO_CB^>p3!MLMY9f~*-vui1J+5LXx(1v&BCga<^7$Catj3?VpXM?I{VH(ch zP}!L~iq^tBI%9hy!AY`|swC83W8RbRH3L#r`@)dpv{SS1Azi8s9G?4CpNX(}uW=)9 zz!{(d*T7KnqMYfn?<@#Q48vvHS<4C}6dY}XN5Mjhs@U8V(^qt_th2z>du^Sh zfHeDUwJ7_eHkR+H01vvaN95pJWDxb0VYQ=!UPTGc&rC$+cI{wiUV36}1N zrCA4Y&jDvc9PsKhI?aI7Cs5Gyd%O-bRaD79bdR3CEzyCQI5^r0%%Ca}x*+WU8-fAe zm5#Prtg(THF^o5N>uyD%Hqdm)H-=BDM&p40hlEi@(V{if7>@@Sj(9yUP}OxE-@80{ z%lRib$Pg~eC`O8@Ow@tsa)S9DF4hg6OB^};R=tRBFnK&P`5WFV<(wW* zVj(JgfN;iea9BCgf!B8HJIId|pvZ(2mzBiYW5)~t3!D$XQL0kfbZDnza|H_o)M}1x zck-_Hr-(Uabm6WR*+e#kmzu`}+bHo=RcGR`vRUNZBfwt@lT(-EjK)R675$zG?g{(ZNiV=^cBC|V{ zf`MWbMrCOW-Q}$3%*~v?RBOv#kEE-ARPnN~Mv6kMY)zlVe4mNEeIkKHb$cn&I z(okH$a65Og5Tumt_9f*?#Q+4jVJ`t}U?f+5!5Lc;==l8;bRG8pdpPZ;=RJFPuC%7a zgJ)#od>9Hi3re$NQ)S{f%&5)w!QA~(mYDJRw)gI=9+%1+oL_QvMA-yo1lYi}l5;5X ziue*}2XjUzYj!e^qP{JQY-YPG!^B?Yca@&7 z8BpmstppSuCNxHJak$Nxb;Z&}fC1SsCAfsD%=S(efSq?3b!X>mj6_g3J!AI3v==mY zdS&#l=(lT4-8?8mJCUxkPER(60k~vMSKu8vz4{# zeMV4x2*c%XeN1MdNO^X>|Mfe;xDXq3j(34D=Qn-D*kmU_Q=nRcuzu5b?O>mc;ZbE% zgevWYI{98wm-Vo7XqA0xTkyZMex?)C7qOfjvqD=o_kF+megjLdqcP}QG{q2$LrT&s zRgE-F2v0{FRI4}3WFP)Q(T?Iuc6x(3Jm}r#FFrUUfY;h^crukNo&E*+pTe`15AVDZ z%i(dosSdVB{Q0LMy4tUAIh!T;O&*8+h4*>g55Jqq zu2s#R(hOS-*aUFE>3=06e~|)4s*+D^qSX?CJ3I-Z4z@a19r~ur`TatzFh&H}>nnQzK%T9)$f!>D*Rvqam8ga1Hk4PyMgOZx1Z1mY<>PhVQ3oIUu5D^7Q58h#&Eo(tkeN%?1kgBN~5KK zG0OL0v9++6<$J!L1B*}33(i2?ml!(SXFJy**+dhJ5NXgr{C!3}>ZP&lR9Bp?@) z2ONQA43&gVp}@Y;bYALYe=adoj{OavQ;;xke!ms)6R(JGNMv$X z0S-^z&NgMHU(XIZ3A!J7fe{Jv3*=cp9J1^U#=b1DBg`Q&(2r`Dz|LJ4oApLXk<=27 z<{XCLGJzaUVj_7kul@I%494R< z%npD^UNvd(EABzJFtjy~K^BkgYe7rsE<1Z7XXjUX8(5lU?pvu$qXfSIJ+XT9WbxwW z0_~U4mLtEgEM>Wbc zId3=SPmu*2117H}kok16(3@H6r++}=uC)e&S=fWnm{ZHfgQ!IlEk;XmXEoFJa~p7q)Ax!m67xr3IC4=a5CI^@7G2^c{X zszjSgD-Bz`z>l|7UI0VA0(Xg_{{83S~V0y~h1?}5P^q2JeGOQ)}4K{%M;*E#*H_hewFWQ?{NujPrR zd3~>7&zorg=Sx2X_;LERj`veTYB!&($B!~@Uvu&doLmkupD4@hX(Cj&=$x&+tUli} z>yVRTWF#mR{1!{BDMz6R)CbE2 zK9=uS5U{X&nnBT@o(ZhD-=7|uqZGVsiM3D`&Y2S4v0tC5(<(Ag+*O(XUEs-lj`VaJ z2qHA0XKj*M@ojhl20}Wa=g|;gL#{obe3{Z#vGkRz@OeDaVRo)ySvbJBLr&+%2bHd~ zfw7!`$*AjM{lYw-lB&TpBAb)faM~%Ye$)H&g)Sd|jy`&9D$@}j3H|q^_S#@X+yJpwuskq? z(0?`z&y7J^Zm_7Y=lSDAo| zm-2|>KCxNJHKEfB;I!{OT>%hZ3H0_TQj4P(Ag{UL!nu?QxYT!Ihl;t?R?Cm zLK}KGJ}*95a>g6P@t*PV`rggNRL97wf1x_=YD-ny!NgCm$z?j6!xN0_(iU;fU_Szo z{t|lujqbkZT^|&N=y2AJ9iQWhb zcZ!ieEZ?SI&g(D&p;=18&__9I&7qIYZYF>|~i0#8eGj(JxHi zWX9c*e*RwtIQH?%SKem*dK-;9$r;KQ^O zpsBIy3^>7tlO^tZ+6$_Zgde678%IaW-9~Ms2p?rWrBi#?dv*6_4#}Ngmd#N%I|#xz zvzQI)Lo1UqDZ1*=oH9?-W?;qx)vS1fHD6B86-HQV2M)2LO%Koeh{Acg)Z9UR;mfV_ zKwq2AnyGHAnoTJ_%PwwC8sXwUZvz)*StUJPfPVz1-~`pq5ePy=J#5P_w3BP{_#%hP z1~t+=`GhxvtfqVJU*(=cbza$m&+C0c{S14GFu2GV?!{Jtg4cb!#zd|2>%;_}>uc2c z+B#Bssa9`Sb%%n;3>bXwTqiPHzJ9u4k7SN`|0Sg4g1V(fN)w@3kh1!GqPHkIwkpMT zmKGsyLcREQ9&ai6!<*oBVjx)9A2UI5aKp+157~}j(S;3pNRbfzH zvOovWS~8xdi)LYkPNyeomIN$;jn+NSnmB~?$Nqf0ro=15IqH703KA@_+yQX-&5Mn> zWo)gtlAq}}Mcx>T{7Vk=-xnB&#w`*Yc&L6kYn_sN5$Y}=PG)SUL+lqiXY6ZtC)ek9 ziwkW$LQ17R#ON06qYMt_5f&!dAW2A1u!*_* zp{1unqd>Ihy&#*B!EmHiEB@tq_g2>zHsloo_P<3i3jOS94rX{VosGZ@ARZjJx7c`k zlx|p&L@rTfP@q{k&Xjlmuh}I@73X!ks2IZ^z2dl_jss7m)D~Au(wGL(wZ5n*YZ~7h z%dz`_rB4CQJ*b8<=w1H1AK(2UhX>|bG?S!qA$X0QnfTf`lOW07xk=9{+x$o-%3#hQ z->2PN`K*u*sm=pHSi*&RPkB34h2eL)Nge8+M-Zno3hfHaBSzljCY4?31WtI4-x2@k zTjagg(C9H^74F+xNVg||!Ho6meR)Gi9tbI*+B=;WI6;<%SK4?cPqZvx@L%JJZX4yl zZa5h1tsTJ0uCeS;U)24gS6Zq3>DyEt6`*W9SsjQ%lX5$77_Qu6Fi;m>2EMX6pdoW_ zl;InQnb#%OyjVIeJE$zV33evbQZfGes}kDxB$gL`QHk>y&xHs<2}*JcYvLZq$c@;=>{SCka&UTPal%Hjp$h^aUocn@aiq-yzQ{S? zWuVs8^5?MZkKjf-xU3xnh6yW1!$Z- z`|VpDl(zu>b@yx%0Aq$#OLAvsRLt!kC`EktMPNDu*G$2p};v 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 J^&=^^;2*h3KgR$7 literal 274339 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�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∓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 diff --git a/documentation/Klayers-Architecture.sdxml b/documentation/Klayers-Architecture.sdxml index 32b55ac62c500189756e1c84423833c0d222415a..aa9301e03073be7a832950807d46d02e5cbc6bf3 100644 GIT binary patch delta 1588 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 diff --git a/documentation/Klayers.json b/documentation/Klayers.json index 444ef2c9..12fb86ce 100644 --- a/documentation/Klayers.json +++ b/documentation/Klayers.json @@ -3,7 +3,7 @@ "ModelMetadata": { "Author": "Keith Rozario", "DateCreated": "May 15, 2020, 7:22 PM", - "DateLastModified": "May 29, 2020, 11:33 PM", + "DateLastModified": "Jan 09, 2022, 12:14 PM", "Description": "Data Model for Klayers\n", "Version": "1.0" }, @@ -60,6 +60,14 @@ { "AttributeName": "bltVrsn", "AttributeType": "S" + }, + { + "AttributeName": "rgn#PyVrsn", + "AttributeType": "S" + }, + { + "AttributeName": "pckg#PyVrsn", + "AttributeType": "S" } ], "TableFacets": [ @@ -156,6 +164,38 @@ "Projection": { "ProjectionType": "ALL" } + }, + { + "IndexName": "deployed_in_region_by_python_version", + "KeyAttributes": { + "PartitionKey": { + "AttributeName": "rgn#PyVrsn", + "AttributeType": "S" + }, + "SortKey": { + "AttributeName": "dplySts", + "AttributeType": "S" + } + }, + "Projection": { + "ProjectionType": "ALL" + } + }, + { + "IndexName": "package_global_by_python_version", + "KeyAttributes": { + "PartitionKey": { + "AttributeName": "pckg#PyVrsn", + "AttributeType": "S" + }, + "SortKey": { + "AttributeName": "dplySts", + "AttributeType": "S" + } + }, + "Projection": { + "ProjectionType": "ALL" + } } ], "TableData": [ @@ -246,7 +286,7 @@ "S": "...." }, "bltVrsn": { - "S": "v2" + "S": "bld#v2" } }, { @@ -266,7 +306,7 @@ "S": "...." }, "bltVrsn": { - "S": "v1" + "S": "bld#v1" } }, { @@ -286,7 +326,7 @@ "S": "...." }, "bltVrsn": { - "S": "v2" + "S": "bld#v2" } }, { @@ -329,7 +369,7 @@ "S": "bldVrsn0#" }, "sk": { - "S": "pckg#dna" + "S": "pckg#idna" }, "rqrmntsTxt": { "S": "..." @@ -341,7 +381,7 @@ "S": "...." }, "bltVrsn": { - "S": "v1" + "S": "bld#v1" } }, { @@ -361,7 +401,7 @@ "S": "...." }, "bltVrsn": { - "S": "v1" + "S": "bld#v1" } }, { @@ -448,7 +488,7 @@ "S": "...." }, "bltVrsn": { - "S": "v2" + "S": "bld#v2" } }, { @@ -468,7 +508,7 @@ "S": "...." }, "bltVrsn": { - "S": "v1" + "S": "bld#v1" } }, { @@ -488,7 +528,7 @@ "S": "...." }, "bltVrsn": { - "S": "v2" + "S": "bld#v2" } }, { @@ -656,6 +696,145 @@ "rgn": { "S": "ap-southeast-1" } + }, + { + "pk": { + "S": "lyr#ap-southeast-1:requests:p3.9" + }, + "sk": { + "S": "lyrVrsn0#" + }, + "rgnPckg": { + "S": "ap-southeast-1.requests" + }, + "pckg": { + "S": "requests" + }, + "rqrmntsTxt": { + "S": "..." + }, + "arn": { + "S": "..." + }, + "lyrVrsn": { + "N": "0" + }, + "pckgVrsn": { + "S": "0.1" + }, + "rqrmntsHsh": { + "S": "..." + }, + "rgn": { + "S": "ap-southeast-1" + }, + "rgn#PyVrsn": { + "S": "ap-southeast-1:p3.9" + }, + "pckg#PyVrsn": { + "S": "requests:p3.9" + } + }, + { + "pk": { + "S": "lyr#ap-southeast-1:requests:p3.9" + }, + "sk": { + "S": "lyrVrsn#v1" + }, + "rgnPckg": { + "S": "ap-southeast-1.requests" + }, + "pckg": { + "S": "requests" + }, + "rqrmntsTxt": { + "S": "..." + }, + "arn": { + "S": "..." + }, + "lyrVrsn": { + "N": "1" + }, + "pckgVrsn": { + "S": "0.1" + }, + "rqrmntsHsh": { + "S": "..." + }, + "rgn": { + "S": "ap-southeast-1" + }, + "dplySts": { + "S": "latest" + }, + "rgn#PyVrsn": { + "S": "ap-southeast-1:p3.9" + }, + "pckg#PyVrsn": { + "S": "requests:p3.9" + } + }, + { + "pk": { + "S": "bldVrsn0#p3.9" + }, + "sk": { + "S": "pckg#requests" + }, + "pckg": { + "S": "requests" + }, + "rqrmntsTxt": { + "S": "..." + }, + "arn": { + "S": "..." + } + }, + { + "pk": { + "S": "bld#v1:p3.9" + }, + "sk": { + "S": "pckg#requests" + }, + "pckg": { + "S": "requests" + } + }, + { + "pk": { + "S": "cnfg#pckgs" + }, + "sk": { + "S": "p3.8" + } + }, + { + "pk": { + "S": "cnfg#rgns" + }, + "sk": { + "S": "p3.8" + } + }, + { + "pk": { + "S": "cnfg#pckgs" + }, + "sk": { + "S": "p3.9" + } + }, + { + "pk": { + "S": "cnfg#rgns" + }, + "sk": { + "S": "p3.9" + } } ], "DataAccess": { diff --git a/pipeline/Serverless/01_invoke_pipelines/download_config.py b/pipeline/Serverless/01_invoke_pipelines/download_config.py index 830f0a77..262f5828 100644 --- a/pipeline/Serverless/01_invoke_pipelines/download_config.py +++ b/pipeline/Serverless/01_invoke_pipelines/download_config.py @@ -1,74 +1,79 @@ +import requests import os import csv import io -import hashlib - -import requests - import boto3 + from aws_lambda_powertools.logging import Logger logger = Logger() +configs = { + "p3.8": "packages_p38.csv", + "p3.9": "packages_p39.csv", +} +region_config_filename = "regions.csv" + +branch = "master" -@logger.inject_lambda_context -def download_config_from_github(event, context): +def load_config_into_dynamo( + config_items: list, python_version: str, config_type: str +) -> dict: """ - Download Config from GitHub + Args: + config_items: List of config Items to load + python_version: Version of python (e.g. p3.8, p3.9) + config_type: What type of item (e.g. rgns, pckgs) remember the 's' + Returns: None """ - - repo_name_branch = "keithrozario/Klayers/master" - stage = os.environ["STAGE"] - bucket_name = os.environ["BUCKET_NAME"] - base_url = ( - f"https://raw.githubusercontent.com/{repo_name_branch}/pipeline/config/{stage}" + logger.info( + f"Putting Dynamo Item type: {config_type} for python_version: {python_version}" ) + dynamodb = boto3.resource("dynamodb") + table = dynamodb.Table(os.environ["DB_NAME"]) + response = table.put_item( + Item={"pk": f"cnfg#{config_type}", "sk": python_version, "cnfg": config_items,} + ) + logger.info(response) + return response - filenames = ["packages.csv"] - return_status = {} - for config_file in filenames: +def download_csv_from_github(url: str) -> csv.DictReader: + logger.info(f"Requesting latest config from {url}") + response = requests.get(url) - config_url = f"{base_url}/{config_file}" - return_status["url"] = config_url - logger.info(f"Requesting latest config from {config_url}") - response = requests.get(config_url) + # Sanity check on csv file + file_as_string = response.content.decode("utf-8") + csv_reader = csv.DictReader(io.StringIO(file_as_string)) - # Sanity check on csv file - file_as_string = response.content.decode("utf-8") - csv_reader = csv.DictReader(io.StringIO(file_as_string)) - packages = [line["Package_Name"] for line in csv_reader] - if len(packages) > 2: - logger.info("CSV is valid") - else: - logger.error(f"{config_file} does not appear to be valid CSV") - logger.info(file_as_string) - return_status["status"] = f"Invalid CSV format at {config_url}" - return return_status + return csv_reader + + +@logger.inject_lambda_context +def download_config_from_github(event, context): + """ + Download Config from GitHub + """ + github_repo = os.environ["GITHUB_REPO"] + repo_name_branch = f"{github_repo.split(':')[1].split('.')[0]}/{branch}" + base_url = f"https://raw.githubusercontent.com/{repo_name_branch}/pipeline/config" - # Check eTag vs. md5 - hash_md5 = hashlib.md5(response.content).hexdigest() - return_status["new_hash"] = hash_md5 - s3 = boto3.resource("s3") - object_summary = s3.ObjectSummary(bucket_name, f"config/{config_file}") - object_hash = object_summary.e_tag[ - 1:-1 - ] # e_tag is surrounded by double-quotes '"' - return_status["old_hash"] = object_hash + for python_version in configs.keys(): + url = f"{base_url}/{configs[python_version]}" + csv_reader = download_csv_from_github(url) + packages = [line["Package_Name"] for line in csv_reader] + logger.info(f"Found {len(packages)} packages") + load_config_into_dynamo( + config_items=packages, python_version=python_version, config_type="pckgs" + ) - # upload only if file changed - if hash_md5 == object_hash: - logger.info("Config file unchanged, ignoring") - return_status["status"] = "Config file unchanged, ignoring download" - else: - logger.info(f"current hash:{object_summary.e_tag}") - file_obj = io.BytesIO(response.content) - s3 = boto3.client("s3") - s3.upload_fileobj( - file_obj, os.environ["BUCKET_NAME"], f"config/{config_file}" - ) - logger.info(f"Uploaded new config file with hash {hash_md5}") - return_status["status"] = "Uploaded new config file" + url = f"{base_url}/{region_config_filename}" + csv_reader = download_csv_from_github(url) + regions = [line["Code"] for line in csv_reader] + logger.info(f"Found {len(regions)} regions") + load_config_into_dynamo( + config_items=regions, python_version=python_version, config_type="rgns" + ) - return return_status + return None diff --git a/pipeline/Serverless/01_invoke_pipelines/invoke_pipelines.py b/pipeline/Serverless/01_invoke_pipelines/invoke_pipelines.py index aa5fabbb..50887a3c 100644 --- a/pipeline/Serverless/01_invoke_pipelines/invoke_pipelines.py +++ b/pipeline/Serverless/01_invoke_pipelines/invoke_pipelines.py @@ -6,10 +6,10 @@ logger = Logger() -from common.get_config import get_packages +from common.get_config import get_config_items -def log_eventbridge_errors(response, function_logger): +def log_eventbridge_errors(response: dict, function_logger: Logger): """ Args: response: Response from putting events onto eventBridge @@ -36,41 +36,48 @@ def main(event, context): response: Entries in EventBridge for processing """ - packages = get_packages() client = boto3.client("events") stage = os.environ["STAGE"] - entries = [] - logger.info(f"Preparing {len(packages)} packages") - - # post message to EventBridge to trigger step functions - for package in packages: - + for python_version in ["p3.8", "p3.9"]: + packages = get_config_items(config_type="pckgs", python_version=python_version) + entries = [] + logger.info(f"Preparing {len(packages)} packages") + # post message to EventBridge to trigger step functions + for package in packages: + + entry = { + "Source": f"Klayers.invoke.{stage}", + "Resources": [], + "DetailType": "invoke_pipeline", + "Detail": json.dumps( + { + "package": package, + "python_version": python_version, + "force_build": False, + "force_deploy": False, + } + ), + "EventBusName": "default", + } + entries.append(entry) + + # maximum 10 entries per put_events API call + chunk_10 = [entries[i : i + 10] for i in range(0, len(entries), 10)] + for chunk in chunk_10: + response = client.put_events(Entries=chunk) + log_eventbridge_errors(response, logger) + + # Post Status to Slack + message = f"Started build on {len(packages)} packages for {python_version}" entry = { "Source": f"Klayers.invoke.{stage}", "Resources": [], - "DetailType": "invoke_pipeline", - "Detail": json.dumps({"package": package}), + "DetailType": "post_to_slack", + "Detail": json.dumps({"message": message}), "EventBusName": "default", } - entries.append(entry) - # maximum 10 entries per put_events API call - chunk_10 = [entries[i : i + 10] for i in range(0, len(entries), 10)] - eventbridge_errors = 0 - for chunk in chunk_10: - response = client.put_events(Entries=chunk) - eventbridge_errors += log_eventbridge_errors(response, logger) - - # Post Status to Slack - message = f"Started build on {len(packages)} packages, with {eventbridge_errors} eventbridge errors" - entry = { - "Source": f"Klayers.invoke.{stage}", - "Resources": [], - "DetailType": "post_to_slack", - "Detail": json.dumps({"message": message}), - "EventBusName": "default", - } - slack_response = client.put_events(Entries=[entry]) - log_eventbridge_errors(slack_response, logger) - - return {"num_packages": len(packages), "eventbridge_errors": eventbridge_errors} + slack_response = client.put_events(Entries=[entry]) + log_eventbridge_errors(slack_response, logger) + + return None diff --git a/pipeline/Serverless/01_invoke_pipelines/invoke_pipelines.yml b/pipeline/Serverless/01_invoke_pipelines/invoke_pipelines.yml index c72d4bfe..365a9a94 100644 --- a/pipeline/Serverless/01_invoke_pipelines/invoke_pipelines.yml +++ b/pipeline/Serverless/01_invoke_pipelines/invoke_pipelines.yml @@ -19,10 +19,12 @@ invoke_pipeline: - Ref: AWS::AccountId - event-bus/default - Effect: Allow - Action: s3:GetObject - Resource: ${self:custom.s3LayersArn}/* + Action: + - dynamodb:GetItem + Resource: + - ${self:custom.dbArn} layers: - - arn:aws:lambda:${self:provider.region}:770693421928:layer:Klayers-python38-aws-lambda-powertools:48 + - arn:aws:lambda:${self:provider.region}:017000801446:layer:AWSLambdaPowertoolsPython:6 download_config: handler: 01_invoke_pipelines/download_config.download_config_from_github @@ -32,18 +34,18 @@ download_config: timeout: 60 environment: POWERTOOLS_SERVICE_NAME: Klayers.download_config + GITHUB_REPO: ${self:custom.githubRepo} iamRoleStatementsName: ${self:provider.stage}-download_config iamRoleStatements: - Effect: Allow Action: - - s3:GetObject - - s3:PutObject + - dynamodb:PutItem Resource: - - ${self:custom.s3LayersArn}/config/* + - ${self:custom.dbArn} layers: - - arn:aws:lambda:${self:provider.region}:770693421928:layer:Klayers-python38-lambda-cache:1 - - arn:aws:lambda:${self:provider.region}:770693421928:layer:Klayers-python38-requests:9 - - arn:aws:lambda:${self:provider.region}:770693421928:layer:Klayers-python38-aws-lambda-powertools:48 + - arn:aws:lambda:${self:provider.region}:770693421928:layer:Klayers-python38-requests:26 + - arn:aws:lambda:${self:provider.region}:017000801446:layer:AWSLambdaPowertoolsPython:6 + invalidate_cache: handler: 01_invoke_pipelines/invalidate_cf_cache.main @@ -54,7 +56,7 @@ invalidate_cache: environment: POWERTOOLS_SERVICE_NAME: Klayers.invalidate_cf_cache # this parameter deployed as part of api Cloudformation - DISTRIBUTION_NAME: /${self:service.name}/${self:provider.stage}/api/cfDistribution/id + DISTRIBUTION_NAME: /${self:service}/${self:provider.stage}/api/cfDistribution/id iamRoleStatementsName: ${self:provider.stage}-invalidate_cache iamRoleStatements: - Effect: Allow @@ -66,7 +68,7 @@ invalidate_cache: - - arn:aws:ssm - ${self:provider.region} - Ref: AWS::AccountId - - parameter/${self:service.name}/${self:provider.stage}/api/cfDistribution/id + - parameter/${self:service}/${self:provider.stage}/api/cfDistribution/id - Effect: Allow Action: - cloudfront:CreateInvalidation @@ -75,7 +77,7 @@ invalidate_cache: - ":" - - "arn:aws:cloudfront:" - Ref: AWS::AccountId - - distribution/${ssm:/${self:service.name}/${self:provider.stage}/api/cfDistribution/id} + - distribution/${ssm:/${self:service}/${self:provider.stage}/api/cfDistribution/id} layers: - arn:aws:lambda:${self:provider.region}:770693421928:layer:Klayers-python38-lambda-cache:1 - - arn:aws:lambda:${self:provider.region}:770693421928:layer:Klayers-python38-aws-lambda-powertools:48 \ No newline at end of file + - arn:aws:lambda:${self:provider.region}:017000801446:layer:AWSLambdaPowertoolsPython:6 \ No newline at end of file diff --git a/pipeline/Serverless/02_pipeline/build.py b/pipeline/Serverless/02_pipeline/build.py index a249fc28..9d138164 100644 --- a/pipeline/Serverless/02_pipeline/build.py +++ b/pipeline/Serverless/02_pipeline/build.py @@ -1,4 +1,9 @@ +################################################################################################################ +# This build.py is for python3.8 only. For later versions refer to build.py in the container_images directory # +################################################################################################################ + import os +import sys import shutil import hashlib from datetime import datetime @@ -10,15 +15,27 @@ logger = Logger() -build_v0 = "bldVrsn0#" -build_version_prefix = "bld#v" -package_prefix = "pckg#" +def get_pk_sk_latest_build(package: str, python_version: str): + build_v0_prefix = "bldVrsn0#" + package_prefix = "pckg#" + sk = {"S": f"{package_prefix}{package}"} + pk = {"S": f"{build_v0_prefix}{python_version}"} + + return pk, sk -def put_requirements_hash(package, version, requirements_txt, requirements_hash): + +def put_requirements_hash( + python_version: str, + package: str, + version: str, + requirements_txt: str, + requirements_hash: str, +): """ Args: package: Package name + python_version: Version of python "p." (e.g. p3.8, p3.9, p3.10) version: Package version requirements_hash: SHA256 hash of the requirements.txt file requirements_txt: requirements txt of the entire build @@ -28,32 +45,31 @@ def put_requirements_hash(package, version, requirements_txt, requirements_hash) client = boto3.client("dynamodb") table_name = os.environ["DB_NAME"] - sk = f"{package_prefix}{package}" + pk, sk = get_pk_sk_latest_build(package, python_version) + # Get latest build version for package + build_version_prefix = "bld#v" response = client.get_item( - TableName=table_name, - Key={"pk": {"S": build_v0}, "sk": {"S": sk}}, - ProjectionExpression="bltVrsn", + TableName=table_name, Key={"pk": pk, "sk": sk}, ProjectionExpression="bltVrsn", ) try: - latest_version = response["Item"]["bltVrsn"]["S"] - new_version = ( - f"{build_version_prefix}{int(latest_version[len(build_version_prefix):])+1}" - ) + latest_version = int(response["Item"]["bltVrsn"]["N"]) + new_version = latest_version + 1 except KeyError: # Version wasn't deployed before, start with v1 - new_version = f"{build_version_prefix}1" + new_version = 1 created_date = datetime.utcnow().isoformat() Item = { - "pk": {"S": new_version}, - "sk": {"S": sk}, + "pk": {"S": f"{build_version_prefix}{new_version}:{python_version}"}, + "sk": sk, "pckgVrsn": {"S": str(version)}, "rqrmntsTxt": {"S": requirements_txt}, "rqrmntsHsh": {"S": requirements_hash}, - "bltVrsn": {"S": new_version}, + "bltVrsn": {"N": str(new_version)}, "crtdDt": {"S": created_date}, "pckg": {"S": package}, + "pyVrsn": {"S": python_version}, } # Insert new record @@ -63,19 +79,21 @@ def put_requirements_hash(package, version, requirements_txt, requirements_hash) { "Update": { "TableName": table_name, - "Key": {"pk": {"S": build_v0}, "sk": {"S": sk},}, + "Key": {"pk": pk, "sk": sk,}, "UpdateExpression": "set " "rqrmntsTxt = :rqrmntsTxt, " "pckgVrsn = :pckgVrsn, " "rqrmntsHsh = :rqrmntsHsh," "bltVrsn = :bltVrsn," - "crtdDt = :crtdDt", + "crtdDt = :crtdDt," + "pyVrsn = :pyVrsn", "ExpressionAttributeValues": { ":rqrmntsTxt": {"S": requirements_txt}, ":pckgVrsn": {"S": str(version)}, ":rqrmntsHsh": {"S": requirements_hash}, - ":bltVrsn": {"S": new_version}, + ":bltVrsn": {"N": str(new_version)}, ":crtdDt": {"S": created_date}, + ":pyVrsn": {"S": python_version}, }, "ConditionExpression": "bltVrsn <> :bltVrsn", } @@ -96,12 +114,13 @@ def put_requirements_hash(package, version, requirements_txt, requirements_hash) ) exit(1) - return + return None -def check_requirement_hash(package, requirements_hash): +def check_requirement_hash(package: str, python_version: str, requirements_hash): """ Args: + python_version: Version of python (e.g. p3.8, p3.9, p3.10) package: Package name requirements_hash: SHA256 hash of the requirements.txt file returns: @@ -110,22 +129,22 @@ def check_requirement_hash(package, requirements_hash): client = boto3.client("dynamodb") table_name = os.environ["DB_NAME"] - sk = f"{package_prefix}{package}" + pk, sk = get_pk_sk_latest_build(package, python_version) response = client.get_item( TableName=table_name, - Key={"pk": {"S": build_v0}, "sk": {"S": sk}}, + Key={"pk": pk, "sk": sk}, ProjectionExpression="rqrmntsHsh", ) if requirements_hash == response.get("Item", {}).get("rqrmntsHsh", {}).get( "S", False ): - hash_found = True + hash_match = True else: - hash_found = False + hash_match = False - return hash_found + return hash_match def freeze_requirements(package, path): @@ -175,8 +194,8 @@ def upload_to_s3(zip_file, package, uploaded_file_name): s3.meta.client.upload_file(zip_file, bucket_name, uploaded_file_name) client = boto3.client("s3") - response = client.list_objects_v2(Bucket=bucket_name, Prefix=package) - + response = client.list_objects_v2(Bucket=bucket_name, Prefix=uploaded_file_name) + logger.info(response) logger.info( { "message": f"Uploaded {package}.zip", @@ -249,14 +268,39 @@ def install(package, package_dir): return package_dir +def check_python_version(python_version: str) -> bool: + """" + Args: + python_version: Version of python required in form of major.minor + return: + True if matches running version, False otherwise + """ + running_python_version = f"p{sys.version_info.major}.{sys.version_info.minor}" + if python_version == running_python_version: + logger.debug(f"Python version supplied: {python_version}") + logger.debug(f"Python version running: {sys.version_info}") + return True + else: + logger.error("Python version doesn't match") + logger.error(f"Python version supplied: {python_version}") + logger.error(f"Python version running: {running_python_version}") + return False + + @logger.inject_lambda_context def main(event, context): package = event["package"] license_info = event["license_info"] + python_version = event["python_version"] + force_build = event["force_build"] + force_deploy = event["force_deploy"] + + if not check_python_version(python_version): + sys.exit(1) package_dir = f"/tmp/python" - uploaded_file_name = f"{package}.zip" + uploaded_file_name = f"{python_version}/{package}.zip" build_flag = False package_dir = install(package, package_dir=package_dir) @@ -272,12 +316,17 @@ def main(event, context): requirements_file.write(requirements_txt) zip_file = zip_dir(dir_path=package_dir, package=package) - if not check_requirement_hash(package=package, requirements_hash=requirements_hash): + if force_build or not check_requirement_hash( + package=package, + requirements_hash=requirements_hash, + python_version=python_version, + ): logger.info( { "requirements_hash": requirements_hash, "package": package, "version": version, + "python_version": python_version, "message": "Uploading to S3", } ) @@ -290,6 +339,7 @@ def main(event, context): requirements_txt=requirements_txt, requirements_hash=requirements_hash, version=version, + python_version=python_version, ) logger.info( @@ -310,10 +360,12 @@ def main(event, context): ) return { - "zip_file": uploaded_file_name, + "zip_file_S3key": uploaded_file_name, "package": package, "version": version, "requirements_hash": requirements_hash, "license_info": license_info, "build_flag": build_flag, + "force_deploy": force_deploy, + "python_version": python_version, } diff --git a/pipeline/Serverless/02_pipeline/check.py b/pipeline/Serverless/02_pipeline/check.py index 02442d3b..43fcc96f 100644 --- a/pipeline/Serverless/02_pipeline/check.py +++ b/pipeline/Serverless/02_pipeline/check.py @@ -37,11 +37,13 @@ def get_latest_release(package): return version, license_info + @logger.inject_lambda_context def main(event, context): """ Args: package: Package to check for + python_version: Version of python (e.g. p3.8, p3.9, p3.10) return: package: Name of package version: Version of package to deploy @@ -50,6 +52,9 @@ def main(event, context): logger.debug(event) package = event.get("detail").get("package") + python_version = event.get("detail").get("python_version", "p3.8") # default to 3.8 + force_build = event.get("detail").get("force_build", False) + force_deploy = event.get("detail").get("force_deploy", False) logger.debug(f"Checking {package}") @@ -64,4 +69,8 @@ def main(event, context): "version": str(latest_version), "package": package, "license_info": license_info, + "python_version": python_version, + "force_build": force_build, + "force_deploy": force_deploy, + "type": 0, # type is required for choice step in Step Functions } diff --git a/pipeline/Serverless/02_pipeline/deploy.py b/pipeline/Serverless/02_pipeline/deploy.py index 6ad64af9..2cd0cc03 100644 --- a/pipeline/Serverless/02_pipeline/deploy.py +++ b/pipeline/Serverless/02_pipeline/deploy.py @@ -10,24 +10,36 @@ logger = Logger() -import common.get_config as get_config +from common.get_config import get_config_items -def check_regions_to_deploy(package, requirements_hash, regions): +def check_regions_to_deploy( + package: str, + requirements_hash: str, + regions: list, + python_version: str, + force_deploy: bool, +) -> list: """ Args: package: Name of package to deploy requirements_hash: Hash of requirements.txt file regions: Total regions configured to deployed + python_version: version of python return: - regions_to_deploy(list): Regions where latest package doesn't match requirements_hash provided + regions_to_deploy: Regions where latest package doesn't match requirements_hash provided """ + + if force_deploy: + return regions + table_name = os.environ["DB_NAME"] dynamodb = boto3.resource("dynamodb") table = dynamodb.Table(table_name) response = table.query( - IndexName="package_global", - KeyConditionExpression=Key("pckg").eq(package) & Key("dplySts").eq("latest"), + IndexName="package_global_by_python_version", + KeyConditionExpression=Key("pckg#PyVrsn").eq(f"{package}:{python_version}") + & Key("dplySts").eq("latest"), ) # check if there are any region in regions that aren't deployed @@ -55,33 +67,37 @@ def check_regions_to_deploy(package, requirements_hash, regions): return regions_to_deploy -def download_artifact(package_artifact): +def download_artifact(zip_file_S3Key): """ - Downloads s3://bucket_name/package_artifact to /tmp directory + Downloads s3://bucket_name/zip_file_S3Key to /tmp directory + Returns the full zip binary for easier upload """ bucket_name = os.environ["BUCKET_NAME"] s3 = boto3.resource("s3") + tmp_file_path = "/tmp/package.zip" - s3.meta.client.download_file( - bucket_name, package_artifact, f"/tmp/{package_artifact}" + logger.info( + f"Downloading package from S3 : {zip_file_S3Key} to location: {tmp_file_path}" ) - with open(f"/tmp/{package_artifact}", "rb") as zip_file: + s3.meta.client.download_file(bucket_name, zip_file_S3Key, tmp_file_path) + logger.debug(f"Downloaded package from S3") + with open(tmp_file_path, "rb") as zip_file: zip_binary = zip_file.read() - logger.info(f"Package {package_artifact} downloaded") return zip_binary -def get_requirements_txt(package): +def get_requirements_txt(package: str, python_version: str) -> str: """ Args: package: Name of package to query for + python_version: Version fo python used (e.g. 3.9, 3.8, 3.10) return: - requirements_txt (str): Requirements.txt of the package, or "null" ot not present + requirements_txt: Requirements.txt of the package, or "null" if not present """ - build_v0 = "bldVrsn0#" + build_v0 = f"bldVrsn0#{python_version}" sk = f"pckg#{package}" client = boto3.client("dynamodb") @@ -98,22 +114,29 @@ def get_requirements_txt(package): @logger.inject_lambda_context def main(event, context): - regions = get_config.get_aws_regions() - package = event["package"] version = event["version"] build_flag = event["build_flag"] - package_artifact = event["zip_file"] + zip_file_S3key = event["zip_file_S3key"] requirements_hash = event["requirements_hash"] license_info = event["license_info"] + force_deploy = event["force_deploy"] table_name = os.environ["DB_NAME"] expiry_days = int(os.environ["EXPIRY_DAYS"]) + python_version = event["python_version"] + regions = get_config_items(config_type="rgns", python_version=python_version) dynamo_client = boto3.client("dynamodb") deployed_flag = False # Check if need to deploy - regions_to_deploy = check_regions_to_deploy(package, requirements_hash, regions) + regions_to_deploy = check_regions_to_deploy( + package=package, + requirements_hash=requirements_hash, + regions=regions, + python_version=python_version, + force_deploy=force_deploy, + ) if len(regions_to_deploy) == 0: logger.info({"message": "No new regions to deploy to, terminating!"}) return { @@ -123,16 +146,19 @@ def main(event, context): "version": version, "requirements_hash": requirements_hash, } + logger.info( {"message": "Regions to deploy", "regions_to_deploy": regions_to_deploy} ) - # Download Lambda Artifact - layer_name = f"{os.environ['LAMBDA_PREFIX']}{package}" - zip_binary = download_artifact(package_artifact) + layer_name = ( + f"{os.environ['LAMBDA_LAYER_PREFIX']}{python_version.replace('.','')}-{package}" + ) + zip_binary = download_artifact(zip_file_S3key) - # Get requirements txt - requirements_txt = get_requirements_txt(package) + requirements_txt = get_requirements_txt( + package=package, python_version=python_version + ) for region in regions_to_deploy: @@ -143,7 +169,7 @@ def main(event, context): LayerName=layer_name, Description=f"{package}=={version} | {requirements_hash}", Content={"ZipFile": zip_binary}, - CompatibleRuntimes=["python3.6", "python3.7", "python3.8"], + CompatibleRuntimes=["python3.6", "python3.7", "python3.8", "python3.9"], LicenseInfo=license_info, ) layer_version_arn = response["LayerVersionArn"] @@ -156,6 +182,7 @@ def main(event, context): "message": "Making Public", "region": region, "package": package, + "python_version": python_version, "arn": layer_version_arn, "created_date": layer_version_created_date, } @@ -175,13 +202,24 @@ def main(event, context): "region": region, "package": package, "arn": layer_version_arn, + "python_version": python_version, } ) - pk = f"lyr#{region}.{package}" + pk = f"lyr#{region}:{package}:{python_version}" sk_v0 = "lyrVrsn0#" - sk = f"lyrVrsn#v{layer_version}" - sk_previous = f"lyrVrsn#v{layer_version-1}" + # This version is different from the Lambda Layer Version -- this is the Klayer Version + try: + layer_version = dynamo_client.get_item( + TableName=table_name, + Key={"pk": {"S": pk}, "sk": {"S": sk_v0},}, + ProjectionExpression="lyrVrsn", + )["Item"]["lyrVrsn"]["N"] + new_layer_version = int(layer_version) + 1 + except KeyError: + new_layer_version = 1 + sk = f"lyrVrsn#v{new_layer_version}" + sk_previous = f"lyrVrsn#v{new_layer_version-1}" dynamo_client.transact_write_items( TransactItems=[ @@ -195,14 +233,16 @@ def main(event, context): "rqrmntsHsh = :rqrmntsHsh," "arn = :arn," "crtdDt = :crtdDt," - "lyrVrsn = :lyrVrsn", + "lyrVrsn = :lyrVrsn," + "pyVrsn = :pyVrsn", "ExpressionAttributeValues": { ":rqrmntsTxt": {"S": requirements_txt}, ":crtdDt": {"S": layer_version_created_date}, ":pckgVrsn": {"S": version}, ":rqrmntsHsh": {"S": requirements_hash}, ":arn": {"S": layer_version_arn}, - ":lyrVrsn": {"N": str(layer_version)}, + ":lyrVrsn": {"N": str(new_layer_version)}, + ":pyVrsn": {"S": python_version}, }, # Allow update only if # Current lyrVrsn is less than updated value @@ -224,16 +264,19 @@ def main(event, context): "pckg": {"S": package}, "rgn": {"S": region}, "dplySts": {"S": "latest"}, - "lyrVrsn": {"N": str(layer_version)}, + "lyrVrsn": {"N": str(new_layer_version)}, + "pyVrsn": {"S": python_version}, + "rgn#PyVrsn": {"S": f"{region}:{python_version}"}, + "pckg#PyVrsn": {"S": f"{package}:{python_version}"}, }, } }, ] ) - if layer_version > 1: + if new_layer_version > 1: logger.info( { - "message": "Updating Previous Version", + "message": "Updating Expiry on previous version", "region": region, "package": package, "arn": layer_version_arn, @@ -255,8 +298,8 @@ def main(event, context): logger.warning( { "message": "Conditional Check failed", - "layer_version": layer_version, - "sk": sk_previous, + "new_layer_version": new_layer_version, + "sk_previous": sk_previous, } ) deployed_flag = True @@ -268,4 +311,5 @@ def main(event, context): "package": package, "version": version, "requirements_hash": requirements_hash, + "python_version": python_version, } diff --git a/pipeline/Serverless/02_pipeline/pipeline.yml b/pipeline/Serverless/02_pipeline/pipeline.yml index 4e6c8267..0c56dbf0 100644 --- a/pipeline/Serverless/02_pipeline/pipeline.yml +++ b/pipeline/Serverless/02_pipeline/pipeline.yml @@ -6,15 +6,15 @@ check: memorySize: 256 layers: - arn:aws:lambda:${self:provider.region}:113088814899:layer:Klayers-python37-packaging:1 - - arn:aws:lambda:${self:provider.region}:770693421928:layer:Klayers-python38-requests:9 - - arn:aws:lambda:ap-southeast-1:770693421928:layer:Klayers-python38-aws-lambda-powertools:48 + - arn:aws:lambda:${self:provider.region}:770693421928:layer:Klayers-python38-requests:26 + - arn:aws:lambda:${self:provider.region}:017000801446:layer:AWSLambdaPowertoolsPython:6 build: handler: 02_pipeline/build.main description: Builds the package inside the lambda using pip runtime: python3.8 timeout: 180 - memorySize: 1792 + memorySize: 1769 environment: POWERTOOLS_SERVICE_NAME: Klayers.Build iamRoleStatementsName: ${self:provider.stage}-build @@ -36,7 +36,7 @@ build: Resource: ${self:custom.dbArn} layers: - arn:aws:lambda:${self:provider.region}:553035198032:layer:gcc-lambda2:4 # https://github.com/lambci/gcc-lambda-layer - - arn:aws:lambda:${self:provider.region}:770693421928:layer:Klayers-python38-aws-lambda-powertools:48 + - arn:aws:lambda:${self:provider.region}:017000801446:layer:AWSLambdaPowertoolsPython:6 deploy: @@ -46,9 +46,8 @@ deploy: timeout: 600 memorySize: 512 environment: - LAMBDA_PREFIX: ${self:custom.lambdaPrefix} POWERTOOLS_SERVICE_NAME: Klayers.Deploy - EXPIRY_DAYS: 60 + EXPIRY_DAYS: 365 iamRoleStatementsName: ${self:provider.stage}-deploy iamRoleStatements: - Effect: Allow @@ -59,7 +58,7 @@ deploy: - dynamodb:UpdateItem Resource: - ${self:custom.dbArn} - - ${self:custom.dbArn}/index/package_global + - ${self:custom.dbArn}/index/package_global_by_python_version - Effect: Allow Action: - lambda:AddLayerVersionPermission @@ -75,4 +74,30 @@ deploy: Resource: ${self:custom.s3LayersArn}/* layers: - arn:aws:lambda:${self:provider.region}:113088814899:layer:Klayers-python37-packaging:1 - - arn:aws:lambda:${self:provider.region}:770693421928:layer:Klayers-python38-aws-lambda-powertools:48 \ No newline at end of file + - arn:aws:lambda:${self:provider.region}:017000801446:layer:AWSLambdaPowertoolsPython:6 + +build39: + description: Builds the package in a container for python3.9 then uploads to S3 + image: + name: build_image + command: + - build.main + timeout: 600 + memorySize: 1769 # exactly one vcpu + iamRoleStatementsName: ${self:provider.stage}-buildp39 + iamRoleStatements: + - Effect: Allow + Action: + - s3:PutObject + - s3:PutObjectAcl + Resource: ${self:custom.s3LayersArn}/* + - Effect: Allow + Action: + - s3:ListBucket + Resource: ${self:custom.s3LayersArn} + - Effect: Allow + Action: + - dynamodb:PutItem + - dynamodb:UpdateItem + - dynamodb:GetItem + Resource: ${self:custom.dbArn} diff --git a/pipeline/Serverless/03_publish/publish.yml b/pipeline/Serverless/03_publish/publish.yml deleted file mode 100644 index 43237ede..00000000 --- a/pipeline/Serverless/03_publish/publish.yml +++ /dev/null @@ -1,73 +0,0 @@ -publish_arns: - handler: 03_publish/publish_arns.main - description: publishes Arns to S3 Bucket - runtime: python3.8 - timeout: 240 - memorySize: 256 - iamRoleStatementsName: ${self:provider.stage}-publish_arns - iamRoleStatements: - - Effect: Allow - Action: - - s3:PutObject - - s3:GetObject - Resource: ${self:custom.s3LayersArn}/* - - Effect: Allow - Action: - - dynamodb:Query - Resource: ${self:custom.dbArn}/index/deployed_in_region - layers: - - arn:aws:lambda:${self:provider.region}:770693421928:layer:Klayers-python38-aws-lambda-powertools:48 - - -publish_reqs: - handler: 03_publish/publish_reqs.main - description: Publish requirements.txt to S3 bucket - runtime: python3.8 - timeout: 120 - memorySize: 256 - iamRoleStatementsName: ${self:provider.stage}-publish_reqs - iamRoleStatements: - - Effect: Allow - Action: - - s3:PutObject - - s3:GetObject - Resource: ${self:custom.s3LayersArn}/* - - Effect: Allow - Action: - - dynamodb:Query - Resource: ${self:custom.dbArn} - layers: - - arn:aws:lambda:${self:provider.region}:770693421928:layer:Klayers-python38-aws-lambda-powertools:48 - -publish_github: - handler: 03_publish/publish_to_github.handler - description: published arns and requirements.txt to github - runtime: provided - memorySize: 2048 - timeout: 600 - environment: - GITHUB_REPO: ${self:custom.githubRepo} - GITHUB_KEY: ${self:custom.githubSSHKeyParameter} - iamRoleStatementsName: ${self:provider.stage}-publish_github - iamRoleStatements: - - Effect: Allow - Action: - - s3:GetObject - Resource: ${self:custom.s3LayersArn}/* - - Effect: Allow - Action: - - s3:ListBucket - Resource: ${self:custom.s3LayersArn} - - Effect: Allow - Action: - - ssm:GetParameters - - ssm:GetParameter - Resource: - Fn::Join: - - ":" - - - arn:aws:ssm - - ${self:provider.region} - - Ref: AWS::AccountId - - parameter${self:custom.githubSSHKeyParameter} - layers: - - arn:aws:lambda:${self:provider.region}:744348701589:layer:bash:8 \ No newline at end of file diff --git a/pipeline/Serverless/03_publish/publish_arns.py b/pipeline/Serverless/03_publish/publish_arns.py deleted file mode 100644 index bb22e546..00000000 --- a/pipeline/Serverless/03_publish/publish_arns.py +++ /dev/null @@ -1,110 +0,0 @@ -import os -import logging -import csv -from datetime import datetime -from common.get_config import get_aws_regions - -from boto3.dynamodb.conditions import Key -import boto3 - -logger = logging.getLogger() -logger.setLevel(logging.INFO) - - -def convert_to_csv(items): - """ - Args: - items: all arns in a region from the DynamoDB query as a list - returns: - csv_body: body of the csv file to write out - """ - - fieldnames = ["Package", "Package Version", "Status", "Expiry Date", "Arn"] - - # sort by package, and then created date (oldest to newest) - sorted_items = sorted(items, key=lambda i: (i["pckg"].lower(), i["crtdDt"])) - - with open("/tmp/packages.csv", "w", newline="") as csvfile: - - writer = csv.DictWriter(csvfile, fieldnames=fieldnames) - writer.writeheader() - for item in sorted_items: - - # convert datetime to human readable - try: - if item["exDt"]: - item["exDt"] = datetime.utcfromtimestamp(item["exDt"]).isoformat() - except KeyError: - item["exDt"] = "" - - csv_item = { - "Package": item["pckg"], - "Package Version": item["pckgVrsn"], - "Arn": item["arn"], - "Status": item["dplySts"], - "Expiry Date": item["exDt"], - } - writer.writerow(csv_item) - - with open("/tmp/packages.csv", "r") as csvfile: - csv_text = csvfile.read() - - return csv_text - - -def query_table(region, table): - """ - Args: - table: DynamoDB table object to query - region: region to query on - returns: - items: items returned from the query - """ - - kwargs = { - "IndexName": "deployed_in_region", - "KeyConditionExpression": Key("rgn").eq(region), - } - items = [] - - while True: - response = table.query(**kwargs) - items.extend(response["Items"]) - - try: - kwargs["ExclusiveStartKey"] = response["ExclusiveStartKey"] - except KeyError: - logger.info( - f"Reached end of query for {region}, Returning {len(items)} items" - ) - break - - return items - - -def main(event, context): - - """ - Gets layer arns for each region and publish to S3 - """ - - regions = get_aws_regions() - - dynamodb = boto3.resource("dynamodb") - table = dynamodb.Table(os.environ["DB_NAME"]) - bucket = os.environ["BUCKET_NAME"] - region_deploy = dict() - - for region in regions: - - items = query_table(table=table, region=region) - arns = convert_to_csv(items) - region_deploy[region] = len(items) - - logger.info(f"Uploading to S3 Bucket") - client = boto3.client("s3") - client.put_object( - Body=arns.encode("utf-8"), Bucket=bucket, Key=f"arns/{region}.csv" - ) - - return {"arn_count": region_deploy} diff --git a/pipeline/Serverless/03_publish/publish_reqs.py b/pipeline/Serverless/03_publish/publish_reqs.py deleted file mode 100644 index 23503631..00000000 --- a/pipeline/Serverless/03_publish/publish_reqs.py +++ /dev/null @@ -1,73 +0,0 @@ -import os -from boto3.dynamodb.conditions import Key - -import boto3 - -from aws_lambda_powertools.logging import Logger - -logger = Logger() - -build_v0 = "bldVrsn0#" -package_prefix = "pckg#" - - -def query_requirements(): - """ - Args: - returns: - items: All the requriements_txt of the latest packages - """ - - dynamodb = boto3.resource("dynamodb") - table = dynamodb.Table(os.environ["DB_NAME"]) - kwargs = { - "KeyConditionExpression": Key("pk").eq(build_v0), - } - items = [] - - while True: - response = table.query(**kwargs) - items.extend(response["Items"]) - - try: - kwargs["ExclusiveStartKey"] = response["ExclusiveStartKey"] - except KeyError: - logger.info({"message": "Reached End of Query", "num_items": len(items)}) - break - - return items - - -@logger.inject_lambda_context -def main(event, context): - - """ - Gets requirements_txt to publish to packages dir - """ - - bucket = os.environ["BUCKET_NAME"] - items = query_requirements() - - for item in items: - - package_name = item["sk"][len(package_prefix) :] - requirements_txt = item["rqrmntsTxt"] - key = f"packages/{package_name}/requirements.txt" - - logger.info( - { - "message": "Uploading to bucket", - "package": package_name, - "requirements_txt": requirements_txt, - "bucket": bucket, - } - ) - client = boto3.client("s3") - client.put_object( - Body=requirements_txt.encode("utf-8"), Bucket=bucket, Key=key, - ) - - return { - "status": "Done", - "num_packages": len(items), - } diff --git a/pipeline/Serverless/03_publish/publish_to_github.sh b/pipeline/Serverless/03_publish/publish_to_github.sh deleted file mode 100644 index 00df880b..00000000 --- a/pipeline/Serverless/03_publish/publish_to_github.sh +++ /dev/null @@ -1,82 +0,0 @@ -#@IgnoreInspection BashAddShebang -handler () { - set -e - - SSH_KEY_DIR=/tmp/.ssh - SSH_KEY_FILE=/tmp/.ssh/id_ecdsa - KNOWN_HOSTS_FILE=/tmp/.ssh/known_hosts - - PACKAGE_DIR=deployments/python3.8/packages - ARNS_DIR=deployments/python3.8/arns - - if [ ! -d $SSH_KEY_DIR ]; - then - mkdir $SSH_KEY_DIR - else - rm -rf $SSH_KEY_DIR - mkdir $SSH_KEY_DIR - fi - - # Get keyfile - aws ssm get-parameter --name $GITHUB_KEY --with-decryption --output text --query Parameter.Value >> $SSH_KEY_FILE - chmod 400 $SSH_KEY_FILE - - # Add github to known host file - ssh-keyscan github.com >> /tmp/.ssh/known_hosts 2>&1 - - # Setup ssh-agent - eval `ssh-agent -s` - ssh-add $SSH_KEY_FILE 2>&1 - - # Point git to known hosts and key files - export GIT_SSH="/tmp" - export GIT_SSH_COMMAND="ssh -o UserKnownHostsFile=/tmp/.ssh/known_hosts -i /tmp/.ssh/github_id_rsa" - - # Clone the repo - cd /tmp - REPO_NAME=$(echo $GITHUB_REPO | cut -d'/' -f2 | cut -d'.' -f1) - if [ -d $$REPO_NAME ]; - then - rm -rf $SSH_KEY_DIR - fi - - if [ -d $REPO_NAME ]; - then - echo "found previous copy of repo, deleting..." - rm -rf $REPO_NAME - else - echo "No previous repo clones found" - fi - - git clone $GITHUB_REPO - cd $REPO_NAME - - # Set github user - echo "[user] - email = keith+klayersbot@keithrozario.com - name = klayersbot" >> /tmp/$REPO_NAME/.git/config - - # Checkout and push - cd /tmp/$REPO_NAME - - rm -rf $ARNS_DIR && mkdir $ARNS_DIR - aws s3 cp s3://$BUCKET_NAME/arns $ARNS_DIR --recursive - - rm -rf $PACKAGE_DIR && mkdir $PACKAGE_DIR - aws s3 cp s3://$BUCKET_NAME/packages $PACKAGE_DIR --recursive - - git add -A - - if [ -n "$(git status --porcelain)" ]; - then - COMMITDATE=$(date +%x_%H:%M) - git commit -m "$COMMITDATE" - git push - else - echo "No changes in Repo" - fi - - # delete ssh key from execution context!! - rm -rf $SSH_KEY_DIR - echo "{\"status\":\"done\"}" >&2 -} \ No newline at end of file diff --git a/pipeline/Serverless/04_stream_processor/layer_delete.py b/pipeline/Serverless/04_stream_processor/layer_delete.py index 47510b0c..b6322b7c 100644 --- a/pipeline/Serverless/04_stream_processor/layer_delete.py +++ b/pipeline/Serverless/04_stream_processor/layer_delete.py @@ -15,7 +15,7 @@ def main(event, context): return -def remove(record): +def remove(record: dict) -> None: """ Deletes lambda_layer_arn from account. record: record from DynamoDB Table @@ -23,16 +23,18 @@ def remove(record): old_image = record["dynamodb"]["OldImage"] layer_version_arn = old_image["arn"]["S"] - deploy_status = old_image["dplySts"][ - "S" - ] # to see if it's a arn record, Key error otherwise - logger.info( - { - "message": "Deleting", - "layer_arn": layer_version_arn, - "deploy_status": deploy_status, - } - ) + try: + deploy_status = old_image["dplySts"]["S"] + logger.info( + { + "message": "Deleting", + "layer_arn": layer_version_arn, + "deploy_status": deploy_status, + } + ) + except KeyError: + return None + arn_elements = layer_version_arn.split(":") region = arn_elements[3] layer_name = arn_elements[6] @@ -49,7 +51,7 @@ def remove(record): return -def insert_expired_record(old_image): +def insert_expired_record(old_image: dict) -> None: """ Inserts a expired record back to DB, removing the dplySts, and entering a deleted date """ @@ -58,7 +60,7 @@ def insert_expired_record(old_image): old_image["dltdDt"] = {"S": datetime.utcnow().isoformat()} try: - del old_image["exDt"] + del old_image["exDt"] # deleted image should have an expiry date except KeyError: logger.warning("Image doesn't have exDt entry") diff --git a/pipeline/Serverless/04_stream_processor/streams.yml b/pipeline/Serverless/04_stream_processor/streams.yml index b2ee7363..529c01ea 100644 --- a/pipeline/Serverless/04_stream_processor/streams.yml +++ b/pipeline/Serverless/04_stream_processor/streams.yml @@ -25,7 +25,7 @@ stream_handler: arn: ${self:custom.dbStreamArn} batchSize: 10 layers: - - arn:aws:lambda:${self:provider.region}:770693421928:layer:Klayers-python38-aws-lambda-powertools:48 + - arn:aws:lambda:${self:provider.region}:017000801446:layer:AWSLambdaPowertoolsPython:6 layer_delete: handler: 04_stream_processor/layer_delete.main @@ -48,7 +48,7 @@ layer_delete: - "*" # need permissions to delete layers in other regions - Ref: AWS::AccountId - layer - - ${self:custom.lambdaPrefix}* # prefix is different for different stages + - "*" # delete all layers - "*" # ability to delete any version - Effect: Allow Action: @@ -65,4 +65,4 @@ layer_delete: pk_type: - "lyr" layers: - - arn:aws:lambda:${self:provider.region}:770693421928:layer:Klayers-python38-aws-lambda-powertools:48 + - arn:aws:lambda:${self:provider.region}:017000801446:layer:AWSLambdaPowertoolsPython:6 diff --git a/pipeline/Serverless/05_slack_notification/slack.yml b/pipeline/Serverless/05_slack_notification/slack.yml index 29143c4e..03c178b7 100644 --- a/pipeline/Serverless/05_slack_notification/slack.yml +++ b/pipeline/Serverless/05_slack_notification/slack.yml @@ -20,8 +20,8 @@ slack_pipeline: - Ref: AWS::AccountId - parameter${self:custom.slackTokenParameter} layers: - - arn:aws:lambda:${self:provider.region}:770693421928:layer:Klayers-python38-slackclient:21 - - arn:aws:lambda:${self:provider.region}:770693421928:layer:Klayers-python38-aws-lambda-powertools:48 + - arn:aws:lambda:${self:provider.region}:770693421928:layer:Klayers-python38-slackclient:42 + - arn:aws:lambda:${self:provider.region}:017000801446:layer:AWSLambdaPowertoolsPython:6 slack_publish: handler: 05_slack_notification/slack_notification.slack_notification_publish @@ -45,8 +45,8 @@ slack_publish: - Ref: AWS::AccountId - parameter${self:custom.slackTokenParameter} layers: - - arn:aws:lambda:${self:provider.region}:770693421928:layer:Klayers-python38-slackclient:21 - - arn:aws:lambda:${self:provider.region}:770693421928:layer:Klayers-python38-aws-lambda-powertools:48 + - arn:aws:lambda:${self:provider.region}:770693421928:layer:Klayers-python38-slackclient:42 + - arn:aws:lambda:${self:provider.region}:017000801446:layer:AWSLambdaPowertoolsPython:6 post_message_to_slack: handler: 05_slack_notification/slack_notification.post_message_to_slack @@ -70,8 +70,8 @@ post_message_to_slack: - Ref: AWS::AccountId - parameter${self:custom.slackTokenParameter} layers: - - arn:aws:lambda:${self:provider.region}:770693421928:layer:Klayers-python38-slackclient:21 - - arn:aws:lambda:${self:provider.region}:770693421928:layer:Klayers-python38-aws-lambda-powertools:48 + - arn:aws:lambda:${self:provider.region}:770693421928:layer:Klayers-python38-slackclient:42 + - arn:aws:lambda:${self:provider.region}:017000801446:layer:AWSLambdaPowertoolsPython:6 events: - eventBridge: pattern: @@ -100,6 +100,6 @@ slack_invokepipeline: - Ref: AWS::AccountId - parameter${self:custom.slackTokenParameter} layers: - - arn:aws:lambda:${self:provider.region}:770693421928:layer:Klayers-python38-slackclient:21 - - arn:aws:lambda:${self:provider.region}:770693421928:layer:Klayers-python38-aws-lambda-powertools:48 + - arn:aws:lambda:${self:provider.region}:770693421928:layer:Klayers-python38-slackclient:42 + - arn:aws:lambda:${self:provider.region}:017000801446:layer:AWSLambdaPowertoolsPython:6 diff --git a/pipeline/Serverless/06_webhook/webhook.yml b/pipeline/Serverless/06_webhook/webhook.yml index 3ffaf37e..249ee67a 100644 --- a/pipeline/Serverless/06_webhook/webhook.yml +++ b/pipeline/Serverless/06_webhook/webhook.yml @@ -37,6 +37,6 @@ webhook_github: events:source: "github.webhook" layers: - arn:aws:lambda:${self:provider.region}:770693421928:layer:Klayers-python38-lambda-cache:1 - - arn:aws:lambda:${self:provider.region}:770693421928:layer:Klayers-python38-aws-lambda-powertools:48 + - arn:aws:lambda:${self:provider.region}:017000801446:layer:AWSLambdaPowertoolsPython:6 events: - httpApi: 'POST /api/v1/github_webhook' diff --git a/pipeline/Serverless/common/get_config.py b/pipeline/Serverless/common/get_config.py index 611a6189..bc72bfc4 100644 --- a/pipeline/Serverless/common/get_config.py +++ b/pipeline/Serverless/common/get_config.py @@ -1,46 +1,19 @@ -import tempfile import os -import csv -import io - import boto3 -def get_aws_regions(): +def get_config_items(config_type: str, python_version: str = "p.38") -> list: """ Args: - os.environ['BUCKET_NAME'] set to Bucket name to grab configuration from - returns: - aws_regions : List of all regions to deploy lambdas into - """ - - s3_client = boto3.client("s3") - bucket_name = os.environ["BUCKET_NAME"] - - with tempfile.TemporaryFile() as region_file: - s3_client.download_fileobj(bucket_name, "config/regions.csv", region_file) - region_file.seek(0) - file_as_string = region_file.read().decode("utf-8") - csv_reader = csv.DictReader(io.StringIO(file_as_string)) - aws_regions = [line["Code"] for line in csv_reader] - - return aws_regions - - -def get_packages(): - """ + python_version: Version of Python returns: - packages: list of all packages to be built + config_items : List of configuration items """ - s3_client = boto3.client("s3") - bucket_name = os.environ["BUCKET_NAME"] + dynamodb = boto3.resource("dynamodb") + table = dynamodb.Table(os.environ["DB_NAME"]) - with tempfile.TemporaryFile() as package_file: - s3_client.download_fileobj(bucket_name, "config/packages.csv", package_file) - package_file.seek(0) - file_as_string = package_file.read().decode("utf-8") - csv_reader = csv.DictReader(io.StringIO(file_as_string)) - packages = [line["Package_Name"] for line in csv_reader] + response = table.get_item(Key={"pk": f"cnfg#{config_type}", "sk": python_version}) + config_items = response["Item"]["cnfg"] - return packages + return config_items diff --git a/pipeline/Serverless/package-lock.json b/pipeline/Serverless/package-lock.json index 7b4f32bf..c5498989 100644 --- a/pipeline/Serverless/package-lock.json +++ b/pipeline/Serverless/package-lock.json @@ -1,481 +1,9367 @@ { "name": "klayers-python37", "version": "0.1.0", - "lockfileVersion": 1, + "lockfileVersion": 2, "requires": true, - "dependencies": { - "2-thenable": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/2-thenable/-/2-thenable-1.0.0.tgz", - "integrity": "sha512-HqiDzaLDFCXkcCO/SwoyhRwqYtINFHF7t9BDRq4x90TOKNAJpiqUt9X5lQ08bwxYzc067HUywDjGySpebHcUpw==", - "requires": { - "d": "1", - "es5-ext": "^0.10.47" + "packages": { + "": { + "name": "klayers-python37", + "version": "0.1.0", + "license": "ISC", + "dependencies": { + "serverless": "^2.69.1" + }, + "devDependencies": { + "serverless-iam-roles-per-function": "^3.2.0", + "serverless-step-functions": "^3.5.1" } }, - "@babel/parser": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.3.tgz", - "integrity": "sha512-oJtNJCMFdIMwXGmx+KxuaD7i3b8uS7TTFYW/FNG2BT8m+fmGHoiPYoH0Pe3gya07WuFmM5FCDIr1x0irkD/hyA==" - }, - "@hapi/address": { + "node_modules/@hapi/address": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz", "integrity": "sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ==", + "deprecated": "Moved to 'npm install @sideway/address'", "dev": true }, - "@hapi/bourne": { + "node_modules/@hapi/bourne": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-1.3.2.tgz", "integrity": "sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==", + "deprecated": "This version has been deprecated and is no longer supported or maintained", "dev": true }, - "@hapi/hoek": { + "node_modules/@hapi/hoek": { "version": "8.5.1", "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.5.1.tgz", "integrity": "sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow==", + "deprecated": "This version has been deprecated and is no longer supported or maintained", "dev": true }, - "@hapi/joi": { + "node_modules/@hapi/joi": { "version": "15.1.1", "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-15.1.1.tgz", "integrity": "sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==", + "deprecated": "Switch to 'npm install joi'", "dev": true, - "requires": { + "dependencies": { "@hapi/address": "2.x.x", "@hapi/bourne": "1.x.x", "@hapi/hoek": "8.x.x", "@hapi/topo": "3.x.x" } }, - "@hapi/topo": { + "node_modules/@hapi/topo": { "version": "3.1.6", "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.6.tgz", "integrity": "sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==", + "deprecated": "This version has been deprecated and is no longer supported or maintained", "dev": true, - "requires": { + "dependencies": { "@hapi/hoek": "^8.3.0" } }, - "@mrmlnc/readdir-enhanced": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", - "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", - "requires": { - "call-me-maybe": "^1.0.1", - "glob-to-regexp": "^0.3.0" + "node_modules/@kwsites/file-exists": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@kwsites/file-exists/-/file-exists-1.1.1.tgz", + "integrity": "sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==", + "dependencies": { + "debug": "^4.1.1" } }, - "@nodelib/fs.scandir": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz", - "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==", - "requires": { - "@nodelib/fs.stat": "2.0.3", + "node_modules/@kwsites/promise-deferred": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz", + "integrity": "sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==" + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" } }, - "@nodelib/fs.stat": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz", - "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==" + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "engines": { + "node": ">= 8" + } }, - "@nodelib/fs.walk": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz", - "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==", - "requires": { - "@nodelib/fs.scandir": "2.1.3", + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" } }, - "@protobufjs/aspromise": { + "node_modules/@protobufjs/aspromise": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", "integrity": "sha1-m4sMxmPWaafY9vXQiToU00jzD78=" }, - "@protobufjs/base64": { + "node_modules/@protobufjs/base64": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" }, - "@protobufjs/codegen": { + "node_modules/@protobufjs/codegen": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" }, - "@protobufjs/eventemitter": { + "node_modules/@protobufjs/eventemitter": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", "integrity": "sha1-NVy8mLr61ZePntCV85diHx0Ga3A=" }, - "@protobufjs/fetch": { + "node_modules/@protobufjs/fetch": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=", - "requires": { + "dependencies": { "@protobufjs/aspromise": "^1.1.1", "@protobufjs/inquire": "^1.1.0" } }, - "@protobufjs/float": { + "node_modules/@protobufjs/float": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", "integrity": "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=" }, - "@protobufjs/inquire": { + "node_modules/@protobufjs/inquire": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", "integrity": "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=" }, - "@protobufjs/path": { + "node_modules/@protobufjs/path": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", "integrity": "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=" }, - "@protobufjs/pool": { + "node_modules/@protobufjs/pool": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", "integrity": "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=" }, - "@protobufjs/utf8": { + "node_modules/@protobufjs/utf8": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=" }, - "@serverless/component-metrics": { + "node_modules/@serverless/cli": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@serverless/cli/-/cli-1.5.3.tgz", + "integrity": "sha512-ZJ0Y7CsYoE/i45XkIMl/XBZO4KIlt0XH1qwxxNE2/84bZlih5cgRV6MZ+rKt7GlrD0iDAgQGyGv5dpyt+SGhKw==", + "dependencies": { + "@serverless/core": "^1.1.2", + "@serverless/template": "^1.1.3", + "@serverless/utils": "^1.2.0", + "ansi-escapes": "^4.3.1", + "chalk": "^2.4.2", + "chokidar": "^3.4.1", + "dotenv": "^8.2.0", + "figures": "^3.2.0", + "minimist": "^1.2.5", + "prettyoutput": "^1.2.0", + "strip-ansi": "^6.0.1" + }, + "bin": { + "components": "bin/bin" + } + }, + "node_modules/@serverless/component-metrics": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/@serverless/component-metrics/-/component-metrics-1.0.8.tgz", "integrity": "sha512-lOUyRopNTKJYVEU9T6stp2irwlTDsYMmUKBOUjnMcwGveuUfIJqrCOtFLtIPPj3XJlbZy5F68l4KP9rZ8Ipang==", - "requires": { + "dependencies": { "node-fetch": "^2.6.0", "shortid": "^2.2.14" } }, - "@serverless/components": { - "version": "2.31.4", - "resolved": "https://registry.npmjs.org/@serverless/components/-/components-2.31.4.tgz", - "integrity": "sha512-aXdEK6dF3AuLmwNwTepmPW0o41QIPUmEG3P4ZNj0x0wixJuREhGZarwHlWsqgqjakZ2oRXraQ2RhuVmRijky3g==", - "requires": { - "@serverless/inquirer": "^1.1.2", - "@serverless/platform-client": "^1.0.0", - "@serverless/platform-client-china": "^1.0.18", - "@serverless/platform-sdk": "^2.3.1", - "@serverless/utils": "^1.1.0", - "adm-zip": "^0.4.14", + "node_modules/@serverless/components": { + "version": "3.18.1", + "resolved": "https://registry.npmjs.org/@serverless/components/-/components-3.18.1.tgz", + "integrity": "sha512-36XSYHjPkSEiSwWkl/xwWgYXa32Fk1CAbHvtWGheCtKV4+I3Yxzhe7FbgR84O0FeGQ/qM3QI8i5vtPUxeDeB9g==", + "dependencies": { + "@serverless/platform-client": "^4.2.2", + "@serverless/platform-client-china": "^2.2.0", + "@serverless/utils": "^4.0.0", + "adm-zip": "^0.5.4", "ansi-escapes": "^4.3.1", - "axios": "^0.19.2", - "chalk": "^2.4.2", - "chokidar": "^3.4.0", + "chalk": "^4.1.0", + "child-process-ext": "^2.1.1", + "chokidar": "^3.5.1", + "ci-info": "^3.2.0", + "dayjs": "^1.10.4", "dotenv": "^8.2.0", + "fastest-levenshtein": "^1.0.12", "figures": "^3.2.0", - "fs-extra": "^8.1.0", - "globby": "^10.0.2", - "got": "^9.6.0", + "fs-extra": "^9.1.0", + "got": "^11.8.2", "graphlib": "^2.1.8", "https-proxy-agent": "^5.0.0", - "ini": "^1.3.5", - "js-yaml": "^3.14.0", + "inquirer-autocomplete-prompt": "^1.3.0", + "js-yaml": "^3.14.1", + "memoizee": "^0.4.14", "minimist": "^1.2.5", - "moment": "^2.27.0", - "open": "^7.0.4", + "open": "^7.3.1", "prettyoutput": "^1.2.0", - "ramda": "^0.26.1", - "semver": "^7.3.2", - "stream.pipeline-shim": "^1.1.0", - "strip-ansi": "^5.2.0", + "ramda": "^0.27.1", + "semver": "^7.3.4", + "strip-ansi": "^6.0.0", + "tencent-serverless-http": "^1.3.1", "traverse": "^0.6.6", - "uuid": "^3.4.0", - "ws": "^7.3.0" + "uuid": "^8.3.2" }, - "dependencies": { - "globby": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", - "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", - "requires": { - "@types/glob": "^7.1.1", - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.0.3", - "glob": "^7.1.3", - "ignore": "^5.1.1", - "merge2": "^1.2.3", - "slash": "^3.0.0" - } - }, - "semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==" - } + "bin": { + "components": "bin/bin" + }, + "engines": { + "node": ">=10.0" } }, - "@serverless/core": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@serverless/core/-/core-1.1.2.tgz", - "integrity": "sha512-PY7gH+7aQ+MltcUD7SRDuQODJ9Sav9HhFJsgOiyf8IVo7XVD6FxZIsSnpMI6paSkptOB7n+0Jz03gNlEkKetQQ==", - "requires": { - "fs-extra": "^7.0.1", - "js-yaml": "^3.13.1", - "package-json": "^6.3.0", - "ramda": "^0.26.1", - "semver": "^6.1.1" - }, + "node_modules/@serverless/components/node_modules/@serverless/utils": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@serverless/utils/-/utils-4.1.0.tgz", + "integrity": "sha512-cl5uPaGg72z0sCUpF0zsOhwYYUV72Gxc1FwFfxltO8hSvMeFDvwD7JrNE4kHcIcKRjwPGbSH0fdVPUpErZ8Mog==", "dependencies": { - "fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - } + "chalk": "^4.1.0", + "ci-info": "^3.1.1", + "inquirer": "^7.3.3", + "js-yaml": "^4.1.0", + "jwt-decode": "^3.1.2", + "lodash": "^4.17.21", + "ncjsm": "^4.1.0", + "type": "^2.5.0", + "uuid": "^8.3.2", + "write-file-atomic": "^3.0.3" + }, + "engines": { + "node": ">=10.0" } }, - "@serverless/enterprise-plugin": { - "version": "3.6.13", - "resolved": "https://registry.npmjs.org/@serverless/enterprise-plugin/-/enterprise-plugin-3.6.13.tgz", - "integrity": "sha512-L7DOqo7LviAbYIySV5n+sURwyI5rf6IfVKRzFF3CK/EtbHUBJn7gEdHNo86Xmsm4I251ZggGSsorQvSIzT2VUQ==", - "requires": { - "@serverless/event-mocks": "^1.1.1", - "@serverless/platform-client": "^0.25.14", - "@serverless/platform-sdk": "^2.3.1", - "chalk": "^2.4.2", - "child-process-ext": "^2.1.1", - "chokidar": "^3.4.0", - "cli-color": "^2.0.0", - "dependency-tree": "^7.2.1", - "find-process": "^1.4.3", - "flat": "^5.0.0", - "fs-extra": "^8.1.0", - "iso8601-duration": "^1.2.0", - "isomorphic-fetch": "^2.2.1", - "js-yaml": "^3.14.0", - "jsonata": "^1.8.3", - "jszip": "^3.4.0", - "lodash": "^4.17.15", - "memoizee": "^0.4.14", - "moment": "^2.26.0", - "node-dir": "^0.1.17", - "node-fetch": "^2.6.0", - "regenerator-runtime": "^0.13.5", - "semver": "^6.3.0", - "simple-git": "^1.132.0", - "source-map-support": "^0.5.19", - "update-notifier": "^2.5.0", - "uuid": "^3.4.0", - "yamljs": "^0.3.0" - }, + "node_modules/@serverless/components/node_modules/@serverless/utils/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dependencies": { - "@serverless/platform-client": { - "version": "0.25.14", - "resolved": "https://registry.npmjs.org/@serverless/platform-client/-/platform-client-0.25.14.tgz", - "integrity": "sha512-ww5GBt5QEHYppLH8X+gEFiuMoFu9xdXK0bEROYbuxUliiB0IfXTXLzWR5whhi/S94R7pTnJ4O+WUiFj0PcV/tQ==", - "requires": { - "adm-zip": "^0.4.13", - "axios": "^0.19.2", - "https-proxy-agent": "^5.0.0", - "isomorphic-ws": "^4.0.1", - "js-yaml": "^3.13.1", - "jwt-decode": "^2.2.0", - "minimatch": "^3.0.4", - "querystring": "^0.2.0", - "traverse": "^0.6.6", - "ws": "^7.2.1" - } - } + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "@serverless/event-mocks": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@serverless/event-mocks/-/event-mocks-1.1.1.tgz", - "integrity": "sha512-YAV5V/y+XIOfd+HEVeXfPWZb8C6QLruFk9tBivoX2roQLWVq145s4uxf8D0QioCueuRzkukHUS4JIj+KVoS34A==", - "requires": { - "@types/lodash": "^4.14.123", - "lodash": "^4.17.11" + "node_modules/@serverless/components/node_modules/@sindresorhus/is": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.2.0.tgz", + "integrity": "sha512-VkE3KLBmJwcCaVARtQpfuKcKv8gcBmUubrfHGF84dXuuW6jgsRYxPtzcIhPyK9WAPpRt2/xY6zkD9MnRaJzSyw==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" } }, - "@serverless/inquirer": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@serverless/inquirer/-/inquirer-1.1.2.tgz", - "integrity": "sha512-2c5A6HSWwXluknPNJ2s+Z4WfBwP7Kn6kgsEKD+5xlXpDpBFsRku/xJyO9eqRCwxTM41stgHNC6TRsZ03+wH/rw==", - "requires": { - "chalk": "^2.0.1", - "inquirer": "^6.5.2", - "ncjsm": "^4.0.1" + "node_modules/@serverless/components/node_modules/@szmarczak/http-timer": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", + "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", + "dependencies": { + "defer-to-connect": "^2.0.0" + }, + "engines": { + "node": ">=10" } }, - "@serverless/platform-client": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@serverless/platform-client/-/platform-client-1.0.3.tgz", - "integrity": "sha512-c+KJQLmzGqEK52S98cTZsltvyoNVYMxtYF40KVBWCWTEK9hPO7bNIV79WdB90pBKYTh0sIlHmSlf2dUuOiOxlw==", - "requires": { - "adm-zip": "^0.4.13", - "axios": "^0.19.2", - "https-proxy-agent": "^5.0.0", - "isomorphic-ws": "^4.0.1", - "js-yaml": "^3.13.1", - "jwt-decode": "^2.2.0", - "minimatch": "^3.0.4", - "querystring": "^0.2.0", - "traverse": "^0.6.6", - "ws": "^7.2.1" + "node_modules/@serverless/components/node_modules/ansi-styles": { + "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" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "@serverless/platform-client-china": { - "version": "1.0.20", - "resolved": "https://registry.npmjs.org/@serverless/platform-client-china/-/platform-client-china-1.0.20.tgz", - "integrity": "sha512-KJisy1IKzE4CG86WFzhN5b0tHv6FI9/K9BxvqLZktIeGRf8tr4CqPbU+UE/DnCpDADuBBrFAXbbIv1RZonwhsQ==", - "requires": { - "@serverless/utils-china": "^0.1.16", - "archiver": "^4.0.1", - "dotenv": "^8.2.0", - "fs-extra": "^8.1.0", - "https-proxy-agent": "^5.0.0", - "isomorphic-ws": "^4.0.1", - "js-yaml": "^3.14.0", - "jwt-decode": "^2.2.0", - "minimatch": "^3.0.4", - "pify": "^5.0.0", - "querystring": "^0.2.0", - "stream.pipeline-shim": "^1.1.0", - "traverse": "^0.6.6", - "urlencode": "^1.1.0", - "ws": "^7.3.0" + "node_modules/@serverless/components/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "node_modules/@serverless/components/node_modules/cacheable-request": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz", + "integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==", + "dependencies": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^4.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^6.0.1", + "responselike": "^2.0.0" }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@serverless/components/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { - "archiver": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/archiver/-/archiver-4.0.1.tgz", - "integrity": "sha512-/YV1pU4Nhpf/rJArM23W6GTUjT0l++VbjykrCRua1TSXrn+yM8Qs7XvtwSiRse0iCe49EPNf7ktXnPsWuSb91Q==", - "requires": { - "archiver-utils": "^2.1.0", - "async": "^2.6.3", - "buffer-crc32": "^0.2.1", - "glob": "^7.1.6", - "readable-stream": "^3.6.0", - "tar-stream": "^2.1.2", - "zip-stream": "^3.0.1" - } - }, - "async": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", - "requires": { - "lodash": "^4.17.14" - } - } + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "@serverless/platform-sdk": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/@serverless/platform-sdk/-/platform-sdk-2.3.1.tgz", - "integrity": "sha512-EiSizya9bK0+5uae3GH9uXuWAchZplkLO0tWOAXtnU5QWSg5zicANL9jKCw0dyhjUOvbcO0ddhFlG8EGYvJFSA==", - "requires": { - "chalk": "^2.4.1", - "https-proxy-agent": "^4.0.0", - "is-docker": "^1.1.0", - "isomorphic-fetch": "^2.2.1", - "jwt-decode": "^2.2.0", - "opn": "^5.5.0", - "querystring": "^0.2.0", - "ramda": "^0.25.0", - "rc": "^1.2.8", - "regenerator-runtime": "^0.13.1", - "source-map-support": "^0.5.12", - "uuid": "^3.3.2", - "write-file-atomic": "^2.4.2", - "ws": "<7.0.0" + "node_modules/@serverless/components/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@serverless/components/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/@serverless/components/node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", "dependencies": { - "agent-base": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-5.1.1.tgz", - "integrity": "sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g==" - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - }, - "https-proxy-agent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz", - "integrity": "sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==", - "requires": { - "agent-base": "5", - "debug": "4" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "ramda": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.25.0.tgz", - "integrity": "sha512-GXpfrYVPwx3K7RQ6aYT8KPS8XViSXUVJT1ONhoKPE9VAleW42YE+U+8VEyGWt41EnEQW7gwecYJriTI0pKoecQ==" - }, - "ws": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", - "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", - "requires": { - "async-limiter": "~1.0.0" - } - } + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "@serverless/template": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@serverless/template/-/template-1.1.3.tgz", - "integrity": "sha512-hcMiX523rkp6kHeKnM1x6/dXEY+d1UFSr901yVKeeCgpFy4u33UI9vlKaPweAZCF6Ahzqywf01IsFTuBVadCrQ==", - "requires": { - "@serverless/component-metrics": "^1.0.8", - "@serverless/core": "^1.0.0", - "graphlib": "^2.1.7", - "traverse": "^0.6.6" + "node_modules/@serverless/components/node_modules/defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", + "engines": { + "node": ">=10" } }, - "@serverless/utils": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@serverless/utils/-/utils-1.2.0.tgz", - "integrity": "sha512-aI/cpGVUhWbJUR8QDMtPue28EU4ViG/L4/XKuZDfAN2uNQv3NRjwEFIBi/cxyfQnMTYVtMLe9wDjuwzOT4ENzA==", - "requires": { - "chalk": "^2.0.1", - "lodash": "^4.17.15", - "rc": "^1.2.8", - "type": "^2.0.0", - "uuid": "^3.4.0", - "write-file-atomic": "^2.4.3" + "node_modules/@serverless/components/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "@serverless/utils-china": { - "version": "0.1.17", - "resolved": "https://registry.npmjs.org/@serverless/utils-china/-/utils-china-0.1.17.tgz", - "integrity": "sha512-GhveUbvj32whixPOztLhHJdLZUP5L3Ni+giOyM2vOl00Dnf1oklau2QCiDxvSWj5+ZlBGxyDMRJUXAfO1F6SPA==", - "requires": { - "@tencent-sdk/capi": "^0.2.17", - "dijkstrajs": "^1.0.1", - "dot-qs": "0.2.0", - "duplexify": "^4.1.1", - "end-of-stream": "^1.4.4", - "https-proxy-agent": "^5.0.0", - "object-assign": "^4.1.1", - "protobufjs": "^6.9.0", - "socket.io-client": "^2.3.0", - "winston": "3.2.1" + "node_modules/@serverless/components/node_modules/got": { + "version": "11.8.3", + "resolved": "https://registry.npmjs.org/got/-/got-11.8.3.tgz", + "integrity": "sha512-7gtQ5KiPh1RtGS9/Jbv1ofDpBFuq42gyfEib+ejaRBJuj/3tQFeR5+gw57e4ipaU8c/rCjvX6fkQz2lyDlGAOg==", + "dependencies": { + "@sindresorhus/is": "^4.0.0", + "@szmarczak/http-timer": "^4.0.5", + "@types/cacheable-request": "^6.0.1", + "@types/responselike": "^1.0.0", + "cacheable-lookup": "^5.0.3", + "cacheable-request": "^7.0.2", + "decompress-response": "^6.0.0", + "http2-wrapper": "^1.0.0-beta.5.2", + "lowercase-keys": "^2.0.0", + "p-cancelable": "^2.0.0", + "responselike": "^2.0.0" + }, + "engines": { + "node": ">=10.19.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/got?sponsor=1" } }, - "@sindresorhus/is": { + "node_modules/@serverless/components/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@serverless/components/node_modules/inquirer": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", + "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.19", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.6.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@serverless/components/node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" + }, + "node_modules/@serverless/components/node_modules/jwt-decode": { + "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==" + }, + "node_modules/@serverless/components/node_modules/keyv": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.0.4.tgz", + "integrity": "sha512-vqNHbAc8BBsxk+7QBYLW0Y219rWcClspR6WSeoHYKG5mnsSoOH+BL1pWq02DDCVdvvuUny5rkBlzMRzoqc+GIg==", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/@serverless/components/node_modules/lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@serverless/components/node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@serverless/components/node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@serverless/components/node_modules/p-cancelable": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", + "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@serverless/components/node_modules/ramda": { + "version": "0.27.1", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.27.1.tgz", + "integrity": "sha512-PgIdVpn5y5Yns8vqb8FzBUEYn98V3xcPgawAkkgj0YJ0qDsnHCiNmZYfOGMgOvoB0eWFLpYbhxUR3mxfDIMvpw==" + }, + "node_modules/@serverless/components/node_modules/responselike": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.0.tgz", + "integrity": "sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw==", + "dependencies": { + "lowercase-keys": "^2.0.0" + } + }, + "node_modules/@serverless/components/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/@serverless/components/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@serverless/components/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@serverless/components/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@serverless/components/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/@serverless/components/node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/@serverless/core": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@serverless/core/-/core-1.1.2.tgz", + "integrity": "sha512-PY7gH+7aQ+MltcUD7SRDuQODJ9Sav9HhFJsgOiyf8IVo7XVD6FxZIsSnpMI6paSkptOB7n+0Jz03gNlEkKetQQ==", + "dependencies": { + "fs-extra": "^7.0.1", + "js-yaml": "^3.13.1", + "package-json": "^6.3.0", + "ramda": "^0.26.1", + "semver": "^6.1.1" + } + }, + "node_modules/@serverless/core/node_modules/fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/@serverless/dashboard-plugin": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@serverless/dashboard-plugin/-/dashboard-plugin-5.5.1.tgz", + "integrity": "sha512-gXn17AOyY3fxSq2nIFNnU4tZorplh2yVb0zI9A+rTeHlQ3HgIJa7xs/rR2hLEcW4vT26zX8dqwdJOAml/9kZyw==", + "dependencies": { + "@serverless/event-mocks": "^1.1.1", + "@serverless/platform-client": "^4.3.0", + "@serverless/utils": "^5.20.0", + "chalk": "^4.1.2", + "child-process-ext": "^2.1.1", + "chokidar": "^3.5.2", + "cli-color": "^2.0.1", + "flat": "^5.0.2", + "fs-extra": "^9.1.0", + "js-yaml": "^4.1.0", + "jszip": "^3.7.1", + "lodash": "^4.17.21", + "memoizee": "^0.4.15", + "ncjsm": "^4.2.0", + "node-dir": "^0.1.17", + "node-fetch": "^2.6.6", + "open": "^7.4.2", + "semver": "^7.3.5", + "simple-git": "^2.47.0", + "uuid": "^8.3.2", + "yamljs": "^0.3.0" + }, + "engines": { + "node": ">=10.0" + } + }, + "node_modules/@serverless/dashboard-plugin/node_modules/@serverless/utils": { + "version": "5.20.2", + "resolved": "https://registry.npmjs.org/@serverless/utils/-/utils-5.20.2.tgz", + "integrity": "sha512-u7+oVwbq1BunmLI0T9egRL93Xg3TGxNsqogXqzxSLtjMWiImsadv3/gUJfXz/wTI9VXfbtQZvsVYMaRpS0JiqA==", + "dependencies": { + "archive-type": "^4.0.0", + "chalk": "^4.1.2", + "ci-info": "^3.3.0", + "cli-progress-footer": "^2.3.0", + "content-disposition": "^0.5.4", + "d": "^1.0.1", + "decompress": "^4.2.1", + "event-emitter": "^0.3.5", + "ext": "^1.6.0", + "ext-name": "^5.0.0", + "file-type": "^16.5.3", + "filenamify": "^4.3.0", + "get-stream": "^6.0.1", + "got": "^11.8.3", + "inquirer": "^7.3.3", + "js-yaml": "^4.1.0", + "jwt-decode": "^3.1.2", + "lodash": "^4.17.21", + "log": "^6.3.1", + "log-node": "^8.0.2", + "make-dir": "^3.1.0", + "memoizee": "^0.4.15", + "ncjsm": "^4.2.0", + "p-event": "^4.2.0", + "supports-color": "^8.1.1", + "type": "^2.5.0", + "uni-global": "^1.0.0", + "uuid": "^8.3.2", + "write-file-atomic": "^3.0.3" + }, + "engines": { + "node": ">=10.0" + } + }, + "node_modules/@serverless/dashboard-plugin/node_modules/@sindresorhus/is": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.2.0.tgz", + "integrity": "sha512-VkE3KLBmJwcCaVARtQpfuKcKv8gcBmUubrfHGF84dXuuW6jgsRYxPtzcIhPyK9WAPpRt2/xY6zkD9MnRaJzSyw==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" + } + }, + "node_modules/@serverless/dashboard-plugin/node_modules/@szmarczak/http-timer": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", + "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", + "dependencies": { + "defer-to-connect": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@serverless/dashboard-plugin/node_modules/ansi-styles": { + "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" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@serverless/dashboard-plugin/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "node_modules/@serverless/dashboard-plugin/node_modules/cacheable-request": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz", + "integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==", + "dependencies": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^4.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^6.0.1", + "responselike": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@serverless/dashboard-plugin/node_modules/cacheable-request/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@serverless/dashboard-plugin/node_modules/chalk": { + "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" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@serverless/dashboard-plugin/node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@serverless/dashboard-plugin/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@serverless/dashboard-plugin/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/@serverless/dashboard-plugin/node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@serverless/dashboard-plugin/node_modules/defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", + "engines": { + "node": ">=10" + } + }, + "node_modules/@serverless/dashboard-plugin/node_modules/file-type": { + "version": "16.5.3", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-16.5.3.tgz", + "integrity": "sha512-uVsl7iFhHSOY4bEONLlTK47iAHtNsFHWP5YE4xJfZ4rnX7S1Q3wce09XgqSC7E/xh8Ncv/be1lNoyprlUH/x6A==", + "dependencies": { + "readable-web-to-node-stream": "^3.0.0", + "strtok3": "^6.2.4", + "token-types": "^4.1.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/file-type?sponsor=1" + } + }, + "node_modules/@serverless/dashboard-plugin/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@serverless/dashboard-plugin/node_modules/got": { + "version": "11.8.3", + "resolved": "https://registry.npmjs.org/got/-/got-11.8.3.tgz", + "integrity": "sha512-7gtQ5KiPh1RtGS9/Jbv1ofDpBFuq42gyfEib+ejaRBJuj/3tQFeR5+gw57e4ipaU8c/rCjvX6fkQz2lyDlGAOg==", + "dependencies": { + "@sindresorhus/is": "^4.0.0", + "@szmarczak/http-timer": "^4.0.5", + "@types/cacheable-request": "^6.0.1", + "@types/responselike": "^1.0.0", + "cacheable-lookup": "^5.0.3", + "cacheable-request": "^7.0.2", + "decompress-response": "^6.0.0", + "http2-wrapper": "^1.0.0-beta.5.2", + "lowercase-keys": "^2.0.0", + "p-cancelable": "^2.0.0", + "responselike": "^2.0.0" + }, + "engines": { + "node": ">=10.19.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/got?sponsor=1" + } + }, + "node_modules/@serverless/dashboard-plugin/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@serverless/dashboard-plugin/node_modules/inquirer": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", + "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.19", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.6.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@serverless/dashboard-plugin/node_modules/js-yaml": { + "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" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@serverless/dashboard-plugin/node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" + }, + "node_modules/@serverless/dashboard-plugin/node_modules/jwt-decode": { + "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==" + }, + "node_modules/@serverless/dashboard-plugin/node_modules/keyv": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.0.4.tgz", + "integrity": "sha512-vqNHbAc8BBsxk+7QBYLW0Y219rWcClspR6WSeoHYKG5mnsSoOH+BL1pWq02DDCVdvvuUny5rkBlzMRzoqc+GIg==", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/@serverless/dashboard-plugin/node_modules/lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@serverless/dashboard-plugin/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@serverless/dashboard-plugin/node_modules/make-dir/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@serverless/dashboard-plugin/node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@serverless/dashboard-plugin/node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@serverless/dashboard-plugin/node_modules/p-cancelable": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", + "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@serverless/dashboard-plugin/node_modules/responselike": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.0.tgz", + "integrity": "sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw==", + "dependencies": { + "lowercase-keys": "^2.0.0" + } + }, + "node_modules/@serverless/dashboard-plugin/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/@serverless/dashboard-plugin/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@serverless/dashboard-plugin/node_modules/supports-color": { + "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" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/@serverless/dashboard-plugin/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@serverless/dashboard-plugin/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/@serverless/dashboard-plugin/node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/@serverless/event-mocks": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@serverless/event-mocks/-/event-mocks-1.1.1.tgz", + "integrity": "sha512-YAV5V/y+XIOfd+HEVeXfPWZb8C6QLruFk9tBivoX2roQLWVq145s4uxf8D0QioCueuRzkukHUS4JIj+KVoS34A==", + "dependencies": { + "@types/lodash": "^4.14.123", + "lodash": "^4.17.11" + } + }, + "node_modules/@serverless/platform-client": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@serverless/platform-client/-/platform-client-4.3.0.tgz", + "integrity": "sha512-q2CMqCkKeBaKA/UwfJAZLkdUsbghSbiYPvAX4rl9rsR5APm4KWtjKQP9CTOtVO5JRMWYoysK6jF0d5VJOABRzQ==", + "dependencies": { + "adm-zip": "^0.5.5", + "archiver": "^5.3.0", + "axios": "^0.21.1", + "fast-glob": "^3.2.7", + "https-proxy-agent": "^5.0.0", + "ignore": "^5.1.8", + "isomorphic-ws": "^4.0.1", + "js-yaml": "^3.14.1", + "jwt-decode": "^2.2.0", + "minimatch": "^3.0.4", + "querystring": "^0.2.1", + "run-parallel-limit": "^1.1.0", + "throat": "^5.0.0", + "traverse": "^0.6.6", + "ws": "^7.5.3" + }, + "engines": { + "node": ">=10.0" + } + }, + "node_modules/@serverless/platform-client-china": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@serverless/platform-client-china/-/platform-client-china-2.3.3.tgz", + "integrity": "sha512-qlw6HA/ooo0h5o4ihLDGKUQKY5xnSpS/0mvv/ZQvmk3atQnDCfuRYUM+3UEPcST1iTObxw3GoKdCUO2oOqb2Lg==", + "dependencies": { + "@serverless/utils-china": "^1.1.4", + "adm-zip": "^0.5.1", + "archiver": "^5.0.2", + "axios": "^0.21.1", + "dotenv": "^8.2.0", + "fast-glob": "^3.2.4", + "fs-extra": "^9.0.1", + "https-proxy-agent": "^5.0.0", + "js-yaml": "^3.14.0", + "minimatch": "^3.0.4", + "querystring": "^0.2.0", + "run-parallel-limit": "^1.0.6", + "traverse": "^0.6.6", + "urlencode": "^1.1.0", + "ws": "^7.3.1" + }, + "engines": { + "node": ">=10.0" + } + }, + "node_modules/@serverless/template": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@serverless/template/-/template-1.1.4.tgz", + "integrity": "sha512-LYC+RmSD4ozStdCxSHInpVWP8h+0sSa0lmPGjAb1Fw4Ppk+LCJqJTrohbhHmF2ixgaIBu6ceNtVTB4qM+2NvIA==", + "dependencies": { + "@serverless/component-metrics": "^1.0.8", + "@serverless/core": "^1.1.2", + "graphlib": "^2.1.8", + "ramda": "^0.26.1", + "traverse": "^0.6.6" + } + }, + "node_modules/@serverless/utils": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@serverless/utils/-/utils-1.2.0.tgz", + "integrity": "sha512-aI/cpGVUhWbJUR8QDMtPue28EU4ViG/L4/XKuZDfAN2uNQv3NRjwEFIBi/cxyfQnMTYVtMLe9wDjuwzOT4ENzA==", + "dependencies": { + "chalk": "^2.0.1", + "lodash": "^4.17.15", + "rc": "^1.2.8", + "type": "^2.0.0", + "uuid": "^3.4.0", + "write-file-atomic": "^2.4.3" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/@serverless/utils-china": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@serverless/utils-china/-/utils-china-1.1.4.tgz", + "integrity": "sha512-8s73M1k+mST7Z/Rp8wgmZh50tjpwX+fqsbYYRuFGgyuWTvgqAlUflDOWAeQuDx4pEndWEqjbG09ZrZNqlHuZqQ==", + "dependencies": { + "@tencent-sdk/capi": "^1.1.8", + "dijkstrajs": "^1.0.1", + "dot-qs": "0.2.0", + "duplexify": "^4.1.1", + "end-of-stream": "^1.4.4", + "got": "^11.8.2", + "https-proxy-agent": "^5.0.0", + "kafka-node": "^5.0.0", + "protobufjs": "^6.9.0", + "qrcode-terminal": "^0.12.0", + "socket.io-client": "^2.3.0", + "winston": "3.2.1" + } + }, + "node_modules/@serverless/utils-china/node_modules/@sindresorhus/is": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.2.0.tgz", + "integrity": "sha512-VkE3KLBmJwcCaVARtQpfuKcKv8gcBmUubrfHGF84dXuuW6jgsRYxPtzcIhPyK9WAPpRt2/xY6zkD9MnRaJzSyw==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" + } + }, + "node_modules/@serverless/utils-china/node_modules/@szmarczak/http-timer": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", + "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", + "dependencies": { + "defer-to-connect": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@serverless/utils-china/node_modules/cacheable-request": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz", + "integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==", + "dependencies": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^4.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^6.0.1", + "responselike": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@serverless/utils-china/node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@serverless/utils-china/node_modules/defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", + "engines": { + "node": ">=10" + } + }, + "node_modules/@serverless/utils-china/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@serverless/utils-china/node_modules/got": { + "version": "11.8.3", + "resolved": "https://registry.npmjs.org/got/-/got-11.8.3.tgz", + "integrity": "sha512-7gtQ5KiPh1RtGS9/Jbv1ofDpBFuq42gyfEib+ejaRBJuj/3tQFeR5+gw57e4ipaU8c/rCjvX6fkQz2lyDlGAOg==", + "dependencies": { + "@sindresorhus/is": "^4.0.0", + "@szmarczak/http-timer": "^4.0.5", + "@types/cacheable-request": "^6.0.1", + "@types/responselike": "^1.0.0", + "cacheable-lookup": "^5.0.3", + "cacheable-request": "^7.0.2", + "decompress-response": "^6.0.0", + "http2-wrapper": "^1.0.0-beta.5.2", + "lowercase-keys": "^2.0.0", + "p-cancelable": "^2.0.0", + "responselike": "^2.0.0" + }, + "engines": { + "node": ">=10.19.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/got?sponsor=1" + } + }, + "node_modules/@serverless/utils-china/node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" + }, + "node_modules/@serverless/utils-china/node_modules/keyv": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.0.4.tgz", + "integrity": "sha512-vqNHbAc8BBsxk+7QBYLW0Y219rWcClspR6WSeoHYKG5mnsSoOH+BL1pWq02DDCVdvvuUny5rkBlzMRzoqc+GIg==", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/@serverless/utils-china/node_modules/lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@serverless/utils-china/node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@serverless/utils-china/node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@serverless/utils-china/node_modules/p-cancelable": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", + "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@serverless/utils-china/node_modules/responselike": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.0.tgz", + "integrity": "sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw==", + "dependencies": { + "lowercase-keys": "^2.0.0" + } + }, + "node_modules/@sindresorhus/is": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", + "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/@szmarczak/http-timer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", + "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", + "dependencies": { + "defer-to-connect": "^1.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@tencent-sdk/capi": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/@tencent-sdk/capi/-/capi-1.1.8.tgz", + "integrity": "sha512-AmyMQndtxMsM59eDeA0gGiw8T2LzNvDhx/xl+ygFXXrsw+yb/mit73ndHkiHKcRA1EpNHTyD1PN9ATxghzplfg==", + "dependencies": { + "@types/request": "^2.48.3", + "@types/request-promise-native": "^1.0.17", + "request": "^2.88.0", + "request-promise-native": "^1.0.8" + } + }, + "node_modules/@tokenizer/token": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz", + "integrity": "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==" + }, + "node_modules/@types/cacheable-request": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.2.tgz", + "integrity": "sha512-B3xVo+dlKM6nnKTcmm5ZtY/OL8bOAOd2Olee9M1zft65ox50OzjEHW91sDiU9j6cvW8Ejg1/Qkf4xd2kugApUA==", + "dependencies": { + "@types/http-cache-semantics": "*", + "@types/keyv": "*", + "@types/node": "*", + "@types/responselike": "*" + } + }, + "node_modules/@types/caseless": { + "version": "0.12.2", + "resolved": "https://registry.npmjs.org/@types/caseless/-/caseless-0.12.2.tgz", + "integrity": "sha512-6ckxMjBBD8URvjB6J3NcnuAn5Pkl7t3TizAg+xdlzzQGSPSmBcXf8KoIH0ua/i+tio+ZRUHEXp0HEmvaR4kt0w==" + }, + "node_modules/@types/http-cache-semantics": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz", + "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==" + }, + "node_modules/@types/keyv": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.3.tgz", + "integrity": "sha512-FXCJgyyN3ivVgRoml4h94G/p3kY+u/B86La+QptcqJaWtBWtmc6TtkNfS40n9bIvyLteHh7zXOtgbobORKPbDg==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/lodash": { + "version": "4.14.178", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.178.tgz", + "integrity": "sha512-0d5Wd09ItQWH1qFbEyQ7oTQ3GZrMfth5JkbN3EvTKLXcHLRDSXeLnlvlOn0wvxVIwK5o2M8JzP/OWz7T3NRsbw==" + }, + "node_modules/@types/long": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.1.tgz", + "integrity": "sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==" + }, + "node_modules/@types/node": { + "version": "17.0.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.5.tgz", + "integrity": "sha512-w3mrvNXLeDYV1GKTZorGJQivK6XLCoGwpnyJFbJVK/aTBQUxOCaa/GlFAAN3OTDFcb7h5tiFG+YXCO2By+riZw==" + }, + "node_modules/@types/request": { + "version": "2.48.7", + "resolved": "https://registry.npmjs.org/@types/request/-/request-2.48.7.tgz", + "integrity": "sha512-GWP9AZW7foLd4YQxyFZDBepl0lPsWLMEXDZUjQ/c1gqVPDPECrRZyEzuhJdnPWioFCq3Tv0qoGpMD6U+ygd4ZA==", + "dependencies": { + "@types/caseless": "*", + "@types/node": "*", + "@types/tough-cookie": "*", + "form-data": "^2.5.0" + } + }, + "node_modules/@types/request-promise-native": { + "version": "1.0.18", + "resolved": "https://registry.npmjs.org/@types/request-promise-native/-/request-promise-native-1.0.18.tgz", + "integrity": "sha512-tPnODeISFc/c1LjWyLuZUY+Z0uLB3+IMfNoQyDEi395+j6kTFTTRAqjENjoPJUid4vHRGEozoTrcTrfZM+AcbA==", + "dependencies": { + "@types/request": "*" + } + }, + "node_modules/@types/responselike": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz", + "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/tough-cookie": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.1.tgz", + "integrity": "sha512-Y0K95ThC3esLEYD6ZuqNek29lNX2EM1qxV8y2FTLUB0ff5wWrk7az+mLrnNFUnaXcgKye22+sFBRXOgpPILZNg==" + }, + "node_modules/2-thenable": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/2-thenable/-/2-thenable-1.0.0.tgz", + "integrity": "sha512-HqiDzaLDFCXkcCO/SwoyhRwqYtINFHF7t9BDRq4x90TOKNAJpiqUt9X5lQ08bwxYzc067HUywDjGySpebHcUpw==", + "dependencies": { + "d": "1", + "es5-ext": "^0.10.47" + } + }, + "node_modules/adm-zip": { + "version": "0.5.9", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.9.tgz", + "integrity": "sha512-s+3fXLkeeLjZ2kLjCBwQufpI5fuN+kIGBxu6530nVQZGVol0d7Y/M88/xw9HGGUcJjKf8LutN3VPRUBq6N7Ajg==", + "engines": { + "node": ">=6.0" + } + }, + "node_modules/after": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", + "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=" + }, + "node_modules/agent-base": { + "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" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/ajv": { + "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" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "dependencies": { + "string-width": "^4.1.0" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "optional": true + }, + "node_modules/archive-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/archive-type/-/archive-type-4.0.0.tgz", + "integrity": "sha1-+S5yIzBW38aWlHJ0nCZ72wRrHXA=", + "dependencies": { + "file-type": "^4.2.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/archive-type/node_modules/file-type": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-4.4.0.tgz", + "integrity": "sha1-G2AOX8ofvcboDApwxxyNul95BsU=", + "engines": { + "node": ">=4" + } + }, + "node_modules/archiver": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/archiver/-/archiver-5.3.0.tgz", + "integrity": "sha512-iUw+oDwK0fgNpvveEsdQ0Ase6IIKztBJU2U0E9MzszMfmVVUyv1QJhS2ITW9ZCqx8dktAxVAjWWkKehuZE8OPg==", + "dependencies": { + "archiver-utils": "^2.1.0", + "async": "^3.2.0", + "buffer-crc32": "^0.2.1", + "readable-stream": "^3.6.0", + "readdir-glob": "^1.0.0", + "tar-stream": "^2.2.0", + "zip-stream": "^4.1.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/archiver-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz", + "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==", + "dependencies": { + "glob": "^7.1.4", + "graceful-fs": "^4.2.0", + "lazystream": "^1.0.0", + "lodash.defaults": "^4.2.0", + "lodash.difference": "^4.5.0", + "lodash.flatten": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.union": "^4.6.0", + "normalize-path": "^3.0.0", + "readable-stream": "^2.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/archiver-utils/node_modules/readable-stream": { + "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" + } + }, + "node_modules/archiver-utils/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/archiver-utils/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/are-we-there-yet": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", + "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", + "optional": true, + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "node_modules/are-we-there-yet/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "optional": true, + "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" + } + }, + "node_modules/are-we-there-yet/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "optional": true + }, + "node_modules/are-we-there-yet/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "optional": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/arraybuffer.slice": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz", + "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==" + }, + "node_modules/asl-validator": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/asl-validator/-/asl-validator-1.10.0.tgz", + "integrity": "sha512-N7/ouOzYaEJqUNf82NarTs6Cg8sZMnHIDVGULjhzw7GLyXgoXkQUZrhvHXCyucvkU4FfeHmzY3TynEjl0/UN3Q==", + "dev": true, + "dependencies": { + "ajv": "^6.12.6", + "commander": "^5.1.0", + "jsonpath": "^1.1.0" + }, + "bin": { + "asl-validator": "bin/asl-validator.js" + } + }, + "node_modules/asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/async": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.2.tgz", + "integrity": "sha512-H0E+qZaDEfx/FY4t7iLRv1W2fFI6+pyCeTw1uN20AQPiwqwM6ojPxHxdLv4z8hi2DtnW9BOckSspLucW7pIE5g==" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/aws-sdk": { + "version": "2.1048.0", + "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1048.0.tgz", + "integrity": "sha512-mVwWo+Udiuc/yEZ/DgJQGqOEtfiQjgUdtshx/t6ISe3+jW3TF9hUACwADwx2Sr/fuJyyJ3QD5JYLt5Cw35wQpA==", + "dependencies": { + "buffer": "4.9.2", + "events": "1.1.1", + "ieee754": "1.1.13", + "jmespath": "0.15.0", + "querystring": "0.2.0", + "sax": "1.2.1", + "url": "0.10.3", + "uuid": "3.3.2", + "xml2js": "0.4.19" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/aws-sdk/node_modules/querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/aws-sdk/node_modules/uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" + }, + "node_modules/axios": { + "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" + } + }, + "node_modules/backo2": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", + "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=" + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/base64-arraybuffer": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz", + "integrity": "sha1-mBjHngWbE1X5fgQooBfIOOkLqBI=", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/binary": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz", + "integrity": "sha1-n2BVO8XOjDOG87VTz/R0Yq3sqnk=", + "dependencies": { + "buffers": "~0.1.1", + "chainsaw": "~0.1.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "optional": true, + "dependencies": { + "file-uri-to-path": "1.0.0" + } + }, + "node_modules/bl": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/bl/-/bl-2.2.1.tgz", + "integrity": "sha512-6Pesp1w0DEX1N550i/uGV/TqucVL4AM/pgThFSN/Qq9si1/DF9aIHs1BxD8V/QU0HoeHO6cQRTAuYnLPKq1e4g==", + "dependencies": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/bl/node_modules/readable-stream": { + "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" + } + }, + "node_modules/bl/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/bl/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/blob": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz", + "integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==" + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + }, + "node_modules/boxen": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz", + "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==", + "dependencies": { + "ansi-align": "^3.0.0", + "camelcase": "^6.2.0", + "chalk": "^4.1.0", + "cli-boxes": "^2.2.1", + "string-width": "^4.2.2", + "type-fest": "^0.20.2", + "widest-line": "^3.1.0", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/boxen/node_modules/ansi-styles": { + "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" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/boxen/node_modules/chalk": { + "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" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/boxen/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/boxen/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/boxen/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/boxen/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/boxen/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/brace-expansion": { + "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" + } + }, + "node_modules/braces": { + "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" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/buffer": { + "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" + } + }, + "node_modules/buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "dependencies": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "node_modules/buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", + "engines": { + "node": "*" + } + }, + "node_modules/buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=" + }, + "node_modules/buffermaker": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/buffermaker/-/buffermaker-1.2.1.tgz", + "integrity": "sha512-IdnyU2jDHU65U63JuVQNTHiWjPRH0CS3aYd/WPaEwyX84rFdukhOduAVb1jwUScmb5X0JWPw8NZOrhoLMiyAHQ==", + "dependencies": { + "long": "1.1.2" + } + }, + "node_modules/buffers": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz", + "integrity": "sha1-skV5w77U1tOWru5tmorn9Ugqt7s=", + "engines": { + "node": ">=0.2.0" + } + }, + "node_modules/builtin-modules": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.2.0.tgz", + "integrity": "sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cacheable-lookup": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", + "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", + "engines": { + "node": ">=10.6.0" + } + }, + "node_modules/cacheable-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", + "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", + "dependencies": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^3.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^1.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cacheable-request/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cacheable-request/node_modules/lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/cachedir": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.3.0.tgz", + "integrity": "sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.1.tgz", + "integrity": "sha512-tVI4q5jjFV5CavAU8DXfza/TJcZutVKo/5Foskmsqcm0MsL91moHvwiGNnqaa2o6PF/7yT5ikDRcVcl8Rj6LCA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + }, + "node_modules/chainsaw": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz", + "integrity": "sha1-XqtQsor+WAdNDVgpE4iCi15fvJg=", + "dependencies": { + "traverse": ">=0.3.0 <0.4" + }, + "engines": { + "node": "*" + } + }, + "node_modules/chainsaw/node_modules/traverse": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz", + "integrity": "sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk=", + "engines": { + "node": "*" + } + }, + "node_modules/chalk": { + "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" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" + }, + "node_modules/child-process-ext": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/child-process-ext/-/child-process-ext-2.1.1.tgz", + "integrity": "sha512-0UQ55f51JBkOFa+fvR76ywRzxiPwQS3Xe8oe5bZRphpv+dIMeerW5Zn5e4cUy4COJwVtJyU0R79RMnw+aCqmGA==", + "dependencies": { + "cross-spawn": "^6.0.5", + "es5-ext": "^0.10.53", + "log": "^6.0.0", + "split2": "^3.1.1", + "stream-promise": "^3.2.0" + } + }, + "node_modules/chokidar": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", + "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", + "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" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/ci-info": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.0.tgz", + "integrity": "sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==" + }, + "node_modules/cli-boxes": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", + "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-color": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/cli-color/-/cli-color-2.0.1.tgz", + "integrity": "sha512-eBbxZF6fqPUNnf7CLAFOersUnyYzv83tHFLSlts+OAHsNendaqv2tHCq+/MO+b3Y+9JeoUlIvobyxG/Z8GNeOg==", + "dependencies": { + "d": "^1.0.1", + "es5-ext": "^0.10.53", + "es6-iterator": "^2.0.3", + "memoizee": "^0.4.15", + "timers-ext": "^0.1.7" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-progress-footer": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cli-progress-footer/-/cli-progress-footer-2.3.0.tgz", + "integrity": "sha512-xJl+jqvdsE0Gjh5tKoLzZrQS4nPHC+yzeitgq2faAZiHl+/Peuwzoy5Sed6EBkm8JNrPk7W4U3YNVO/uxoqOFg==", + "dependencies": { + "cli-color": "^2.0.1", + "d": "^1.0.1", + "es5-ext": "^0.10.53", + "mute-stream": "0.0.8", + "process-utils": "^4.0.0", + "timers-ext": "^0.1.7", + "type": "^2.5.0" + }, + "engines": { + "node": ">=10.0" + } + }, + "node_modules/cli-spinners": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", + "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", + "peer": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-sprintf-format": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/cli-sprintf-format/-/cli-sprintf-format-1.1.1.tgz", + "integrity": "sha512-BbEjY9BEdA6wagVwTqPvmAwGB24U93rQPBFZUT8lNCDxXzre5LFHQUTJc70czjgUomVg8u8R5kW8oY9DYRFNeg==", + "dependencies": { + "cli-color": "^2.0.1", + "es5-ext": "^0.10.53", + "sprintf-kit": "^2.0.1", + "supports-color": "^6.1.0" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/cli-sprintf-format/node_modules/supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "peer": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", + "dependencies": { + "mimic-response": "^1.0.0" + } + }, + "node_modules/code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/color": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", + "dependencies": { + "color-convert": "^1.9.3", + "color-string": "^1.6.0" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/color-string": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.0.tgz", + "integrity": "sha512-9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ==", + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/colornames": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/colornames/-/colornames-1.1.1.tgz", + "integrity": "sha1-+IiQMGhcfE/54qVZ9Qd+t2qBb5Y=" + }, + "node_modules/colors": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz", + "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==", + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/colorspace": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.4.tgz", + "integrity": "sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==", + "dependencies": { + "color": "^3.1.3", + "text-hex": "1.0.x" + } + }, + "node_modules/combined-stream": { + "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" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/component-bind": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", + "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=" + }, + "node_modules/component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" + }, + "node_modules/component-inherit": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", + "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=" + }, + "node_modules/compress-commons": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.1.tgz", + "integrity": "sha512-QLdDLCKNV2dtoTorqgxngQCMA+gWXkM/Nwu7FpeBhk/RdkzimqC3jueb/FDmaZeXh+uby1jkBqE3xArsLBE5wQ==", + "dependencies": { + "buffer-crc32": "^0.2.13", + "crc32-stream": "^4.0.2", + "normalize-path": "^3.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "node_modules/console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "optional": true + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookiejar": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.3.tgz", + "integrity": "sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ==" + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "node_modules/crc-32": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.0.tgz", + "integrity": "sha512-1uBwHxF+Y/4yF5G48fwnKq6QsIXheor3ZLPT80yGBV1oEUwpPojlEhQbWKVw1VwcTQyMGHK1/XMmTjmlsmTTGA==", + "dependencies": { + "exit-on-epipe": "~1.0.1", + "printj": "~1.1.0" + }, + "bin": { + "crc32": "bin/crc32.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/crc32-stream": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.2.tgz", + "integrity": "sha512-DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w==", + "dependencies": { + "crc-32": "^1.2.0", + "readable-stream": "^3.4.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/cross-spawn": { + "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" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/cross-spawn/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "dependencies": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, + "node_modules/d/node_modules/type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/dayjs": { + "version": "1.10.7", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.10.7.tgz", + "integrity": "sha512-P6twpd70BcPK34K26uJ1KT3wlhpuOAPoMwJzpsIWUxHZ7wpmbdZL/hQqBDfz7hGurYSa5PhzdhDHtt319hL3ig==" + }, + "node_modules/debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decompress": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz", + "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==", + "dependencies": { + "decompress-tar": "^4.0.0", + "decompress-tarbz2": "^4.0.0", + "decompress-targz": "^4.0.0", + "decompress-unzip": "^4.0.1", + "graceful-fs": "^4.1.10", + "make-dir": "^1.0.0", + "pify": "^2.3.0", + "strip-dirs": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "dependencies": { + "mimic-response": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-tar": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", + "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", + "dependencies": { + "file-type": "^5.2.0", + "is-stream": "^1.1.0", + "tar-stream": "^1.5.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-tar/node_modules/bl": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", + "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", + "dependencies": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/decompress-tar/node_modules/readable-stream": { + "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" + } + }, + "node_modules/decompress-tar/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/decompress-tar/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/decompress-tar/node_modules/tar-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", + "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "dependencies": { + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/decompress-tarbz2": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", + "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", + "dependencies": { + "decompress-tar": "^4.1.0", + "file-type": "^6.1.0", + "is-stream": "^1.1.0", + "seek-bzip": "^1.0.5", + "unbzip2-stream": "^1.0.9" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-tarbz2/node_modules/file-type": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", + "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==", + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-targz": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", + "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", + "dependencies": { + "decompress-tar": "^4.1.1", + "file-type": "^5.2.0", + "is-stream": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-unzip": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", + "integrity": "sha1-3qrM39FK6vhVePczroIQ+bSEj2k=", + "dependencies": { + "file-type": "^3.8.0", + "get-stream": "^2.2.0", + "pify": "^2.3.0", + "yauzl": "^2.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-unzip/node_modules/file-type": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", + "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/defaults": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", + "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "peer": true, + "dependencies": { + "clone": "^1.0.2" + } + }, + "node_modules/defer-to-connect": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", + "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==" + }, + "node_modules/deferred": { + "version": "0.7.11", + "resolved": "https://registry.npmjs.org/deferred/-/deferred-0.7.11.tgz", + "integrity": "sha512-8eluCl/Blx4YOGwMapBvXRKxHXhA8ejDXYzEaK8+/gtcm8hRMhSLmXSqDmNUKNc/C8HNSmuyyp/hflhqDAvK2A==", + "dependencies": { + "d": "^1.0.1", + "es5-ext": "^0.10.50", + "event-emitter": "^0.3.5", + "next-tick": "^1.0.0", + "timers-ext": "^0.1.7" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "optional": true + }, + "node_modules/denque": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/denque/-/denque-1.5.1.tgz", + "integrity": "sha512-XwE+iZ4D6ZUB7mfYRMb5wByE8L74HCn30FBN7sWnXksWc1LO1bPDl67pBR9o/kC4z/xSNAwkMYcGgqDV3BE3Hw==", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", + "optional": true, + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/diagnostics": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/diagnostics/-/diagnostics-1.1.1.tgz", + "integrity": "sha512-8wn1PmdunLJ9Tqbx+Fx/ZEuHfJf4NKSN2ZBj7SJC/OWRWha843+WsTjqMe1B5E3p28jqBlp+mJ2fPVxPyNgYKQ==", + "dependencies": { + "colorspace": "1.1.x", + "enabled": "1.0.x", + "kuler": "1.0.x" + } + }, + "node_modules/dijkstrajs": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.2.tgz", + "integrity": "sha512-QV6PMaHTCNmKSeP6QoXhVTw9snc9VD8MulTT0Bd99Pacp4SS1cjcrYPgBPmibqKVtMJJfqC6XvOXgPMEEPH/fg==" + }, + "node_modules/dir-glob": { + "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" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dot-qs": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dot-qs/-/dot-qs-0.2.0.tgz", + "integrity": "sha1-02UX/iS3zaYfznpQJqACSvr1pDk=", + "engines": { + "node": "*" + } + }, + "node_modules/dotenv": { + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz", + "integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==", + "engines": { + "node": ">=10" + } + }, + "node_modules/dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" + }, + "node_modules/duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" + }, + "node_modules/duplexify": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.2.tgz", + "integrity": "sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==", + "dependencies": { + "end-of-stream": "^1.4.1", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1", + "stream-shift": "^1.0.0" + } + }, + "node_modules/duration": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/duration/-/duration-0.2.2.tgz", + "integrity": "sha512-06kgtea+bGreF5eKYgI/36A6pLXggY7oR4p1pq4SmdFBn1ReOL5D8RhG64VrqfTTKNucqqtBAwEj8aB88mcqrg==", + "dependencies": { + "d": "1", + "es5-ext": "~0.10.46" + } + }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/enabled": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/enabled/-/enabled-1.0.2.tgz", + "integrity": "sha1-ll9lE9LC0cX0ZStkouM5ZGf8L5M=", + "dependencies": { + "env-variable": "0.0.x" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/engine.io-client": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.5.2.tgz", + "integrity": "sha512-QEqIp+gJ/kMHeUun7f5Vv3bteRHppHH/FMBQX/esFj/fuYfjyUKWGMo3VCvIP/V8bE9KcjHmRZrhIz2Z9oNsDA==", + "dependencies": { + "component-emitter": "~1.3.0", + "component-inherit": "0.0.3", + "debug": "~3.1.0", + "engine.io-parser": "~2.2.0", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "parseqs": "0.0.6", + "parseuri": "0.0.6", + "ws": "~7.4.2", + "xmlhttprequest-ssl": "~1.6.2", + "yeast": "0.1.2" + } + }, + "node_modules/engine.io-client/node_modules/debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/engine.io-client/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "node_modules/engine.io-client/node_modules/ws": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", + "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/engine.io-parser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.2.1.tgz", + "integrity": "sha512-x+dN/fBH8Ro8TFwJ+rkB2AmuVw9Yu2mockR/p3W8f8YtExwFgDvBDi0GWyb4ZLkpahtDGZgtr3zLovanJghPqg==", + "dependencies": { + "after": "0.8.2", + "arraybuffer.slice": "~0.0.7", + "base64-arraybuffer": "0.1.4", + "blob": "0.0.5", + "has-binary2": "~1.0.2" + } + }, + "node_modules/env-variable": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/env-variable/-/env-variable-0.0.6.tgz", + "integrity": "sha512-bHz59NlBbtS0NhftmR8+ExBEekE7br0e01jw+kk0NDro7TtZzBYZ5ScGPs3OmwnpyfHTHOtr1Y6uedCdrIldtg==" + }, + "node_modules/es5-ext": { + "version": "0.10.53", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", + "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", + "dependencies": { + "es6-iterator": "~2.0.3", + "es6-symbol": "~3.1.3", + "next-tick": "~1.0.0" + } + }, + "node_modules/es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "dependencies": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "node_modules/es6-promisify": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-6.1.1.tgz", + "integrity": "sha512-HBL8I3mIki5C1Cc9QjKUenHtnG0A5/xA8Q/AllRcfiwl2CZFXGK7ddBiCoRwAix4i2KxcQfjtIVcrVbB3vbmwg==" + }, + "node_modules/es6-set": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", + "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", + "dependencies": { + "d": "1", + "es5-ext": "~0.10.14", + "es6-iterator": "~2.0.1", + "es6-symbol": "3.1.1", + "event-emitter": "~0.3.5" + } + }, + "node_modules/es6-set/node_modules/es6-symbol": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", + "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", + "dependencies": { + "d": "1", + "es5-ext": "~0.10.14" + } + }, + "node_modules/es6-symbol": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "dependencies": { + "d": "^1.0.1", + "ext": "^1.1.2" + } + }, + "node_modules/es6-weak-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", + "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", + "dependencies": { + "d": "1", + "es5-ext": "^0.10.46", + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.1" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "dev": true, + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=4.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/escodegen/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/esniff": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/esniff/-/esniff-1.1.0.tgz", + "integrity": "sha1-xmhJIp+RRk3t4uDUAgHtar9l8qw=", + "dependencies": { + "d": "1", + "es5-ext": "^0.10.12" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/essentials": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/essentials/-/essentials-1.2.0.tgz", + "integrity": "sha512-kP/j7Iw7KeNE8b/o7+tr9uX2s1wegElGOoGZ2Xm35qBr4BbbEcH3/bxR2nfH9l9JANCq9AUrvKw+gRuHtZp0HQ==", + "dependencies": { + "uni-global": "^1.0.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/event-emitter": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", + "dependencies": { + "d": "1", + "es5-ext": "~0.10.14" + } + }, + "node_modules/events": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", + "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=", + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/exit-on-epipe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz", + "integrity": "sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/expand-template": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", + "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", + "optional": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ext": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.6.0.tgz", + "integrity": "sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg==", + "dependencies": { + "type": "^2.5.0" + } + }, + "node_modules/ext-list": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/ext-list/-/ext-list-2.2.2.tgz", + "integrity": "sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==", + "dependencies": { + "mime-db": "^1.28.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ext-name": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ext-name/-/ext-name-5.0.0.tgz", + "integrity": "sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==", + "dependencies": { + "ext-list": "^2.0.0", + "sort-keys-length": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "engines": [ + "node >=0.6.0" + ] + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "node_modules/fast-glob": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", + "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "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" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "node_modules/fastest-levenshtein": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", + "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==" + }, + "node_modules/fastq": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", + "dependencies": { + "pend": "~1.2.0" + } + }, + "node_modules/fecha": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.1.tgz", + "integrity": "sha512-MMMQ0ludy/nBs1/o0zVOiKTpG7qMbonKUzjJgQFEuvq6INZ1OraKPRAWkBq5vlKLOUMpmNYG1JoN3oDPUQ9m3Q==" + }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=", + "engines": { + "node": ">=4" + } + }, + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "optional": true + }, + "node_modules/filename-reserved-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", + "integrity": "sha1-q/c9+rc10EVECr/qLZHzieu/oik=", + "engines": { + "node": ">=4" + } + }, + "node_modules/filenamify": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-4.3.0.tgz", + "integrity": "sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==", + "dependencies": { + "filename-reserved-regex": "^2.0.0", + "strip-outer": "^1.0.1", + "trim-repeated": "^1.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/filesize": { + "version": "8.0.6", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.6.tgz", + "integrity": "sha512-sHvRqTiwdmcuzqet7iVwsbwF6UrV3wIgDf2SHNdY1Hgl8PC45HZg/0xtdw6U2izIV4lccnrY9ftl6wZFNdjYMg==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-requires": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/find-requires/-/find-requires-1.0.0.tgz", + "integrity": "sha512-UME7hNwBfzeISSFQcBEDemEEskpOjI/shPrpJM5PI4DSdn6hX0dmz+2dL70blZER2z8tSnTRL+2rfzlYgtbBoQ==", + "dependencies": { + "es5-ext": "^0.10.49", + "esniff": "^1.1.0" + }, + "bin": { + "find-requires": "bin/find-requires.js" + } + }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "bin": { + "flat": "cli.js" + } + }, + "node_modules/follow-redirects": { + "version": "1.14.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.6.tgz", + "integrity": "sha512-fhUl5EwSJbbl8AR+uYL2KQDxLkdSjZGR36xy46AO7cOMTrCMON6Sa28FmAnC2tRTDbd/Uuzz3aJBv7EBN7JH8A==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "engines": { + "node": "*" + } + }, + "node_modules/form-data": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", + "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/formidable": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.6.tgz", + "integrity": "sha512-KcpbcpuLNOwrEjnbpMC0gS+X8ciDoZE1kkqzat4a8vrprf+s9pKNQ/QIwWfbfs4ltgmFl3MD177SNTkve3BwGQ==", + "deprecated": "Please upgrade to latest, formidable@v2 or formidable@v3! Check these notes: https://bit.ly/2ZEqIau", + "funding": { + "url": "https://ko-fi.com/tunnckoCore/commissions" + } + }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + }, + "node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fs-extra/node_modules/jsonfile": { + "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" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/fs-extra/node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "node_modules/fs2": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/fs2/-/fs2-0.3.9.tgz", + "integrity": "sha512-WsOqncODWRlkjwll+73bAxVW3JPChDgaPX3DT4iTTm73UmG4VgALa7LaFblP232/DN60itkOrPZ8kaP1feksGQ==", + "dependencies": { + "d": "^1.0.1", + "deferred": "^0.7.11", + "es5-ext": "^0.10.53", + "event-emitter": "^0.3.5", + "ignore": "^5.1.8", + "memoizee": "^0.4.14", + "type": "^2.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "optional": true, + "dependencies": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "node_modules/gauge/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gauge/node_modules/is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "optional": true, + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gauge/node_modules/string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "optional": true, + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gauge/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "optional": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/get-stdin": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz", + "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", + "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=", + "dependencies": { + "object-assign": "^4.0.1", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "node_modules/github-from-package": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=", + "optional": true + }, + "node_modules/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "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" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "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" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/globby": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", + "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/got": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", + "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", + "dependencies": { + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/got/node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", + "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==" + }, + "node_modules/graphlib": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz", + "integrity": "sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==", + "dependencies": { + "lodash": "^4.17.15" + } + }, + "node_modules/har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "engines": { + "node": ">=4" + } + }, + "node_modules/har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "deprecated": "this library is no longer supported", + "dependencies": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/has-binary2": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz", + "integrity": "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==", + "dependencies": { + "isarray": "2.0.1" + } + }, + "node_modules/has-binary2/node_modules/isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" + }, + "node_modules/has-cors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", + "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=" + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "optional": true + }, + "node_modules/http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" + }, + "node_modules/http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" + } + }, + "node_modules/http2-wrapper": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", + "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", + "dependencies": { + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.0.0" + }, + "engines": { + "node": ">=10.19.0" + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", + "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/iconv-lite": { + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", + "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" + }, + "node_modules/ignore": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=" + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indexof": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=" + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "node_modules/inquirer": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.0.tgz", + "integrity": "sha512-0crLweprevJ02tTuA6ThpoAERAGyVILC4sS74uib58Xf/zSr1/ZWtmm7D5CI+bSQEaA04f0K7idaHpQbSWgiVQ==", + "peer": true, + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.4.1", + "run-async": "^2.4.0", + "rxjs": "^7.2.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/inquirer-autocomplete-prompt": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/inquirer-autocomplete-prompt/-/inquirer-autocomplete-prompt-1.4.0.tgz", + "integrity": "sha512-qHgHyJmbULt4hI+kCmwX92MnSxDs/Yhdt4wPA30qnoa01OF6uTXV8yvH4hKXgdaTNmkZ9D01MHjqKYEuJN+ONw==", + "dependencies": { + "ansi-escapes": "^4.3.1", + "chalk": "^4.0.0", + "figures": "^3.2.0", + "run-async": "^2.4.0", + "rxjs": "^6.6.2" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "inquirer": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/inquirer-autocomplete-prompt/node_modules/ansi-styles": { + "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" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/inquirer-autocomplete-prompt/node_modules/chalk": { + "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" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/inquirer-autocomplete-prompt/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/inquirer-autocomplete-prompt/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/inquirer-autocomplete-prompt/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer-autocomplete-prompt/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/inquirer-autocomplete-prompt/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer-autocomplete-prompt/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/inquirer/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/inquirer/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/inquirer/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/inquirer/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "peer": true + }, + "node_modules/inquirer/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "engines": { + "node": ">=4" + } + }, + "node_modules/is-glob": { + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-natural-number": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", + "integrity": "sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=" + }, + "node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-promise": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", + "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==" + }, + "node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-wsl": { + "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" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "node_modules/isomorphic-ws": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz", + "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==", + "peerDependencies": { + "ws": "*" + } + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + }, + "node_modules/jmespath": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.15.0.tgz", + "integrity": "sha1-o/Iiqarp+Wb10nx5ZRDigJF2Qhc=", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" + }, + "node_modules/json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=" + }, + "node_modules/json-cycle": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/json-cycle/-/json-cycle-1.3.0.tgz", + "integrity": "sha512-FD/SedD78LCdSvJaOUQAXseT8oQBb5z6IVYaQaCrVUlu9zOAr1BDdKyVYQaSD/GDsAMrXpKcOyBD4LIl8nfjHw==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/json-refs": { + "version": "3.0.15", + "resolved": "https://registry.npmjs.org/json-refs/-/json-refs-3.0.15.tgz", + "integrity": "sha512-0vOQd9eLNBL18EGl5yYaO44GhixmImes2wiYn9Z3sag3QnehWrYWlB9AFtMxCL2Bj3fyxgDYkxGFEU/chlYssw==", + "dependencies": { + "commander": "~4.1.1", + "graphlib": "^2.1.8", + "js-yaml": "^3.13.1", + "lodash": "^4.17.15", + "native-promise-only": "^0.8.1", + "path-loader": "^1.0.10", + "slash": "^3.0.0", + "uri-js": "^4.2.2" + }, + "bin": { + "json-refs": "bin/json-refs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/json-refs/node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + }, + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonpath": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/jsonpath/-/jsonpath-1.1.1.tgz", + "integrity": "sha512-l6Cg7jRpixfbgoWgkrl77dgEj8RPvND0wMH6TwQmi9Qs4TFfS9u5cUFnbeKTwj5ga5Y3BTGGNI28k117LJ009w==", + "dev": true, + "dependencies": { + "esprima": "1.2.2", + "static-eval": "2.0.2", + "underscore": "1.12.1" + } + }, + "node_modules/jsonpath/node_modules/esprima": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.2.2.tgz", + "integrity": "sha1-dqD9Zvz+FU/SkmZ9wmQBl1CxZXs=", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/jsprim": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/jszip": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.7.1.tgz", + "integrity": "sha512-ghL0tz1XG9ZEmRMcEN2vt7xabrDdqHHeykgARpmZ0BiIctWxM47Vt63ZO2dnp4QYt/xJVLLy5Zv1l/xRdh2byg==", + "dependencies": { + "lie": "~3.3.0", + "pako": "~1.0.2", + "readable-stream": "~2.3.6", + "set-immediate-shim": "~1.0.1" + } + }, + "node_modules/jszip/node_modules/readable-stream": { + "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" + } + }, + "node_modules/jszip/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/jszip/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/jwt-decode": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-2.2.0.tgz", + "integrity": "sha1-fYa9VmefWM5qhHBKZX3TkruoGnk=" + }, + "node_modules/kafka-node": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/kafka-node/-/kafka-node-5.0.0.tgz", + "integrity": "sha512-dD2ga5gLcQhsq1yNoQdy1MU4x4z7YnXM5bcG9SdQuiNr5KKuAmXixH1Mggwdah5o7EfholFbcNDPSVA6BIfaug==", + "dependencies": { + "async": "^2.6.2", + "binary": "~0.3.0", + "bl": "^2.2.0", + "buffer-crc32": "~0.2.5", + "buffermaker": "~1.2.0", + "debug": "^2.1.3", + "denque": "^1.3.0", + "lodash": "^4.17.4", + "minimatch": "^3.0.2", + "nested-error-stacks": "^2.0.0", + "optional": "^0.1.3", + "retry": "^0.10.1", + "uuid": "^3.0.0" + }, + "engines": { + "node": ">=8.5.1" + }, + "optionalDependencies": { + "snappy": "^6.0.1" + } + }, + "node_modules/kafka-node/node_modules/async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "dependencies": { + "lodash": "^4.17.14" + } + }, + "node_modules/kafka-node/node_modules/debug": { + "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" + } + }, + "node_modules/kafka-node/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "node_modules/keyv": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", + "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", + "dependencies": { + "json-buffer": "3.0.0" + } + }, + "node_modules/kuler": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/kuler/-/kuler-1.0.1.tgz", + "integrity": "sha512-J9nVUucG1p/skKul6DU3PUZrhs0LPulNaeUOox0IyXDi8S4CztTHs1gQphhuZmzXG7VOQSf6NJfKuzteQLv9gQ==", + "dependencies": { + "colornames": "^1.1.1" + } + }, + "node_modules/lazystream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", + "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", + "dependencies": { + "readable-stream": "^2.0.5" + }, + "engines": { + "node": ">= 0.6.3" + } + }, + "node_modules/lazystream/node_modules/readable-stream": { + "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" + } + }, + "node_modules/lazystream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/lazystream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lie": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", + "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", + "dependencies": { + "immediate": "~3.0.5" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash.defaults": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", + "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=" + }, + "node_modules/lodash.difference": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz", + "integrity": "sha1-nMtOUF1Ia5FlE0V3KIWi3yf9AXw=" + }, + "node_modules/lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=" + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" + }, + "node_modules/lodash.union": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz", + "integrity": "sha1-SLtQiECfFvGCFmZkHETdGqrjzYg=" + }, + "node_modules/log": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/log/-/log-6.3.1.tgz", + "integrity": "sha512-McG47rJEWOkXTDioZzQNydAVvZNeEkSyLJ1VWkFwfW+o1knW+QSi8D1KjPn/TnctV+q99lkvJNe1f0E1IjfY2A==", + "dependencies": { + "d": "^1.0.1", + "duration": "^0.2.2", + "es5-ext": "^0.10.53", + "event-emitter": "^0.3.5", + "sprintf-kit": "^2.0.1", + "type": "^2.5.0", + "uni-global": "^1.0.0" + } + }, + "node_modules/log-node": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/log-node/-/log-node-8.0.3.tgz", + "integrity": "sha512-1UBwzgYiCIDFs8A0rM2QdBFo8Wd8UQ0HrSTu/MNI+/2zN3NoHRj2fhplurAyuxTYUXu3Oohugq1jAn5s05u1MQ==", + "dependencies": { + "ansi-regex": "^5.0.1", + "cli-color": "^2.0.1", + "cli-sprintf-format": "^1.1.1", + "d": "^1.0.1", + "es5-ext": "^0.10.53", + "sprintf-kit": "^2.0.1", + "supports-color": "^8.1.1", + "type": "^2.5.0" + }, + "engines": { + "node": ">=10.0" + }, + "peerDependencies": { + "log": "^6.0.0" + } + }, + "node_modules/log-node/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/log-node/node_modules/supports-color": { + "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" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "peer": true, + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-symbols/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/log-symbols/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "peer": true + }, + "node_modules/log-symbols/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/log-symbols/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/logform": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/logform/-/logform-2.3.0.tgz", + "integrity": "sha512-graeoWUH2knKbGthMtuG1EfaSPMZFZBIrhuJHhkS5ZseFBrc7DupCzihOQAzsK/qIKPQaPJ/lFQFctILUY5ARQ==", + "dependencies": { + "colors": "^1.2.1", + "fecha": "^4.2.0", + "ms": "^2.1.1", + "safe-stable-stringify": "^1.1.0", + "triple-beam": "^1.3.0" + } + }, + "node_modules/long": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/long/-/long-1.1.2.tgz", + "integrity": "sha1-6u9ZUcp1UdlpJrgtokLbnWso+1M=", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/lru-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz", + "integrity": "sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM=", + "dependencies": { + "es5-ext": "~0.10.2" + } + }, + "node_modules/make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/make-dir/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "engines": { + "node": ">=4" + } + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memoizee": { + "version": "0.4.15", + "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.15.tgz", + "integrity": "sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==", + "dependencies": { + "d": "^1.0.1", + "es5-ext": "^0.10.53", + "es6-weak-map": "^2.0.3", + "event-emitter": "^0.3.5", + "is-promise": "^2.2.2", + "lru-queue": "^0.1.0", + "next-tick": "^1.1.0", + "timers-ext": "^0.1.7" + } + }, + "node_modules/memoizee/node_modules/next-tick": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", + "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.51.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", + "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", + "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", + "dependencies": { + "mime-db": "1.51.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + }, + "node_modules/minipass": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz", + "integrity": "sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" + }, + "node_modules/nan": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", + "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==", + "optional": true + }, + "node_modules/nanoid": { + "version": "2.1.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-2.1.11.tgz", + "integrity": "sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA==" + }, + "node_modules/napi-build-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", + "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==", + "optional": true + }, + "node_modules/native-promise-only": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/native-promise-only/-/native-promise-only-0.8.1.tgz", + "integrity": "sha1-IKMYwwy0X3H+et+/eyHJnBRy7xE=" + }, + "node_modules/ncjsm": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/ncjsm/-/ncjsm-4.2.0.tgz", + "integrity": "sha512-L2Qij4PTy7Bs4TB24zs7FLIAYJTaR5JPvSig5hIcO059LnMCNgy6MfHHNyg8s/aekPKrTqKX90gBGt3NNGvhdw==", + "dependencies": { + "builtin-modules": "^3.2.0", + "deferred": "^0.7.11", + "es5-ext": "^0.10.53", + "es6-set": "^0.1.5", + "find-requires": "^1.0.0", + "fs2": "^0.3.9", + "type": "^2.5.0" + } + }, + "node_modules/nested-error-stacks": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-2.1.0.tgz", + "integrity": "sha512-AO81vsIO1k1sM4Zrd6Hu7regmJN1NSiAja10gc4bX3F0wd+9rQmcuHQaHVQCYIEC8iFXnE+mavh23GOt7wBgug==" + }, + "node_modules/next-tick": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", + "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=" + }, + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" + }, + "node_modules/node-abi": { + "version": "2.30.1", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.30.1.tgz", + "integrity": "sha512-/2D0wOQPgaUWzVSVgRMx+trKJRC2UG4SUc4oCJoXx9Uxjtp0Vy3/kt7zcbxHF8+Z/pK3UloLWzBISg72brfy1w==", + "optional": true, + "dependencies": { + "semver": "^5.4.1" + } + }, + "node_modules/node-abi/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "optional": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/node-dir": { + "version": "0.1.17", + "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", + "integrity": "sha1-X1Zl2TNRM1yqvvjxxVRRbPXx5OU=", + "dependencies": { + "minimatch": "^3.0.2" + }, + "engines": { + "node": ">= 0.10.5" + } + }, + "node_modules/node-fetch": { + "version": "2.6.6", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.6.tgz", + "integrity": "sha512-Z8/6vRlTUChSdIgMa51jxQ4lrw/Jy5SOW10ObaA47/RElsAN2c5Pn8bTgFGWn/ibwzXTE8qwr1Yzx28vsecXEA==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + } + }, + "node_modules/noop-logger": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz", + "integrity": "sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI=", + "optional": true + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", + "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "optional": true, + "dependencies": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "node_modules/number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "engines": { + "node": "*" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", + "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/one-time": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/one-time/-/one-time-0.0.4.tgz", + "integrity": "sha1-+M33eISCb+Tf+T46nMN7HkSAdC4=" + }, + "node_modules/onetime": { + "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" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", + "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", + "dependencies": { + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optional": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/optional/-/optional-0.1.4.tgz", + "integrity": "sha512-gtvrrCfkE08wKcgXaVwQVgwEQ8vel2dc5DDBn9RLQZ3YtmtkBss6A2HY6BnJH4N/4Ku97Ri/SF8sNWE2225WJw==" + }, + "node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "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" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "peer": true, + "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" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/ora/node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "peer": true, + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/ora/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "peer": true, + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/ora/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/ora/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/ora/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "peer": true + }, + "node_modules/ora/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ora/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-cancelable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", + "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/p-event": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/p-event/-/p-event-4.2.0.tgz", + "integrity": "sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==", + "dependencies": { + "p-timeout": "^3.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "engines": { + "node": ">=4" + } + }, + "node_modules/p-timeout": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", + "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", + "dependencies": { + "p-finally": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/package-json": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", + "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", + "dependencies": { + "got": "^9.6.0", + "registry-auth-token": "^4.0.0", + "registry-url": "^5.0.0", + "semver": "^6.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" + }, + "node_modules/parseqs": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.6.tgz", + "integrity": "sha512-jeAGzMDbfSHHA091hr0r31eYfTig+29g3GKKE/PPbEQ65X0lmMwlEoqmhzu0iztID5uJpZsFlUPDP8ThPL7M8w==" + }, + "node_modules/parseuri": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.6.tgz", + "integrity": "sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow==" + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "engines": { + "node": ">=4" + } + }, + "node_modules/path-loader": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/path-loader/-/path-loader-1.0.10.tgz", + "integrity": "sha512-CMP0v6S6z8PHeJ6NFVyVJm6WyJjIwFvyz2b0n2/4bKdS/0uZa/9sKUlYZzubrn3zuDRU0zIuEDX9DZYQ2ZI8TA==", + "dependencies": { + "native-promise-only": "^0.8.1", + "superagent": "^3.8.3" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path2": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/path2/-/path2-0.1.0.tgz", + "integrity": "sha1-Y5golCzb2kSkGkWwdK6Ic0g7Tvo=" + }, + "node_modules/peek-readable": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-4.0.2.tgz", + "integrity": "sha512-9fMaz6zoxw9ypO1KZy5RDJgSupEtu0Q+g/OqqsVHX3rKGR8qehRLYzsFARZ4bVvdvfknKiXvuDbkMnO1g6cRpQ==", + "engines": { + "node": ">=8" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, + "node_modules/picomatch": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", + "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dependencies": { + "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/prebuild-install": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-5.3.0.tgz", + "integrity": "sha512-aaLVANlj4HgZweKttFNUVNRxDukytuIuxeK2boIMHjagNJCiVKWFsKF4tCE3ql3GbrD2tExPQ7/pwtEJcHNZeg==", + "optional": true, + "dependencies": { + "detect-libc": "^1.0.3", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.0", + "mkdirp": "^0.5.1", + "napi-build-utils": "^1.0.1", + "node-abi": "^2.7.0", + "noop-logger": "^0.1.1", + "npmlog": "^4.0.1", + "os-homedir": "^1.0.1", + "pump": "^2.0.1", + "rc": "^1.2.7", + "simple-get": "^2.7.0", + "tar-fs": "^1.13.0", + "tunnel-agent": "^0.6.0", + "which-pm-runs": "^1.0.0" + }, + "bin": { + "prebuild-install": "bin.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/prebuild-install/node_modules/pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "optional": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", + "engines": { + "node": ">=4" + } + }, + "node_modules/prettyoutput": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/prettyoutput/-/prettyoutput-1.2.0.tgz", + "integrity": "sha512-G2gJwLzLcYS+2m6bTAe+CcDpwak9YpcvpScI0tE4WYb2O3lEZD/YywkMNpGqsSx5wttGvh2UXaKROTKKCyM2dw==", + "dependencies": { + "colors": "1.3.x", + "commander": "2.19.x", + "lodash": "4.17.x" + }, + "bin": { + "prettyoutput": "bin/prettyoutput" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/prettyoutput/node_modules/commander": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", + "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==" + }, + "node_modules/printj": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/printj/-/printj-1.1.2.tgz", + "integrity": "sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ==", + "bin": { + "printj": "bin/printj.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "node_modules/process-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/process-utils/-/process-utils-4.0.0.tgz", + "integrity": "sha512-fMyMQbKCxX51YxR7YGCzPjLsU3yDzXFkP4oi1/Mt5Ixnk7GO/7uUTj8mrCHUwuvozWzI+V7QSJR9cZYnwNOZPg==", + "dependencies": { + "ext": "^1.4.0", + "fs2": "^0.3.9", + "memoizee": "^0.4.14", + "type": "^2.1.0" + }, + "engines": { + "node": ">=10.0" + } + }, + "node_modules/promise-queue": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/promise-queue/-/promise-queue-2.2.5.tgz", + "integrity": "sha1-L29ffA9tCBCelnZZx5uIqe1ek7Q=", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/protobufjs": { + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.2.tgz", + "integrity": "sha512-4BQJoPooKJl2G9j3XftkIXjoC9C0Av2NOrWmbLWT1vH32GcSUHjM0Arra6UfTsVyfMAuFzaLucXn1sadxJydAw==", + "hasInstallScript": true, + "dependencies": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/long": "^4.0.1", + "@types/node": ">=13.7.0", + "long": "^4.0.0" + }, + "bin": { + "pbjs": "bin/pbjs", + "pbts": "bin/pbts" + } + }, + "node_modules/protobufjs/node_modules/long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + }, + "node_modules/psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/qrcode-terminal": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/qrcode-terminal/-/qrcode-terminal-0.12.0.tgz", + "integrity": "sha512-EXtzRZmC+YGmGlDFbXKxQiMZNwCLEO6BANKXG4iCtSIM0yqc/pappSx3RIKr4r0uh5JsBckOXeKrB3Iz7mdQpQ==", + "bin": { + "qrcode-terminal": "bin/qrcode-terminal.js" + } + }, + "node_modules/qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/querystring": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.1.tgz", + "integrity": "sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==", + "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ramda": { + "version": "0.26.1", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.26.1.tgz", + "integrity": "sha512-hLWjpy7EnsDBb0p+Z3B7rPi3GDeRG5ZtiI33kJhTt+ORCd38AbAIjB/9zRIUoeTbE/AVX5ZkU7m6bznsvrf8eQ==" + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/readable-stream": { + "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" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readable-web-to-node-stream": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz", + "integrity": "sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==", + "dependencies": { + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "node_modules/readdir-glob": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.1.tgz", + "integrity": "sha512-91/k1EzZwDx6HbERR+zucygRFfiPl2zkIYZtv3Jjr6Mn7SkKcVct8aVO+sSRiGMc6fLf72du3d92/uY63YPdEA==", + "dependencies": { + "minimatch": "^3.0.4" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/registry-auth-token": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.1.tgz", + "integrity": "sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==", + "dependencies": { + "rc": "^1.2.8" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/registry-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", + "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", + "dependencies": { + "rc": "^1.2.8" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/replaceall": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/replaceall/-/replaceall-0.1.6.tgz", + "integrity": "sha1-gdgax663LX9cSUKt8ml6MiBojY4=", + "engines": { + "node": ">= 0.8.x" + } + }, + "node_modules/request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/request-promise-core": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", + "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", + "dependencies": { + "lodash": "^4.17.19" + }, + "engines": { + "node": ">=0.10.0" + }, + "peerDependencies": { + "request": "^2.34" + } + }, + "node_modules/request-promise-native": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", + "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", + "deprecated": "request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142", + "dependencies": { + "request-promise-core": "1.1.4", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + }, + "engines": { + "node": ">=0.12.0" + }, + "peerDependencies": { + "request": "^2.34" + } + }, + "node_modules/request/node_modules/form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/resolve-alpn": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", + "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==" + }, + "node_modules/responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "dependencies": { + "lowercase-keys": "^1.0.0" + } + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/retry": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz", + "integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q=", + "engines": { + "node": "*" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/run-parallel-limit": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/run-parallel-limit/-/run-parallel-limit-1.1.0.tgz", + "integrity": "sha512-jJA7irRNM91jaKc3Hcl1npHsFLOXOoTkPCUL1JEa1R82O2miplXXRaGdjW/KM/98YQWDhJLiSs793CnXfblJUw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rxjs": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.4.0.tgz", + "integrity": "sha512-7SQDi7xeTMCJpqViXh8gL/lebcwlp3d831F05+9B44A4B0WfsEwUQHR64gsH1kvJ+Ep/J9K2+n1hVl1CsGN23w==", + "peer": true, + "dependencies": { + "tslib": "~2.1.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safe-stable-stringify": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-1.1.1.tgz", + "integrity": "sha512-ERq4hUjKDbJfE4+XtZLFPCDi8Vb1JqaxAPTxWFLBx8XcAlf9Bda/ZJdVezs/NAfsMQScyIlUMx+Yeu7P7rx5jw==" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/sax": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", + "integrity": "sha1-e45lYZCyKOgaZq6nSEgNgozS03o=" + }, + "node_modules/seek-bzip": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz", + "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==", + "dependencies": { + "commander": "^2.8.1" + }, + "bin": { + "seek-bunzip": "bin/seek-bunzip", + "seek-table": "bin/seek-bzip-table" + } + }, + "node_modules/seek-bzip/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/serverless": { + "version": "2.69.1", + "resolved": "https://registry.npmjs.org/serverless/-/serverless-2.69.1.tgz", + "integrity": "sha512-pHHr8l6BDDzHIcFqdXDNGIrEbtcm4Lf0dlE3nuHVvmADET+rdl5aOWem9JaHA75cyICybm8oj8FhhtJIt5Uotw==", + "hasInstallScript": true, + "dependencies": { + "@serverless/cli": "^1.5.3", + "@serverless/components": "^3.18.1", + "@serverless/dashboard-plugin": "^5.5.1", + "@serverless/platform-client": "^4.3.0", + "@serverless/utils": "^5.20.1", + "ajv": "^6.12.6", + "ajv-keywords": "^3.5.2", + "archiver": "^5.3.0", + "aws-sdk": "^2.1046.0", + "bluebird": "^3.7.2", + "boxen": "^5.1.2", + "cachedir": "^2.3.0", + "chalk": "^4.1.2", + "child-process-ext": "^2.1.1", + "ci-info": "^3.3.0", + "cli-progress-footer": "^2.3.0", + "d": "^1.0.1", + "dayjs": "^1.10.7", + "decompress": "^4.2.1", + "dotenv": "^10.0.0", + "dotenv-expand": "^5.1.0", + "essentials": "^1.1.1", + "ext": "^1.6.0", + "fastest-levenshtein": "^1.0.12", + "filesize": "^8.0.6", + "fs-extra": "^9.1.0", + "get-stdin": "^8.0.0", + "globby": "^11.0.4", + "got": "^11.8.3", + "graceful-fs": "^4.2.8", + "https-proxy-agent": "^5.0.0", + "is-docker": "^2.2.1", + "is-wsl": "^2.2.0", + "js-yaml": "^4.1.0", + "json-cycle": "^1.3.0", + "json-refs": "^3.0.15", + "lodash": "^4.17.21", + "memoizee": "^0.4.15", + "micromatch": "^4.0.4", + "ncjsm": "^4.2.0", + "node-fetch": "^2.6.6", + "object-hash": "^2.2.0", + "path2": "^0.1.0", + "process-utils": "^4.0.0", + "promise-queue": "^2.2.5", + "replaceall": "^0.1.6", + "semver": "^7.3.5", + "signal-exit": "^3.0.6", + "strip-ansi": "^6.0.1", + "tabtab": "^3.0.2", + "tar": "^6.1.11", + "timers-ext": "^0.1.7", + "type": "^2.5.0", + "untildify": "^4.0.0", + "uuid": "^8.3.2", + "yaml-ast-parser": "0.0.43" + }, + "bin": { + "serverless": "bin/serverless.js", + "sls": "bin/serverless.js" + }, + "engines": { + "node": ">=10.0" + } + }, + "node_modules/serverless-iam-roles-per-function": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/serverless-iam-roles-per-function/-/serverless-iam-roles-per-function-3.2.0.tgz", + "integrity": "sha512-AXmxACHEUsDcFDcv8QNwDgn2L0brRJ7pz/phD3lFB/wQ3TtPJkorC+J7PxgFQbaWIQk15EIlU83BtKXeQoPTAg==", + "dev": true, + "dependencies": { + "lodash": "^4.17.20" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/serverless-step-functions": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/serverless-step-functions/-/serverless-step-functions-3.5.1.tgz", + "integrity": "sha512-ACDGK6f0OerG7UH0QNZ8lO4f2t4MrSwuEyMjNWE0pUcD0GugS1aHJhdtGADfJ7yvL6yVA3BRU2x8IlaWNrvOrA==", + "dev": true, + "dependencies": { + "@hapi/joi": "^15.0.2", + "@serverless/utils": "^5.20.1", + "asl-validator": "^1.9.8", + "bluebird": "^3.4.0", + "chalk": "^4.1.2", + "lodash": "^4.17.11" + }, + "peerDependencies": { + "serverless": "^2.32.0 || 3" + } + }, + "node_modules/serverless-step-functions/node_modules/@serverless/utils": { + "version": "5.20.2", + "resolved": "https://registry.npmjs.org/@serverless/utils/-/utils-5.20.2.tgz", + "integrity": "sha512-u7+oVwbq1BunmLI0T9egRL93Xg3TGxNsqogXqzxSLtjMWiImsadv3/gUJfXz/wTI9VXfbtQZvsVYMaRpS0JiqA==", + "dev": true, + "dependencies": { + "archive-type": "^4.0.0", + "chalk": "^4.1.2", + "ci-info": "^3.3.0", + "cli-progress-footer": "^2.3.0", + "content-disposition": "^0.5.4", + "d": "^1.0.1", + "decompress": "^4.2.1", + "event-emitter": "^0.3.5", + "ext": "^1.6.0", + "ext-name": "^5.0.0", + "file-type": "^16.5.3", + "filenamify": "^4.3.0", + "get-stream": "^6.0.1", + "got": "^11.8.3", + "inquirer": "^7.3.3", + "js-yaml": "^4.1.0", + "jwt-decode": "^3.1.2", + "lodash": "^4.17.21", + "log": "^6.3.1", + "log-node": "^8.0.2", + "make-dir": "^3.1.0", + "memoizee": "^0.4.15", + "ncjsm": "^4.2.0", + "p-event": "^4.2.0", + "supports-color": "^8.1.1", + "type": "^2.5.0", + "uni-global": "^1.0.0", + "uuid": "^8.3.2", + "write-file-atomic": "^3.0.3" + }, + "engines": { + "node": ">=10.0" + } + }, + "node_modules/serverless-step-functions/node_modules/@sindresorhus/is": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.2.0.tgz", + "integrity": "sha512-VkE3KLBmJwcCaVARtQpfuKcKv8gcBmUubrfHGF84dXuuW6jgsRYxPtzcIhPyK9WAPpRt2/xY6zkD9MnRaJzSyw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" + } + }, + "node_modules/serverless-step-functions/node_modules/@szmarczak/http-timer": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", + "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", + "dev": true, + "dependencies": { + "defer-to-connect": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/serverless-step-functions/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/serverless-step-functions/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/serverless-step-functions/node_modules/cacheable-request": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz", + "integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==", + "dev": true, + "dependencies": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^4.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^6.0.1", + "responselike": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/serverless-step-functions/node_modules/cacheable-request/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/serverless-step-functions/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/serverless-step-functions/node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/serverless-step-functions/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/serverless-step-functions/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/serverless-step-functions/node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dev": true, + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/serverless-step-functions/node_modules/defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/serverless-step-functions/node_modules/file-type": { + "version": "16.5.3", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-16.5.3.tgz", + "integrity": "sha512-uVsl7iFhHSOY4bEONLlTK47iAHtNsFHWP5YE4xJfZ4rnX7S1Q3wce09XgqSC7E/xh8Ncv/be1lNoyprlUH/x6A==", + "dev": true, + "dependencies": { + "readable-web-to-node-stream": "^3.0.0", + "strtok3": "^6.2.4", + "token-types": "^4.1.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/file-type?sponsor=1" + } + }, + "node_modules/serverless-step-functions/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/serverless-step-functions/node_modules/got": { + "version": "11.8.3", + "resolved": "https://registry.npmjs.org/got/-/got-11.8.3.tgz", + "integrity": "sha512-7gtQ5KiPh1RtGS9/Jbv1ofDpBFuq42gyfEib+ejaRBJuj/3tQFeR5+gw57e4ipaU8c/rCjvX6fkQz2lyDlGAOg==", + "dev": true, + "dependencies": { + "@sindresorhus/is": "^4.0.0", + "@szmarczak/http-timer": "^4.0.5", + "@types/cacheable-request": "^6.0.1", + "@types/responselike": "^1.0.0", + "cacheable-lookup": "^5.0.3", + "cacheable-request": "^7.0.2", + "decompress-response": "^6.0.0", + "http2-wrapper": "^1.0.0-beta.5.2", + "lowercase-keys": "^2.0.0", + "p-cancelable": "^2.0.0", + "responselike": "^2.0.0" + }, + "engines": { + "node": ">=10.19.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/got?sponsor=1" + } + }, + "node_modules/serverless-step-functions/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/serverless-step-functions/node_modules/inquirer": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", + "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.19", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.6.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/serverless-step-functions/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/serverless-step-functions/node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "node_modules/serverless-step-functions/node_modules/jwt-decode": { + "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==", + "dev": true + }, + "node_modules/serverless-step-functions/node_modules/keyv": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.0.4.tgz", + "integrity": "sha512-vqNHbAc8BBsxk+7QBYLW0Y219rWcClspR6WSeoHYKG5mnsSoOH+BL1pWq02DDCVdvvuUny5rkBlzMRzoqc+GIg==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/serverless-step-functions/node_modules/lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/serverless-step-functions/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/serverless-step-functions/node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/serverless-step-functions/node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/serverless-step-functions/node_modules/p-cancelable": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", + "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/serverless-step-functions/node_modules/responselike": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.0.tgz", + "integrity": "sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw==", + "dev": true, + "dependencies": { + "lowercase-keys": "^2.0.0" + } + }, + "node_modules/serverless-step-functions/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/serverless-step-functions/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/serverless-step-functions/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/serverless-step-functions/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/serverless-step-functions/node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/serverless/node_modules/@serverless/utils": { + "version": "5.20.2", + "resolved": "https://registry.npmjs.org/@serverless/utils/-/utils-5.20.2.tgz", + "integrity": "sha512-u7+oVwbq1BunmLI0T9egRL93Xg3TGxNsqogXqzxSLtjMWiImsadv3/gUJfXz/wTI9VXfbtQZvsVYMaRpS0JiqA==", + "dependencies": { + "archive-type": "^4.0.0", + "chalk": "^4.1.2", + "ci-info": "^3.3.0", + "cli-progress-footer": "^2.3.0", + "content-disposition": "^0.5.4", + "d": "^1.0.1", + "decompress": "^4.2.1", + "event-emitter": "^0.3.5", + "ext": "^1.6.0", + "ext-name": "^5.0.0", + "file-type": "^16.5.3", + "filenamify": "^4.3.0", + "get-stream": "^6.0.1", + "got": "^11.8.3", + "inquirer": "^7.3.3", + "js-yaml": "^4.1.0", + "jwt-decode": "^3.1.2", + "lodash": "^4.17.21", + "log": "^6.3.1", + "log-node": "^8.0.2", + "make-dir": "^3.1.0", + "memoizee": "^0.4.15", + "ncjsm": "^4.2.0", + "p-event": "^4.2.0", + "supports-color": "^8.1.1", + "type": "^2.5.0", + "uni-global": "^1.0.0", + "uuid": "^8.3.2", + "write-file-atomic": "^3.0.3" + }, + "engines": { + "node": ">=10.0" + } + }, + "node_modules/serverless/node_modules/@sindresorhus/is": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.2.0.tgz", + "integrity": "sha512-VkE3KLBmJwcCaVARtQpfuKcKv8gcBmUubrfHGF84dXuuW6jgsRYxPtzcIhPyK9WAPpRt2/xY6zkD9MnRaJzSyw==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" + } + }, + "node_modules/serverless/node_modules/@szmarczak/http-timer": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", + "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", + "dependencies": { + "defer-to-connect": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/serverless/node_modules/ansi-styles": { + "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" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/serverless/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "node_modules/serverless/node_modules/cacheable-request": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz", + "integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==", + "dependencies": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^4.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^6.0.1", + "responselike": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/serverless/node_modules/cacheable-request/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/serverless/node_modules/chalk": { + "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" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/serverless/node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/serverless/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/serverless/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/serverless/node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/serverless/node_modules/defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", + "engines": { + "node": ">=10" + } + }, + "node_modules/serverless/node_modules/dotenv": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", + "engines": { + "node": ">=10" + } + }, + "node_modules/serverless/node_modules/file-type": { + "version": "16.5.3", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-16.5.3.tgz", + "integrity": "sha512-uVsl7iFhHSOY4bEONLlTK47iAHtNsFHWP5YE4xJfZ4rnX7S1Q3wce09XgqSC7E/xh8Ncv/be1lNoyprlUH/x6A==", + "dependencies": { + "readable-web-to-node-stream": "^3.0.0", + "strtok3": "^6.2.4", + "token-types": "^4.1.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/file-type?sponsor=1" + } + }, + "node_modules/serverless/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/serverless/node_modules/got": { + "version": "11.8.3", + "resolved": "https://registry.npmjs.org/got/-/got-11.8.3.tgz", + "integrity": "sha512-7gtQ5KiPh1RtGS9/Jbv1ofDpBFuq42gyfEib+ejaRBJuj/3tQFeR5+gw57e4ipaU8c/rCjvX6fkQz2lyDlGAOg==", + "dependencies": { + "@sindresorhus/is": "^4.0.0", + "@szmarczak/http-timer": "^4.0.5", + "@types/cacheable-request": "^6.0.1", + "@types/responselike": "^1.0.0", + "cacheable-lookup": "^5.0.3", + "cacheable-request": "^7.0.2", + "decompress-response": "^6.0.0", + "http2-wrapper": "^1.0.0-beta.5.2", + "lowercase-keys": "^2.0.0", + "p-cancelable": "^2.0.0", + "responselike": "^2.0.0" + }, + "engines": { + "node": ">=10.19.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/got?sponsor=1" + } + }, + "node_modules/serverless/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/serverless/node_modules/inquirer": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", + "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.19", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.6.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/serverless/node_modules/js-yaml": { + "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" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/serverless/node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" + }, + "node_modules/serverless/node_modules/jwt-decode": { + "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==" + }, + "node_modules/serverless/node_modules/keyv": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.0.4.tgz", + "integrity": "sha512-vqNHbAc8BBsxk+7QBYLW0Y219rWcClspR6WSeoHYKG5mnsSoOH+BL1pWq02DDCVdvvuUny5rkBlzMRzoqc+GIg==", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/serverless/node_modules/lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/serverless/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/serverless/node_modules/make-dir/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/serverless/node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/serverless/node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/serverless/node_modules/p-cancelable": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", + "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/serverless/node_modules/responselike": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.0.tgz", + "integrity": "sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw==", + "dependencies": { + "lowercase-keys": "^2.0.0" + } + }, + "node_modules/serverless/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/serverless/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/serverless/node_modules/supports-color": { + "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" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/serverless/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/serverless/node_modules/untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/serverless/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/serverless/node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "optional": true + }, + "node_modules/set-immediate-shim": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shortid": { + "version": "2.2.16", + "resolved": "https://registry.npmjs.org/shortid/-/shortid-2.2.16.tgz", + "integrity": "sha512-Ugt+GIZqvGXCIItnsL+lvFJOiN7RYqlGy7QE41O3YC1xbNSeDGIRO7xg2JJXIAj1cAGnOeC1r7/T9pgrtQbv4g==", + "dependencies": { + "nanoid": "^2.1.0" + } + }, + "node_modules/signal-exit": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", + "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==" + }, + "node_modules/simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "optional": true + }, + "node_modules/simple-get": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-2.8.1.tgz", + "integrity": "sha512-lSSHRSw3mQNUGPAYRqo7xy9dhKmxFXIjLjp4KHpf99GEH2VH7C3AM+Qfx6du6jhfUi6Vm7XnbEVEf7Wb6N8jRw==", + "optional": true, + "dependencies": { + "decompress-response": "^3.3.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "node_modules/simple-git": { + "version": "2.48.0", + "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-2.48.0.tgz", + "integrity": "sha512-z4qtrRuaAFJS4PUd0g+xy7aN4y+RvEt/QTJpR184lhJguBA1S/LsVlvE/CM95RsYMOFJG3NGGDjqFCzKU19S/A==", + "dependencies": { + "@kwsites/file-exists": "^1.1.1", + "@kwsites/promise-deferred": "^1.1.1", + "debug": "^4.3.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/steveukx/" + } + }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/snappy": { + "version": "6.3.5", + "resolved": "https://registry.npmjs.org/snappy/-/snappy-6.3.5.tgz", + "integrity": "sha512-lonrUtdp1b1uDn1dbwgQbBsb5BbaiLeKq+AGwOk2No+en+VvJThwmtztwulEQsLinRF681pBqib0NUZaizKLIA==", + "hasInstallScript": true, + "optional": true, + "dependencies": { + "bindings": "^1.3.1", + "nan": "^2.14.1", + "prebuild-install": "5.3.0" + } + }, + "node_modules/socket.io-client": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.4.0.tgz", + "integrity": "sha512-M6xhnKQHuuZd4Ba9vltCLT9oa+YvTsP8j9NcEiLElfIg8KeYPyhWOes6x4t+LTAC8enQbE/995AdTem2uNyKKQ==", + "dependencies": { + "backo2": "1.0.2", + "component-bind": "1.0.0", + "component-emitter": "~1.3.0", + "debug": "~3.1.0", + "engine.io-client": "~3.5.0", + "has-binary2": "~1.0.2", + "indexof": "0.0.1", + "parseqs": "0.0.6", + "parseuri": "0.0.6", + "socket.io-parser": "~3.3.0", + "to-array": "0.1.4" + } + }, + "node_modules/socket.io-client/node_modules/debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/socket.io-client/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "node_modules/socket.io-parser": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.3.2.tgz", + "integrity": "sha512-FJvDBuOALxdCI9qwRrO/Rfp9yfndRtc1jSgVgV8FDraihmSP/MLGD5PEuJrNfjALvcQ+vMDM/33AWOYP/JSjDg==", + "dependencies": { + "component-emitter": "~1.3.0", + "debug": "~3.1.0", + "isarray": "2.0.1" + } + }, + "node_modules/socket.io-parser/node_modules/debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/socket.io-parser/node_modules/isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" + }, + "node_modules/socket.io-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "node_modules/sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", + "dependencies": { + "is-plain-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sort-keys-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sort-keys-length/-/sort-keys-length-1.0.1.tgz", + "integrity": "sha1-nLb09OnkgVWmqgZx7dM2/xR5oYg=", + "dependencies": { + "sort-keys": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/split2": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", + "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", + "dependencies": { + "readable-stream": "^3.0.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + }, + "node_modules/sprintf-kit": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/sprintf-kit/-/sprintf-kit-2.0.1.tgz", + "integrity": "sha512-2PNlcs3j5JflQKcg4wpdqpZ+AjhQJ2OZEo34NXDtlB0tIPG84xaaXhpA8XFacFiwjKA4m49UOYG83y3hbMn/gQ==", + "dependencies": { + "es5-ext": "^0.10.53" + } + }, + "node_modules/sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", + "engines": { + "node": "*" + } + }, + "node_modules/static-eval": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.0.2.tgz", + "integrity": "sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg==", + "dev": true, + "dependencies": { + "escodegen": "^1.8.1" + } + }, + "node_modules/stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stream-promise": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/stream-promise/-/stream-promise-3.2.0.tgz", + "integrity": "sha512-P+7muTGs2C8yRcgJw/PPt61q7O517tDHiwYEzMWo1GSBCcZedUMT/clz7vUNsSxFphIlJ6QUL4GexQKlfJoVtA==", + "dependencies": { + "2-thenable": "^1.0.0", + "es5-ext": "^0.10.49", + "is-stream": "^1.1.0" + } + }, + "node_modules/stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==" + }, + "node_modules/string_decoder": { + "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" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "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" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-dirs": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", + "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", + "dependencies": { + "is-natural-number": "^4.0.1" + } + }, + "node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-outer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", + "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", + "dependencies": { + "escape-string-regexp": "^1.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strtok3": { + "version": "6.2.4", + "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-6.2.4.tgz", + "integrity": "sha512-GO8IcFF9GmFDvqduIspUBwCzCbqzegyVKIsSymcMgiZKeCfrN9SowtUoi8+b59WZMAjIzVZic/Ft97+pynR3Iw==", + "dependencies": { + "@tokenizer/token": "^0.3.0", + "peek-readable": "^4.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "node_modules/superagent": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-3.8.3.tgz", + "integrity": "sha512-GLQtLMCoEIK4eDv6OGtkOoSMt3D+oq0y3dsxMuYuDvaNUvuT8eFBuLmfR0iYYzHC1e8hpzC6ZsxbuP6DIalMFA==", + "dependencies": { + "component-emitter": "^1.2.0", + "cookiejar": "^2.1.0", + "debug": "^3.1.0", + "extend": "^3.0.0", + "form-data": "^2.3.1", + "formidable": "^1.2.0", + "methods": "^1.1.1", + "mime": "^1.4.1", + "qs": "^6.5.1", + "readable-stream": "^2.3.5" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/superagent/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/superagent/node_modules/readable-stream": { + "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" + } + }, + "node_modules/superagent/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/superagent/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/supports-color": { + "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" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/tabtab": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/tabtab/-/tabtab-3.0.2.tgz", + "integrity": "sha512-jANKmUe0sIQc/zTALTBy186PoM/k6aPrh3A7p6AaAfF6WPSbTx1JYeGIGH162btpH+mmVEXln+UxwViZHO2Jhg==", + "dependencies": { + "debug": "^4.0.1", + "es6-promisify": "^6.0.0", + "inquirer": "^6.0.0", + "minimist": "^1.2.0", + "mkdirp": "^0.5.1", + "untildify": "^3.0.3" + } + }, + "node_modules/tabtab/node_modules/ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/tabtab/node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/tabtab/node_modules/cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dependencies": { + "restore-cursor": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/tabtab/node_modules/cli-width": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", + "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==" + }, + "node_modules/tabtab/node_modules/figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/tabtab/node_modules/inquirer": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", + "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", + "dependencies": { + "ansi-escapes": "^3.2.0", + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.3", + "figures": "^2.0.0", + "lodash": "^4.17.12", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rxjs": "^6.4.0", + "string-width": "^2.1.0", + "strip-ansi": "^5.1.0", + "through": "^2.3.6" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/tabtab/node_modules/mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/tabtab/node_modules/mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=" + }, + "node_modules/tabtab/node_modules/onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dependencies": { + "mimic-fn": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/tabtab/node_modules/restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dependencies": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/tabtab/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/tabtab/node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/tabtab/node_modules/string-width/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "engines": { + "node": ">=4" + } + }, + "node_modules/tabtab/node_modules/string-width/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/tabtab/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tabtab/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/tar": { + "version": "6.1.11", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", + "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/tar-fs": { + "version": "1.16.3", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-1.16.3.tgz", + "integrity": "sha512-NvCeXpYx7OsmOh8zIOP/ebG55zZmxLE0etfWRbWok+q2Qo8x/vOR/IJT1taADXPe+jsiu9axDb3X4B+iIgNlKw==", + "optional": true, + "dependencies": { + "chownr": "^1.0.1", + "mkdirp": "^0.5.1", + "pump": "^1.0.0", + "tar-stream": "^1.1.2" + } + }, + "node_modules/tar-fs/node_modules/bl": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", + "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", + "optional": true, + "dependencies": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/tar-fs/node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "optional": true + }, + "node_modules/tar-fs/node_modules/pump": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", + "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", + "optional": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/tar-fs/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "optional": true, + "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" + } + }, + "node_modules/tar-fs/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "optional": true + }, + "node_modules/tar-fs/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "optional": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/tar-fs/node_modules/tar-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", + "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "optional": true, + "dependencies": { + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tar-stream/node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/tar-stream/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/tar/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tencent-serverless-http": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/tencent-serverless-http/-/tencent-serverless-http-1.3.2.tgz", + "integrity": "sha512-HgIu9HuBdY0lx3jLKuicOSOrjmieklPh55x8ZmtuTnrZ5v1buAPUfLKBhTeBSz6e90ggyW+dPr5PWdz179kUkw==", + "dependencies": { + "type-is": "^1.6.16" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/text-hex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz", + "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==" + }, + "node_modules/throat": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==" + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + }, + "node_modules/timers-ext": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz", + "integrity": "sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==", + "dependencies": { + "es5-ext": "~0.10.46", + "next-tick": "1" + } + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/to-array": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", + "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=" + }, + "node_modules/to-buffer": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", + "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==" + }, + "node_modules/to-readable-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", + "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", + "engines": { + "node": ">=6" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/to-regex-range/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/token-types": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/token-types/-/token-types-4.1.1.tgz", + "integrity": "sha512-hD+QyuUAyI2spzsI0B7gf/jJ2ggR4RjkAo37j3StuePhApJUwcWDjnHDOFdIWYSwNR28H14hpwm4EI+V1Ted1w==", + "dependencies": { + "@tokenizer/token": "^0.3.0", + "ieee754": "^1.2.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "node_modules/token-types/node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" + }, + "node_modules/traverse": { + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz", + "integrity": "sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=" + }, + "node_modules/trim-repeated": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", + "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=", + "dependencies": { + "escape-string-regexp": "^1.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/triple-beam": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz", + "integrity": "sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==" + }, + "node_modules/tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", + "peer": true + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + }, + "node_modules/type": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/type/-/type-2.5.0.tgz", + "integrity": "sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw==" + }, + "node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "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" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/unbzip2-stream": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", + "dependencies": { + "buffer": "^5.2.1", + "through": "^2.3.8" + } + }, + "node_modules/unbzip2-stream/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/underscore": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", + "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", + "dev": true + }, + "node_modules/uni-global": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/uni-global/-/uni-global-1.0.0.tgz", + "integrity": "sha512-WWM3HP+siTxzIWPNUg7hZ4XO8clKi6NoCAJJWnuRL+BAqyFXF8gC03WNyTefGoUXYc47uYgXxpKLIEvo65PEHw==", + "dependencies": { + "type": "^2.5.0" + } + }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/untildify": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-3.0.3.tgz", + "integrity": "sha512-iSk/J8efr8uPT/Z4eSUywnqyrQU7DSdMfdqK4iWEaUVVmcP5JcnpRqmVMwcwcnmI1ATFNgC5V90u09tBynNFKA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/uri-js": { + "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" + } + }, + "node_modules/url": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", + "integrity": "sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ=", + "dependencies": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, + "node_modules/url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", + "dependencies": { + "prepend-http": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/url/node_modules/punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + }, + "node_modules/url/node_modules/querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/urlencode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/urlencode/-/urlencode-1.1.0.tgz", + "integrity": "sha1-HyuibwE8hfATP3o61v8nMK33y7c=", + "dependencies": { + "iconv-lite": "~0.4.11" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", + "peer": true, + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" + }, + "node_modules/whatwg-url": { + "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" + } + }, + "node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/which-pm-runs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz", + "integrity": "sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=", + "optional": true + }, + "node_modules/wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "optional": true, + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "node_modules/widest-line": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", + "dependencies": { + "string-width": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/winston": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/winston/-/winston-3.2.1.tgz", + "integrity": "sha512-zU6vgnS9dAWCEKg/QYigd6cgMVVNwyTzKs81XZtTFuRwJOcDdBg7AU0mXVyNbs7O5RH2zdv+BdNZUlx7mXPuOw==", + "dependencies": { + "async": "^2.6.1", + "diagnostics": "^1.1.1", + "is-stream": "^1.1.0", + "logform": "^2.1.1", + "one-time": "0.0.4", + "readable-stream": "^3.1.1", + "stack-trace": "0.0.x", + "triple-beam": "^1.3.0", + "winston-transport": "^4.3.0" + }, + "engines": { + "node": ">= 6.4.0" + } + }, + "node_modules/winston-transport": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.4.1.tgz", + "integrity": "sha512-ciZRlU4CSjHqHe8RQG1iPxKMRVwv6ZJ0RC7DxStKWd0KjpAhPDy5gVYSCpIUq+5CUsP+IyNOTZy1X0tO2QZqjg==", + "dependencies": { + "logform": "^2.2.0", + "readable-stream": "^3.4.0", + "triple-beam": "^1.2.0" + }, + "engines": { + "node": ">= 6.4.0" + } + }, + "node_modules/winston/node_modules/async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "dependencies": { + "lodash": "^4.17.14" + } + }, + "node_modules/word-wrap": { + "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==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "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" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "node_modules/write-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "dependencies": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "node_modules/ws": { + "version": "7.5.6", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.6.tgz", + "integrity": "sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xml2js": { + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz", + "integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==", + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "~9.0.1" + } + }, + "node_modules/xmlbuilder": { + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", + "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/xmlhttprequest-ssl": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.6.3.tgz", + "integrity": "sha512-3XfeQE/wNkvrIktn2Kf0869fC0BN6UpydVasGIeSm2B1Llihf7/0UfZM+eCkOw3P7bP4+qPgqhm7ZoxuJtFU0Q==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/yaml-ast-parser": { + "version": "0.0.43", + "resolved": "https://registry.npmjs.org/yaml-ast-parser/-/yaml-ast-parser-0.0.43.tgz", + "integrity": "sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==" + }, + "node_modules/yamljs": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/yamljs/-/yamljs-0.3.0.tgz", + "integrity": "sha512-C/FsVVhht4iPQYXOInoxUM/1ELSf9EsgKH34FofQOp6hwCPrW4vG4w5++TED3xRUo8gD7l0P1J1dLlDYzODsTQ==", + "dependencies": { + "argparse": "^1.0.7", + "glob": "^7.0.5" + }, + "bin": { + "json2yaml": "bin/json2yaml", + "yaml2json": "bin/yaml2json" + } + }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "node_modules/yeast": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", + "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=" + }, + "node_modules/zip-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.0.tgz", + "integrity": "sha512-zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A==", + "dependencies": { + "archiver-utils": "^2.1.0", + "compress-commons": "^4.1.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">= 10" + } + } + }, + "dependencies": { + "@hapi/address": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz", + "integrity": "sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ==", + "dev": true + }, + "@hapi/bourne": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-1.3.2.tgz", + "integrity": "sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==", + "dev": true + }, + "@hapi/hoek": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.5.1.tgz", + "integrity": "sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow==", + "dev": true + }, + "@hapi/joi": { + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-15.1.1.tgz", + "integrity": "sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==", + "dev": true, + "requires": { + "@hapi/address": "2.x.x", + "@hapi/bourne": "1.x.x", + "@hapi/hoek": "8.x.x", + "@hapi/topo": "3.x.x" + } + }, + "@hapi/topo": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.6.tgz", + "integrity": "sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==", + "dev": true, + "requires": { + "@hapi/hoek": "^8.3.0" + } + }, + "@kwsites/file-exists": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@kwsites/file-exists/-/file-exists-1.1.1.tgz", + "integrity": "sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==", + "requires": { + "debug": "^4.1.1" + } + }, + "@kwsites/promise-deferred": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz", + "integrity": "sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==" + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha1-m4sMxmPWaafY9vXQiToU00jzD78=" + }, + "@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" + }, + "@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" + }, + "@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha1-NVy8mLr61ZePntCV85diHx0Ga3A=" + }, + "@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=", + "requires": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=" + }, + "@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=" + }, + "@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=" + }, + "@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=" + }, + "@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=" + }, + "@serverless/cli": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@serverless/cli/-/cli-1.5.3.tgz", + "integrity": "sha512-ZJ0Y7CsYoE/i45XkIMl/XBZO4KIlt0XH1qwxxNE2/84bZlih5cgRV6MZ+rKt7GlrD0iDAgQGyGv5dpyt+SGhKw==", + "requires": { + "@serverless/core": "^1.1.2", + "@serverless/template": "^1.1.3", + "@serverless/utils": "^1.2.0", + "ansi-escapes": "^4.3.1", + "chalk": "^2.4.2", + "chokidar": "^3.4.1", + "dotenv": "^8.2.0", + "figures": "^3.2.0", + "minimist": "^1.2.5", + "prettyoutput": "^1.2.0", + "strip-ansi": "^6.0.1" + } + }, + "@serverless/component-metrics": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@serverless/component-metrics/-/component-metrics-1.0.8.tgz", + "integrity": "sha512-lOUyRopNTKJYVEU9T6stp2irwlTDsYMmUKBOUjnMcwGveuUfIJqrCOtFLtIPPj3XJlbZy5F68l4KP9rZ8Ipang==", + "requires": { + "node-fetch": "^2.6.0", + "shortid": "^2.2.14" + } + }, + "@serverless/components": { + "version": "3.18.1", + "resolved": "https://registry.npmjs.org/@serverless/components/-/components-3.18.1.tgz", + "integrity": "sha512-36XSYHjPkSEiSwWkl/xwWgYXa32Fk1CAbHvtWGheCtKV4+I3Yxzhe7FbgR84O0FeGQ/qM3QI8i5vtPUxeDeB9g==", + "requires": { + "@serverless/platform-client": "^4.2.2", + "@serverless/platform-client-china": "^2.2.0", + "@serverless/utils": "^4.0.0", + "adm-zip": "^0.5.4", + "ansi-escapes": "^4.3.1", + "chalk": "^4.1.0", + "child-process-ext": "^2.1.1", + "chokidar": "^3.5.1", + "ci-info": "^3.2.0", + "dayjs": "^1.10.4", + "dotenv": "^8.2.0", + "fastest-levenshtein": "^1.0.12", + "figures": "^3.2.0", + "fs-extra": "^9.1.0", + "got": "^11.8.2", + "graphlib": "^2.1.8", + "https-proxy-agent": "^5.0.0", + "inquirer-autocomplete-prompt": "^1.3.0", + "js-yaml": "^3.14.1", + "memoizee": "^0.4.14", + "minimist": "^1.2.5", + "open": "^7.3.1", + "prettyoutput": "^1.2.0", + "ramda": "^0.27.1", + "semver": "^7.3.4", + "strip-ansi": "^6.0.0", + "tencent-serverless-http": "^1.3.1", + "traverse": "^0.6.6", + "uuid": "^8.3.2" + }, + "dependencies": { + "@serverless/utils": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@serverless/utils/-/utils-4.1.0.tgz", + "integrity": "sha512-cl5uPaGg72z0sCUpF0zsOhwYYUV72Gxc1FwFfxltO8hSvMeFDvwD7JrNE4kHcIcKRjwPGbSH0fdVPUpErZ8Mog==", + "requires": { + "chalk": "^4.1.0", + "ci-info": "^3.1.1", + "inquirer": "^7.3.3", + "js-yaml": "^4.1.0", + "jwt-decode": "^3.1.2", + "lodash": "^4.17.21", + "ncjsm": "^4.1.0", + "type": "^2.5.0", + "uuid": "^8.3.2", + "write-file-atomic": "^3.0.3" + }, + "dependencies": { + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "requires": { + "argparse": "^2.0.1" + } + } + } + }, + "@sindresorhus/is": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.2.0.tgz", + "integrity": "sha512-VkE3KLBmJwcCaVARtQpfuKcKv8gcBmUubrfHGF84dXuuW6jgsRYxPtzcIhPyK9WAPpRt2/xY6zkD9MnRaJzSyw==" + }, + "@szmarczak/http-timer": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", + "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", + "requires": { + "defer-to-connect": "^2.0.0" + } + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "cacheable-request": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz", + "integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==", + "requires": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^4.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^6.0.1", + "responselike": "^2.0.0" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "requires": { + "mimic-response": "^3.1.0" + } + }, + "defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==" + }, + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "requires": { + "pump": "^3.0.0" + } + }, + "got": { + "version": "11.8.3", + "resolved": "https://registry.npmjs.org/got/-/got-11.8.3.tgz", + "integrity": "sha512-7gtQ5KiPh1RtGS9/Jbv1ofDpBFuq42gyfEib+ejaRBJuj/3tQFeR5+gw57e4ipaU8c/rCjvX6fkQz2lyDlGAOg==", + "requires": { + "@sindresorhus/is": "^4.0.0", + "@szmarczak/http-timer": "^4.0.5", + "@types/cacheable-request": "^6.0.1", + "@types/responselike": "^1.0.0", + "cacheable-lookup": "^5.0.3", + "cacheable-request": "^7.0.2", + "decompress-response": "^6.0.0", + "http2-wrapper": "^1.0.0-beta.5.2", + "lowercase-keys": "^2.0.0", + "p-cancelable": "^2.0.0", + "responselike": "^2.0.0" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "inquirer": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", + "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.19", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.6.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + } + }, + "json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" + }, + "jwt-decode": { + "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==" + }, + "keyv": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.0.4.tgz", + "integrity": "sha512-vqNHbAc8BBsxk+7QBYLW0Y219rWcClspR6WSeoHYKG5mnsSoOH+BL1pWq02DDCVdvvuUny5rkBlzMRzoqc+GIg==", + "requires": { + "json-buffer": "3.0.1" + } + }, + "lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" + }, + "mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==" + }, + "normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==" + }, + "p-cancelable": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", + "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==" + }, + "ramda": { + "version": "0.27.1", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.27.1.tgz", + "integrity": "sha512-PgIdVpn5y5Yns8vqb8FzBUEYn98V3xcPgawAkkgj0YJ0qDsnHCiNmZYfOGMgOvoB0eWFLpYbhxUR3mxfDIMvpw==" + }, + "responselike": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.0.tgz", + "integrity": "sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw==", + "requires": { + "lowercase-keys": "^2.0.0" + } + }, + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "requires": { + "tslib": "^1.9.0" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "requires": { + "lru-cache": "^6.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + } + } + }, + "@serverless/core": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@serverless/core/-/core-1.1.2.tgz", + "integrity": "sha512-PY7gH+7aQ+MltcUD7SRDuQODJ9Sav9HhFJsgOiyf8IVo7XVD6FxZIsSnpMI6paSkptOB7n+0Jz03gNlEkKetQQ==", + "requires": { + "fs-extra": "^7.0.1", + "js-yaml": "^3.13.1", + "package-json": "^6.3.0", + "ramda": "^0.26.1", + "semver": "^6.1.1" + }, + "dependencies": { + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + } + } + }, + "@serverless/dashboard-plugin": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@serverless/dashboard-plugin/-/dashboard-plugin-5.5.1.tgz", + "integrity": "sha512-gXn17AOyY3fxSq2nIFNnU4tZorplh2yVb0zI9A+rTeHlQ3HgIJa7xs/rR2hLEcW4vT26zX8dqwdJOAml/9kZyw==", + "requires": { + "@serverless/event-mocks": "^1.1.1", + "@serverless/platform-client": "^4.3.0", + "@serverless/utils": "^5.20.0", + "chalk": "^4.1.2", + "child-process-ext": "^2.1.1", + "chokidar": "^3.5.2", + "cli-color": "^2.0.1", + "flat": "^5.0.2", + "fs-extra": "^9.1.0", + "js-yaml": "^4.1.0", + "jszip": "^3.7.1", + "lodash": "^4.17.21", + "memoizee": "^0.4.15", + "ncjsm": "^4.2.0", + "node-dir": "^0.1.17", + "node-fetch": "^2.6.6", + "open": "^7.4.2", + "semver": "^7.3.5", + "simple-git": "^2.47.0", + "uuid": "^8.3.2", + "yamljs": "^0.3.0" + }, + "dependencies": { + "@serverless/utils": { + "version": "5.20.2", + "resolved": "https://registry.npmjs.org/@serverless/utils/-/utils-5.20.2.tgz", + "integrity": "sha512-u7+oVwbq1BunmLI0T9egRL93Xg3TGxNsqogXqzxSLtjMWiImsadv3/gUJfXz/wTI9VXfbtQZvsVYMaRpS0JiqA==", + "requires": { + "archive-type": "^4.0.0", + "chalk": "^4.1.2", + "ci-info": "^3.3.0", + "cli-progress-footer": "^2.3.0", + "content-disposition": "^0.5.4", + "d": "^1.0.1", + "decompress": "^4.2.1", + "event-emitter": "^0.3.5", + "ext": "^1.6.0", + "ext-name": "^5.0.0", + "file-type": "^16.5.3", + "filenamify": "^4.3.0", + "get-stream": "^6.0.1", + "got": "^11.8.3", + "inquirer": "^7.3.3", + "js-yaml": "^4.1.0", + "jwt-decode": "^3.1.2", + "lodash": "^4.17.21", + "log": "^6.3.1", + "log-node": "^8.0.2", + "make-dir": "^3.1.0", + "memoizee": "^0.4.15", + "ncjsm": "^4.2.0", + "p-event": "^4.2.0", + "supports-color": "^8.1.1", + "type": "^2.5.0", + "uni-global": "^1.0.0", + "uuid": "^8.3.2", + "write-file-atomic": "^3.0.3" + } + }, + "@sindresorhus/is": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.2.0.tgz", + "integrity": "sha512-VkE3KLBmJwcCaVARtQpfuKcKv8gcBmUubrfHGF84dXuuW6jgsRYxPtzcIhPyK9WAPpRt2/xY6zkD9MnRaJzSyw==" + }, + "@szmarczak/http-timer": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", + "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", + "requires": { + "defer-to-connect": "^2.0.0" + } + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "cacheable-request": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz", + "integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==", + "requires": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^4.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^6.0.1", + "responselike": "^2.0.0" + }, + "dependencies": { + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "requires": { + "pump": "^3.0.0" + } + } + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "requires": { + "mimic-response": "^3.1.0" + } + }, + "defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==" + }, + "file-type": { + "version": "16.5.3", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-16.5.3.tgz", + "integrity": "sha512-uVsl7iFhHSOY4bEONLlTK47iAHtNsFHWP5YE4xJfZ4rnX7S1Q3wce09XgqSC7E/xh8Ncv/be1lNoyprlUH/x6A==", + "requires": { + "readable-web-to-node-stream": "^3.0.0", + "strtok3": "^6.2.4", + "token-types": "^4.1.1" + } + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" + }, + "got": { + "version": "11.8.3", + "resolved": "https://registry.npmjs.org/got/-/got-11.8.3.tgz", + "integrity": "sha512-7gtQ5KiPh1RtGS9/Jbv1ofDpBFuq42gyfEib+ejaRBJuj/3tQFeR5+gw57e4ipaU8c/rCjvX6fkQz2lyDlGAOg==", + "requires": { + "@sindresorhus/is": "^4.0.0", + "@szmarczak/http-timer": "^4.0.5", + "@types/cacheable-request": "^6.0.1", + "@types/responselike": "^1.0.0", + "cacheable-lookup": "^5.0.3", + "cacheable-request": "^7.0.2", + "decompress-response": "^6.0.0", + "http2-wrapper": "^1.0.0-beta.5.2", + "lowercase-keys": "^2.0.0", + "p-cancelable": "^2.0.0", + "responselike": "^2.0.0" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "inquirer": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", + "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.19", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.6.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + } + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "requires": { + "argparse": "^2.0.1" + } + }, + "json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" + }, + "jwt-decode": { + "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==" + }, + "keyv": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.0.4.tgz", + "integrity": "sha512-vqNHbAc8BBsxk+7QBYLW0Y219rWcClspR6WSeoHYKG5mnsSoOH+BL1pWq02DDCVdvvuUny5rkBlzMRzoqc+GIg==", + "requires": { + "json-buffer": "3.0.1" + } + }, + "lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "requires": { + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==" + }, + "normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==" + }, + "p-cancelable": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", + "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==" + }, + "responselike": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.0.tgz", + "integrity": "sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw==", + "requires": { + "lowercase-keys": "^2.0.0" + } + }, + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "requires": { + "tslib": "^1.9.0" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "requires": { + "lru-cache": "^6.0.0" + } + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + } + } + }, + "@serverless/event-mocks": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@serverless/event-mocks/-/event-mocks-1.1.1.tgz", + "integrity": "sha512-YAV5V/y+XIOfd+HEVeXfPWZb8C6QLruFk9tBivoX2roQLWVq145s4uxf8D0QioCueuRzkukHUS4JIj+KVoS34A==", + "requires": { + "@types/lodash": "^4.14.123", + "lodash": "^4.17.11" + } + }, + "@serverless/platform-client": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@serverless/platform-client/-/platform-client-4.3.0.tgz", + "integrity": "sha512-q2CMqCkKeBaKA/UwfJAZLkdUsbghSbiYPvAX4rl9rsR5APm4KWtjKQP9CTOtVO5JRMWYoysK6jF0d5VJOABRzQ==", + "requires": { + "adm-zip": "^0.5.5", + "archiver": "^5.3.0", + "axios": "^0.21.1", + "fast-glob": "^3.2.7", + "https-proxy-agent": "^5.0.0", + "ignore": "^5.1.8", + "isomorphic-ws": "^4.0.1", + "js-yaml": "^3.14.1", + "jwt-decode": "^2.2.0", + "minimatch": "^3.0.4", + "querystring": "^0.2.1", + "run-parallel-limit": "^1.1.0", + "throat": "^5.0.0", + "traverse": "^0.6.6", + "ws": "^7.5.3" + } + }, + "@serverless/platform-client-china": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@serverless/platform-client-china/-/platform-client-china-2.3.3.tgz", + "integrity": "sha512-qlw6HA/ooo0h5o4ihLDGKUQKY5xnSpS/0mvv/ZQvmk3atQnDCfuRYUM+3UEPcST1iTObxw3GoKdCUO2oOqb2Lg==", + "requires": { + "@serverless/utils-china": "^1.1.4", + "adm-zip": "^0.5.1", + "archiver": "^5.0.2", + "axios": "^0.21.1", + "dotenv": "^8.2.0", + "fast-glob": "^3.2.4", + "fs-extra": "^9.0.1", + "https-proxy-agent": "^5.0.0", + "js-yaml": "^3.14.0", + "minimatch": "^3.0.4", + "querystring": "^0.2.0", + "run-parallel-limit": "^1.0.6", + "traverse": "^0.6.6", + "urlencode": "^1.1.0", + "ws": "^7.3.1" + } + }, + "@serverless/template": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@serverless/template/-/template-1.1.4.tgz", + "integrity": "sha512-LYC+RmSD4ozStdCxSHInpVWP8h+0sSa0lmPGjAb1Fw4Ppk+LCJqJTrohbhHmF2ixgaIBu6ceNtVTB4qM+2NvIA==", + "requires": { + "@serverless/component-metrics": "^1.0.8", + "@serverless/core": "^1.1.2", + "graphlib": "^2.1.8", + "ramda": "^0.26.1", + "traverse": "^0.6.6" + } + }, + "@serverless/utils": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@serverless/utils/-/utils-1.2.0.tgz", + "integrity": "sha512-aI/cpGVUhWbJUR8QDMtPue28EU4ViG/L4/XKuZDfAN2uNQv3NRjwEFIBi/cxyfQnMTYVtMLe9wDjuwzOT4ENzA==", + "requires": { + "chalk": "^2.0.1", + "lodash": "^4.17.15", + "rc": "^1.2.8", + "type": "^2.0.0", + "uuid": "^3.4.0", + "write-file-atomic": "^2.4.3" + } + }, + "@serverless/utils-china": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@serverless/utils-china/-/utils-china-1.1.4.tgz", + "integrity": "sha512-8s73M1k+mST7Z/Rp8wgmZh50tjpwX+fqsbYYRuFGgyuWTvgqAlUflDOWAeQuDx4pEndWEqjbG09ZrZNqlHuZqQ==", + "requires": { + "@tencent-sdk/capi": "^1.1.8", + "dijkstrajs": "^1.0.1", + "dot-qs": "0.2.0", + "duplexify": "^4.1.1", + "end-of-stream": "^1.4.4", + "got": "^11.8.2", + "https-proxy-agent": "^5.0.0", + "kafka-node": "^5.0.0", + "protobufjs": "^6.9.0", + "qrcode-terminal": "^0.12.0", + "socket.io-client": "^2.3.0", + "winston": "3.2.1" + }, + "dependencies": { + "@sindresorhus/is": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.2.0.tgz", + "integrity": "sha512-VkE3KLBmJwcCaVARtQpfuKcKv8gcBmUubrfHGF84dXuuW6jgsRYxPtzcIhPyK9WAPpRt2/xY6zkD9MnRaJzSyw==" + }, + "@szmarczak/http-timer": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", + "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", + "requires": { + "defer-to-connect": "^2.0.0" + } + }, + "cacheable-request": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz", + "integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==", + "requires": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^4.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^6.0.1", + "responselike": "^2.0.0" + } + }, + "decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "requires": { + "mimic-response": "^3.1.0" + } + }, + "defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==" + }, + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "requires": { + "pump": "^3.0.0" + } + }, + "got": { + "version": "11.8.3", + "resolved": "https://registry.npmjs.org/got/-/got-11.8.3.tgz", + "integrity": "sha512-7gtQ5KiPh1RtGS9/Jbv1ofDpBFuq42gyfEib+ejaRBJuj/3tQFeR5+gw57e4ipaU8c/rCjvX6fkQz2lyDlGAOg==", + "requires": { + "@sindresorhus/is": "^4.0.0", + "@szmarczak/http-timer": "^4.0.5", + "@types/cacheable-request": "^6.0.1", + "@types/responselike": "^1.0.0", + "cacheable-lookup": "^5.0.3", + "cacheable-request": "^7.0.2", + "decompress-response": "^6.0.0", + "http2-wrapper": "^1.0.0-beta.5.2", + "lowercase-keys": "^2.0.0", + "p-cancelable": "^2.0.0", + "responselike": "^2.0.0" + } + }, + "json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" + }, + "keyv": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.0.4.tgz", + "integrity": "sha512-vqNHbAc8BBsxk+7QBYLW0Y219rWcClspR6WSeoHYKG5mnsSoOH+BL1pWq02DDCVdvvuUny5rkBlzMRzoqc+GIg==", + "requires": { + "json-buffer": "3.0.1" + } + }, + "lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" + }, + "mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==" + }, + "normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==" + }, + "p-cancelable": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", + "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==" + }, + "responselike": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.0.tgz", + "integrity": "sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw==", + "requires": { + "lowercase-keys": "^2.0.0" + } + } + } + }, + "@sindresorhus/is": { "version": "0.14.0", "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==" @@ -489,71 +9375,69 @@ } }, "@tencent-sdk/capi": { - "version": "0.2.17", - "resolved": "https://registry.npmjs.org/@tencent-sdk/capi/-/capi-0.2.17.tgz", - "integrity": "sha512-DIenMFJXrd4yb35BbW/7LiikCQotbm9HEBG9S4HKV47tcKt6e4nZrNPO3R2hHgQ2jdo0xfqmlUlCP0O4Q3b9pw==", + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/@tencent-sdk/capi/-/capi-1.1.8.tgz", + "integrity": "sha512-AmyMQndtxMsM59eDeA0gGiw8T2LzNvDhx/xl+ygFXXrsw+yb/mit73ndHkiHKcRA1EpNHTyD1PN9ATxghzplfg==", "requires": { - "@types/chalk": "^2.2.0", - "@types/object-assign": "^4.0.30", "@types/request": "^2.48.3", "@types/request-promise-native": "^1.0.17", - "object-assign": "^4.1.1", - "querystring": "^0.2.0", "request": "^2.88.0", "request-promise-native": "^1.0.8" } }, + "@tokenizer/token": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz", + "integrity": "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==" + }, + "@types/cacheable-request": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.2.tgz", + "integrity": "sha512-B3xVo+dlKM6nnKTcmm5ZtY/OL8bOAOd2Olee9M1zft65ox50OzjEHW91sDiU9j6cvW8Ejg1/Qkf4xd2kugApUA==", + "requires": { + "@types/http-cache-semantics": "*", + "@types/keyv": "*", + "@types/node": "*", + "@types/responselike": "*" + } + }, "@types/caseless": { "version": "0.12.2", "resolved": "https://registry.npmjs.org/@types/caseless/-/caseless-0.12.2.tgz", "integrity": "sha512-6ckxMjBBD8URvjB6J3NcnuAn5Pkl7t3TizAg+xdlzzQGSPSmBcXf8KoIH0ua/i+tio+ZRUHEXp0HEmvaR4kt0w==" }, - "@types/chalk": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@types/chalk/-/chalk-2.2.0.tgz", - "integrity": "sha512-1zzPV9FDe1I/WHhRkf9SNgqtRJWZqrBWgu7JGveuHmmyR9CnAPCie2N/x+iHrgnpYBIcCJWHBoMRv2TRWktsvw==", - "requires": { - "chalk": "*" - } + "@types/http-cache-semantics": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz", + "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==" }, - "@types/glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-VgNIkxK+j7Nz5P7jvUZlRvhuPSmsEfS03b0alKcq5V/STUKAa3Plemsn5mrQUO7am6OErJ4rhGEGJbACclrtRA==", + "@types/keyv": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.3.tgz", + "integrity": "sha512-FXCJgyyN3ivVgRoml4h94G/p3kY+u/B86La+QptcqJaWtBWtmc6TtkNfS40n9bIvyLteHh7zXOtgbobORKPbDg==", "requires": { - "@types/minimatch": "*", "@types/node": "*" } }, "@types/lodash": { - "version": "4.14.157", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.157.tgz", - "integrity": "sha512-Ft5BNFmv2pHDgxV5JDsndOWTRJ+56zte0ZpYLowp03tW+K+t8u8YMOzAnpuqPgzX6WO1XpDIUm7u04M8vdDiVQ==" + "version": "4.14.178", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.178.tgz", + "integrity": "sha512-0d5Wd09ItQWH1qFbEyQ7oTQ3GZrMfth5JkbN3EvTKLXcHLRDSXeLnlvlOn0wvxVIwK5o2M8JzP/OWz7T3NRsbw==" }, "@types/long": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.1.tgz", "integrity": "sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==" }, - "@types/minimatch": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", - "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==" - }, "@types/node": { - "version": "14.0.14", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.14.tgz", - "integrity": "sha512-syUgf67ZQpaJj01/tRTknkMNoBBLWJOBODF0Zm4NrXmiSuxjymFrxnTu1QVYRubhVkRcZLYZG8STTwJRdVm/WQ==" - }, - "@types/object-assign": { - "version": "4.0.30", - "resolved": "https://registry.npmjs.org/@types/object-assign/-/object-assign-4.0.30.tgz", - "integrity": "sha1-iUk3HVqZ9Dge4PHfCpt6GH4H5lI=" + "version": "17.0.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.5.tgz", + "integrity": "sha512-w3mrvNXLeDYV1GKTZorGJQivK6XLCoGwpnyJFbJVK/aTBQUxOCaa/GlFAAN3OTDFcb7h5tiFG+YXCO2By+riZw==" }, "@types/request": { - "version": "2.48.5", - "resolved": "https://registry.npmjs.org/@types/request/-/request-2.48.5.tgz", - "integrity": "sha512-/LO7xRVnL3DxJ1WkPGDQrp4VTV1reX9RkC85mJ+Qzykj2Bdw+mG15aAfDahc76HtknjzE16SX/Yddn6MxVbmGQ==", + "version": "2.48.7", + "resolved": "https://registry.npmjs.org/@types/request/-/request-2.48.7.tgz", + "integrity": "sha512-GWP9AZW7foLd4YQxyFZDBepl0lPsWLMEXDZUjQ/c1gqVPDPECrRZyEzuhJdnPWioFCq3Tv0qoGpMD6U+ygd4ZA==", "requires": { "@types/caseless": "*", "@types/node": "*", @@ -562,56 +9446,39 @@ } }, "@types/request-promise-native": { - "version": "1.0.17", - "resolved": "https://registry.npmjs.org/@types/request-promise-native/-/request-promise-native-1.0.17.tgz", - "integrity": "sha512-05/d0WbmuwjtGMYEdHIBZ0tqMJJQ2AD9LG2F6rKNBGX1SSFR27XveajH//2N/XYtual8T9Axwl+4v7oBtPUZqg==", + "version": "1.0.18", + "resolved": "https://registry.npmjs.org/@types/request-promise-native/-/request-promise-native-1.0.18.tgz", + "integrity": "sha512-tPnODeISFc/c1LjWyLuZUY+Z0uLB3+IMfNoQyDEi395+j6kTFTTRAqjENjoPJUid4vHRGEozoTrcTrfZM+AcbA==", "requires": { "@types/request": "*" } }, + "@types/responselike": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz", + "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==", + "requires": { + "@types/node": "*" + } + }, "@types/tough-cookie": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.0.tgz", - "integrity": "sha512-I99sngh224D0M7XgW1s120zxCt3VYQ3IQsuw3P3jbq5GG4yc79+ZjyKznyOGIQrflfylLgcfekeZW/vk0yng6A==" - }, - "@typescript-eslint/typescript-estree": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz", - "integrity": "sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg==", - "requires": { - "debug": "^4.1.1", - "eslint-visitor-keys": "^1.1.0", - "glob": "^7.1.6", - "is-glob": "^4.0.1", - "lodash": "^4.17.15", - "semver": "^7.3.2", - "tsutils": "^3.17.1" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==" - } + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.1.tgz", + "integrity": "sha512-Y0K95ThC3esLEYD6ZuqNek29lNX2EM1qxV8y2FTLUB0ff5wWrk7az+mLrnNFUnaXcgKye22+sFBRXOgpPILZNg==" + }, + "2-thenable": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/2-thenable/-/2-thenable-1.0.0.tgz", + "integrity": "sha512-HqiDzaLDFCXkcCO/SwoyhRwqYtINFHF7t9BDRq4x90TOKNAJpiqUt9X5lQ08bwxYzc067HUywDjGySpebHcUpw==", + "requires": { + "d": "1", + "es5-ext": "^0.10.47" } }, "adm-zip": { - "version": "0.4.16", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", - "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==" + "version": "0.5.9", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.9.tgz", + "integrity": "sha512-s+3fXLkeeLjZ2kLjCBwQufpI5fuN+kIGBxu6530nVQZGVol0d7Y/M88/xw9HGGUcJjKf8LutN3VPRUBq6N7Ajg==" }, "after": { "version": "0.8.2", @@ -619,74 +9486,50 @@ "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=" }, "agent-base": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.0.tgz", - "integrity": "sha512-j1Q7cSCqN+AwrmDd+pzgqc0/NpC655x2bUf5ZjRIO77DcNBFmh+OgRNzF6OKdCC9RSCb19fGd99+bhXFdkRNqw==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", "requires": { "debug": "4" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } } }, "ajv": { - "version": "6.10.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", - "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "requires": { - "fast-deep-equal": "^2.0.1", + "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" - }, - "dependencies": { - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" - }, - "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "requires": { - "punycode": "^2.1.0" - } - } } }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "requires": {} + }, "ansi-align": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", - "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", "requires": { - "string-width": "^2.0.0" + "string-width": "^4.1.0" } }, "ansi-escapes": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", - "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "requires": { - "type-fest": "^0.11.0" + "type-fest": "^0.21.3" } }, "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" }, "ansi-styles": { "version": "3.2.1", @@ -697,18 +9540,19 @@ } }, "anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", "requires": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" } }, - "app-module-path": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/app-module-path/-/app-module-path-2.2.0.tgz", - "integrity": "sha1-ZBqlXft9am8KgUHEucCqULbCTdU=" + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "optional": true }, "archive-type": { "version": "4.0.0", @@ -726,52 +9570,48 @@ } }, "archiver": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/archiver/-/archiver-3.1.1.tgz", - "integrity": "sha512-5Hxxcig7gw5Jod/8Gq0OneVgLYET+oNHcxgWItq4TbhOzRLKNAFUb9edAftiMKXvXfCB0vbGrJdZDNq0dWMsxg==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/archiver/-/archiver-5.3.0.tgz", + "integrity": "sha512-iUw+oDwK0fgNpvveEsdQ0Ase6IIKztBJU2U0E9MzszMfmVVUyv1QJhS2ITW9ZCqx8dktAxVAjWWkKehuZE8OPg==", "requires": { "archiver-utils": "^2.1.0", - "async": "^2.6.3", + "async": "^3.2.0", "buffer-crc32": "^0.2.1", + "readable-stream": "^3.6.0", + "readdir-glob": "^1.0.0", + "tar-stream": "^2.2.0", + "zip-stream": "^4.1.0" + } + }, + "archiver-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz", + "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==", + "requires": { "glob": "^7.1.4", - "readable-stream": "^3.4.0", - "tar-stream": "^2.1.0", - "zip-stream": "^2.1.2" + "graceful-fs": "^4.2.0", + "lazystream": "^1.0.0", + "lodash.defaults": "^4.2.0", + "lodash.difference": "^4.5.0", + "lodash.flatten": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.union": "^4.6.0", + "normalize-path": "^3.0.0", + "readable-stream": "^2.0.0" }, "dependencies": { - "async": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", - "requires": { - "lodash": "^4.17.14" - } - }, - "compress-commons": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-2.1.1.tgz", - "integrity": "sha512-eVw6n7CnEMFzc3duyFVrQEuY1BlHR3rYsSztyG32ibGMW722i3C6IizEGMFmfMU+A+fALvBIwxN3czffTcdA+Q==", + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "requires": { - "buffer-crc32": "^0.2.13", - "crc32-stream": "^3.0.1", - "normalize-path": "^3.0.0", - "readable-stream": "^2.3.6" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - } + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, "safe-buffer": { @@ -786,40 +9626,24 @@ "requires": { "safe-buffer": "~5.1.0" } - }, - "zip-stream": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-2.1.3.tgz", - "integrity": "sha512-EkXc2JGcKhO5N5aZ7TmuNo45budRaFGHOmz24wtJR7znbNqDPmdZtUauKX6et8KAVseAMBOyWJqEpXcHTBsh7Q==", - "requires": { - "archiver-utils": "^2.1.0", - "compress-commons": "^2.1.1", - "readable-stream": "^3.4.0" - } } } }, - "archiver-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz", - "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==", + "are-we-there-yet": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", + "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", + "optional": true, "requires": { - "glob": "^7.1.4", - "graceful-fs": "^4.2.0", - "lazystream": "^1.0.0", - "lodash.defaults": "^4.2.0", - "lodash.difference": "^4.5.0", - "lodash.flatten": "^4.4.0", - "lodash.isplainobject": "^4.0.6", - "lodash.union": "^4.6.0", - "normalize-path": "^3.0.0", - "readable-stream": "^2.0.0" + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" }, "dependencies": { "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "optional": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -833,12 +9657,14 @@ "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "optional": true }, "string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "optional": true, "requires": { "safe-buffer": "~5.1.0" } @@ -853,64 +9679,31 @@ "sprintf-js": "~1.0.2" } }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" - }, "array-union": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" - }, "arraybuffer.slice": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz", "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==" }, "asl-validator": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/asl-validator/-/asl-validator-1.5.0.tgz", - "integrity": "sha512-NLiJXij88A/NlsxvUElRRmymabyBk2psXsqkUMWJommbeSxeXUrCwgm72oM5Bb4Mbt0XHgJMeRhLaWzTpyJI0g==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/asl-validator/-/asl-validator-1.10.0.tgz", + "integrity": "sha512-N7/ouOzYaEJqUNf82NarTs6Cg8sZMnHIDVGULjhzw7GLyXgoXkQUZrhvHXCyucvkU4FfeHmzY3TynEjl0/UN3Q==", "dev": true, "requires": { - "ajv": "^6.10.2", - "commander": "^2.20.0", - "jsonpath": "^1.0.2" - }, - "dependencies": { - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - } + "ajv": "^6.12.6", + "commander": "^5.1.0", + "jsonpath": "^1.1.0" } }, "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", "requires": { "safer-buffer": "~2.1.0" } @@ -920,43 +9713,27 @@ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" - }, - "ast-module-types": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/ast-module-types/-/ast-module-types-2.6.0.tgz", - "integrity": "sha512-zXSoVaMrf2R+r+ISid5/9a8SXm1LLdkhHzh6pSRhj9jklzruOOl1hva1YmFT33wAstg/f9ZndJAlq1BSrFLSGA==" - }, "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=" - }, - "async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.2.tgz", + "integrity": "sha512-H0E+qZaDEfx/FY4t7iLRv1W2fFI6+pyCeTw1uN20AQPiwqwM6ojPxHxdLv4z8hi2DtnW9BOckSspLucW7pIE5g==" }, "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" }, "aws-sdk": { - "version": "2.601.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.601.0.tgz", - "integrity": "sha512-i8ND3Hn0zjuwyau47io8Uyvbeb6dnOYbC6k34u3DvqH3I/kFDgDAme6L58LUzSHAPDWhUDjNXpScmMsGZVDWrw==", - "dev": true, + "version": "2.1048.0", + "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1048.0.tgz", + "integrity": "sha512-mVwWo+Udiuc/yEZ/DgJQGqOEtfiQjgUdtshx/t6ISe3+jW3TF9hUACwADwx2Sr/fuJyyJ3QD5JYLt5Cw35wQpA==", "requires": { - "buffer": "4.9.1", + "buffer": "4.9.2", "events": "1.1.1", "ieee754": "1.1.13", "jmespath": "0.15.0", @@ -967,22 +9744,15 @@ "xml2js": "0.4.19" }, "dependencies": { - "buffer": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", - "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", - "dev": true, - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" }, "uuid": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", - "dev": true + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" } } }, @@ -992,16 +9762,16 @@ "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" }, "aws4": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.0.tgz", - "integrity": "sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA==" + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" }, "axios": { - "version": "0.19.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz", - "integrity": "sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", "requires": { - "follow-redirects": "1.5.10" + "follow-redirects": "^1.14.0" } }, "backo2": { @@ -1010,69 +9780,19 @@ "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=" }, "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "requires": { - "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" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "base64-arraybuffer": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", - "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=" + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz", + "integrity": "sha1-mBjHngWbE1X5fgQooBfIOOkLqBI=" }, "base64-js": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", - "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==" + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" }, "bcrypt-pbkdf": { "version": "1.0.2", @@ -1082,27 +9802,65 @@ "tweetnacl": "^0.14.3" } }, - "better-assert": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", - "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=", + "binary": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz", + "integrity": "sha1-n2BVO8XOjDOG87VTz/R0Yq3sqnk=", "requires": { - "callsite": "1.0.0" + "buffers": "~0.1.1", + "chainsaw": "~0.1.0" } }, "binary-extensions": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", - "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==" + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" + }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "optional": true, + "requires": { + "file-uri-to-path": "1.0.0" + } }, "bl": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.0.2.tgz", - "integrity": "sha512-j4OH8f6Qg2bGuWfRiltT2HYGx0e1QcBTrK9KAHNMwMZdQnDZFk0ZSYIpADjYCB3U12nicC5tVJwSIhwOWjb4RQ==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/bl/-/bl-2.2.1.tgz", + "integrity": "sha512-6Pesp1w0DEX1N550i/uGV/TqucVL4AM/pgThFSN/Qq9si1/DF9aIHs1BxD8V/QU0HoeHO6cQRTAuYnLPKq1e4g==", "requires": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, "blob": { @@ -1116,52 +9874,67 @@ "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" }, "boxen": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-3.2.0.tgz", - "integrity": "sha512-cU4J/+NodM3IHdSL2yN8bqYqnmlBTidDR4RC7nJs61ZmtGz8VZzM3HLQX0zY5mrSmPtR3xWwsq2jOUQqFZN8+A==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz", + "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==", "requires": { "ansi-align": "^3.0.0", - "camelcase": "^5.3.1", - "chalk": "^2.4.2", - "cli-boxes": "^2.2.0", - "string-width": "^3.0.0", - "term-size": "^1.2.0", - "type-fest": "^0.3.0", - "widest-line": "^2.0.0" + "camelcase": "^6.2.0", + "chalk": "^4.1.0", + "cli-boxes": "^2.2.1", + "string-width": "^4.2.2", + "type-fest": "^0.20.2", + "widest-line": "^3.1.0", + "wrap-ansi": "^7.0.0" }, "dependencies": { - "ansi-align": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz", - "integrity": "sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==", + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "requires": { - "string-width": "^3.0.0" + "color-name": "~1.1.4" } }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, - "cli-boxes": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.0.tgz", - "integrity": "sha512-gpaBrMAizVEANOpfZp/EEUixTXDyGt7DFzdK5hU+UbWt/J0lB0w20ncZj59Z9a93xHb9u12zF5BS6i9RKbtg4w==" + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" + "has-flag": "^4.0.0" } }, "type-fest": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", - "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==" + "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==" } } }, @@ -1183,12 +9956,13 @@ } }, "buffer": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.6.0.tgz", - "integrity": "sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==", + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", "requires": { "base64-js": "^1.0.2", - "ieee754": "^1.1.4" + "ieee754": "^1.1.4", + "isarray": "^1.0.0" } }, "buffer-alloc": { @@ -1215,31 +9989,28 @@ "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=" }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" + "buffermaker": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/buffermaker/-/buffermaker-1.2.1.tgz", + "integrity": "sha512-IdnyU2jDHU65U63JuVQNTHiWjPRH0CS3aYd/WPaEwyX84rFdukhOduAVb1jwUScmb5X0JWPw8NZOrhoLMiyAHQ==", + "requires": { + "long": "1.1.2" + } + }, + "buffers": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz", + "integrity": "sha1-skV5w77U1tOWru5tmorn9Ugqt7s=" }, "builtin-modules": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.1.0.tgz", - "integrity": "sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw==" + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.2.0.tgz", + "integrity": "sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==" }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "requires": { - "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" - } + "cacheable-lookup": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", + "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==" }, "cacheable-request": { "version": "6.1.0", @@ -1256,9 +10027,9 @@ }, "dependencies": { "get-stream": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", - "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", "requires": { "pump": "^3.0.0" } @@ -1275,40 +10046,29 @@ "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.3.0.tgz", "integrity": "sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==" }, - "call-me-maybe": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", - "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=" - }, - "callsite": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", - "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=" - }, "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" - }, - "capture-stack-trace": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz", - "integrity": "sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==" + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.1.tgz", + "integrity": "sha512-tVI4q5jjFV5CavAU8DXfza/TJcZutVKo/5Foskmsqcm0MsL91moHvwiGNnqaa2o6PF/7yT5ikDRcVcl8Rj6LCA==" }, "caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" }, - "caw": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/caw/-/caw-2.0.1.tgz", - "integrity": "sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA==", + "chainsaw": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz", + "integrity": "sha1-XqtQsor+WAdNDVgpE4iCi15fvJg=", "requires": { - "get-proxy": "^2.0.0", - "isurl": "^1.0.0-alpha5", - "tunnel-agent": "^0.6.0", - "url-to-options": "^1.0.1" + "traverse": ">=0.3.0 <0.4" + }, + "dependencies": { + "traverse": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz", + "integrity": "sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk=" + } } }, "chalk": { @@ -1321,12 +10081,6 @@ "supports-color": "^5.3.0" } }, - "chance": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chance/-/chance-1.1.4.tgz", - "integrity": "sha512-pXPDSu3knKlb6H7ahQfpq//J9mSOxYK8SMtp8MV/nRJh8aLRDIl0ipLH8At8+nVogVwtvPZzyIzY/EbcY/cLuQ==", - "dev": true - }, "chardet": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", @@ -1345,83 +10099,106 @@ } }, "chokidar": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.0.tgz", - "integrity": "sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ==", + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", + "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", "requires": { - "anymatch": "~3.1.1", + "anymatch": "~3.1.2", "braces": "~3.0.2", - "fsevents": "~2.1.2", - "glob-parent": "~5.1.0", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", - "readdirp": "~3.4.0" + "readdirp": "~3.6.0" } }, - "ci-info": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", - "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==" + "chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - } - } + "ci-info": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.0.tgz", + "integrity": "sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==" }, "cli-boxes": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", - "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=" + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", + "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==" }, "cli-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cli-color/-/cli-color-2.0.0.tgz", - "integrity": "sha512-a0VZ8LeraW0jTuCkuAGMNufareGHhyZU9z8OGsW0gXd1hZGi1SRuNRXdbGkraBBKnhyUhyebFWnRbp+dIn0f0A==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/cli-color/-/cli-color-2.0.1.tgz", + "integrity": "sha512-eBbxZF6fqPUNnf7CLAFOersUnyYzv83tHFLSlts+OAHsNendaqv2tHCq+/MO+b3Y+9JeoUlIvobyxG/Z8GNeOg==", "requires": { - "ansi-regex": "^2.1.1", "d": "^1.0.1", - "es5-ext": "^0.10.51", + "es5-ext": "^0.10.53", "es6-iterator": "^2.0.3", - "memoizee": "^0.4.14", + "memoizee": "^0.4.15", "timers-ext": "^0.1.7" + } + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "cli-progress-footer": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cli-progress-footer/-/cli-progress-footer-2.3.0.tgz", + "integrity": "sha512-xJl+jqvdsE0Gjh5tKoLzZrQS4nPHC+yzeitgq2faAZiHl+/Peuwzoy5Sed6EBkm8JNrPk7W4U3YNVO/uxoqOFg==", + "requires": { + "cli-color": "^2.0.1", + "d": "^1.0.1", + "es5-ext": "^0.10.53", + "mute-stream": "0.0.8", + "process-utils": "^4.0.0", + "timers-ext": "^0.1.7", + "type": "^2.5.0" + } + }, + "cli-spinners": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", + "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", + "peer": true + }, + "cli-sprintf-format": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/cli-sprintf-format/-/cli-sprintf-format-1.1.1.tgz", + "integrity": "sha512-BbEjY9BEdA6wagVwTqPvmAwGB24U93rQPBFZUT8lNCDxXzre5LFHQUTJc70czjgUomVg8u8R5kW8oY9DYRFNeg==", + "requires": { + "cli-color": "^2.0.1", + "es5-ext": "^0.10.53", + "sprintf-kit": "^2.0.1", + "supports-color": "^6.1.0" }, "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } } } }, - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "requires": { - "restore-cursor": "^2.0.0" - } - }, "cli-width": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", - "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==" + }, + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "peer": true }, "clone-response": { "version": "1.0.2", @@ -1431,22 +10208,19 @@ "mimic-response": "^1.0.0" } }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "optional": true }, "color": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/color/-/color-3.0.0.tgz", - "integrity": "sha512-jCpd5+s0s0t7p3pHQKpnJ0TpQKKdleP71LWcA0aqiljpiuAkOSUFN/dyH8ZwF0hRmFlrIuRhufds1QyEP9EB+w==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", "requires": { - "color-convert": "^1.9.1", - "color-string": "^1.5.2" + "color-convert": "^1.9.3", + "color-string": "^1.6.0" } }, "color-convert": { @@ -1463,9 +10237,9 @@ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, "color-string": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz", - "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.0.tgz", + "integrity": "sha512-9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ==", "requires": { "color-name": "^1.0.0", "simple-swizzle": "^0.2.2" @@ -1482,11 +10256,11 @@ "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==" }, "colorspace": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.2.tgz", - "integrity": "sha512-vt+OoIP2d76xLhjwbBaucYlNSpPsrJWPlBTtwCpQKIu6/CSMutyzX93O/Do0qzpH3YoHEes8YEFXyZ797rEhzQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.4.tgz", + "integrity": "sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==", "requires": { - "color": "3.0.x", + "color": "^3.1.3", "text-hex": "1.0.x" } }, @@ -1499,9 +10273,10 @@ } }, "commander": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", - "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==" + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "dev": true }, "component-bind": { "version": "1.0.0", @@ -1509,9 +10284,9 @@ "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=" }, "component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" }, "component-inherit": { "version": "0.0.3", @@ -1519,43 +10294,14 @@ "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=" }, "compress-commons": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-3.0.0.tgz", - "integrity": "sha512-FyDqr8TKX5/X0qo+aVfaZ+PVmNJHJeckFBlq8jZGSJOgnynhfifoyl24qaqdUdDIBe0EVTHByN6NAkqYvE/2Xg==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.1.tgz", + "integrity": "sha512-QLdDLCKNV2dtoTorqgxngQCMA+gWXkM/Nwu7FpeBhk/RdkzimqC3jueb/FDmaZeXh+uby1jkBqE3xArsLBE5wQ==", "requires": { "buffer-crc32": "^0.2.13", - "crc32-stream": "^3.0.1", + "crc32-stream": "^4.0.2", "normalize-path": "^3.0.0", - "readable-stream": "^2.3.7" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } + "readable-stream": "^3.6.0" } }, "concat-map": { @@ -1563,98 +10309,48 @@ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, - "config-chain": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz", - "integrity": "sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==", - "requires": { - "ini": "^1.3.4", - "proto-list": "~1.2.1" - } - }, - "configstore": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.2.tgz", - "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==", - "requires": { - "dot-prop": "^4.1.0", - "graceful-fs": "^4.1.2", - "make-dir": "^1.0.0", - "unique-string": "^1.0.0", - "write-file-atomic": "^2.0.0", - "xdg-basedir": "^3.0.0" - }, - "dependencies": { - "make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", - "requires": { - "pify": "^3.0.0" - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" - } - } + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "optional": true }, "content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "requires": { - "safe-buffer": "5.1.2" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - } + "safe-buffer": "5.2.1" } }, "cookiejar": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.2.tgz", - "integrity": "sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA==" - }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.3.tgz", + "integrity": "sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ==" }, "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, - "crc": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/crc/-/crc-3.8.0.tgz", - "integrity": "sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==", + "crc-32": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.0.tgz", + "integrity": "sha512-1uBwHxF+Y/4yF5G48fwnKq6QsIXheor3ZLPT80yGBV1oEUwpPojlEhQbWKVw1VwcTQyMGHK1/XMmTjmlsmTTGA==", "requires": { - "buffer": "^5.1.0" + "exit-on-epipe": "~1.0.1", + "printj": "~1.1.0" } }, "crc32-stream": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-3.0.1.tgz", - "integrity": "sha512-mctvpXlbzsvK+6z8kJwSJ5crm7yBwrQMTybJzMw1O4lLGJqjlDCXY2Zw7KheiA6XBEcBmfLx1D88mjRGVJtY9w==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.2.tgz", + "integrity": "sha512-DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w==", "requires": { - "crc": "^3.4.4", + "crc-32": "^1.2.0", "readable-stream": "^3.4.0" } }, - "create-error-class": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", - "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", - "requires": { - "capture-stack-trace": "^1.0.0" - } - }, "cross-spawn": { "version": "6.0.5", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", @@ -1674,11 +10370,6 @@ } } }, - "crypto-random-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", - "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=" - }, "d": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", @@ -1704,34 +10395,16 @@ } }, "dayjs": { - "version": "1.8.28", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.8.28.tgz", - "integrity": "sha512-ccnYgKC0/hPSGXxj7Ju6AV/BP4HUkXC2u15mikXT5mX9YorEaoi1bEKOmAqdkJHN4EEkmAf97SpH66Try5Mbeg==" + "version": "1.10.7", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.10.7.tgz", + "integrity": "sha512-P6twpd70BcPK34K26uJ1KT3wlhpuOAPoMwJzpsIWUxHZ7wpmbdZL/hQqBDfz7hGurYSa5PhzdhDHtt319hL3ig==" }, "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "requires": { - "ms": "2.0.0" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" - }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" - }, - "decomment": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/decomment/-/decomment-0.9.2.tgz", - "integrity": "sha512-sblyUmOJZxiL7oJ2ogJS6jtl/67+CTOW87SrYE/96u3PhDYikYoLCdLzcnceToiQejOLlqNnLCkaxx/+nE/ehg==", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", "requires": { - "esprima": "4.0.1" + "ms": "2.1.2" } }, "decompress": { @@ -1747,28 +10420,6 @@ "make-dir": "^1.0.0", "pify": "^2.3.0", "strip-dirs": "^2.0.0" - }, - "dependencies": { - "make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", - "requires": { - "pify": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" - } - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" - } } }, "decompress-response": { @@ -1790,9 +10441,9 @@ }, "dependencies": { "bl": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz", - "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", + "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", "requires": { "readable-stream": "^2.3.5", "safe-buffer": "^5.1.1" @@ -1810,28 +10461,19 @@ "safe-buffer": "~5.1.1", "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - } } }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, "string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { "safe-buffer": "~5.1.0" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - } } }, "tar-stream": { @@ -1894,20 +10536,6 @@ "version": "3.9.0", "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=" - }, - "get-stream": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", - "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=", - "requires": { - "object-assign": "^4.0.1", - "pinkie-promise": "^2.0.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" } } }, @@ -1917,248 +10545,58 @@ "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" }, "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" - }, - "defer-to-connect": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", - "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==" + "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==", + "dev": true }, - "deferred": { - "version": "0.7.11", - "resolved": "https://registry.npmjs.org/deferred/-/deferred-0.7.11.tgz", - "integrity": "sha512-8eluCl/Blx4YOGwMapBvXRKxHXhA8ejDXYzEaK8+/gtcm8hRMhSLmXSqDmNUKNc/C8HNSmuyyp/hflhqDAvK2A==", + "defaults": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", + "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "peer": true, "requires": { - "d": "^1.0.1", - "es5-ext": "^0.10.50", - "event-emitter": "^0.3.5", - "next-tick": "^1.0.0", - "timers-ext": "^0.1.7" + "clone": "^1.0.2" } }, - "define-properties": { + "defer-to-connect": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "requires": { - "object-keys": "^1.0.12" - } - }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" - }, - "dependency-tree": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/dependency-tree/-/dependency-tree-7.2.1.tgz", - "integrity": "sha512-nBxnjkqDW4LqAzBazy60V4lE0mAtIQ+oers/GIIvVvGYVdCD9+RNNd4G9jjstyz7ZFVg/j/OiYCvK5MjoVqA2w==", - "requires": { - "commander": "^2.19.0", - "debug": "^4.1.1", - "filing-cabinet": "^2.5.1", - "precinct": "^6.2.0", - "typescript": "^3.7.5" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "detective-amd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/detective-amd/-/detective-amd-3.0.0.tgz", - "integrity": "sha512-kOpKHyabdSKF9kj7PqYHLeHPw+TJT8q2u48tZYMkIcas28el1CYeLEJ42Nm+563/Fq060T5WknfwDhdX9+kkBQ==", - "requires": { - "ast-module-types": "^2.3.1", - "escodegen": "^1.8.0", - "get-amd-module-type": "^3.0.0", - "node-source-walk": "^4.0.0" - } - }, - "detective-cjs": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/detective-cjs/-/detective-cjs-3.1.1.tgz", - "integrity": "sha512-JQtNTBgFY6h8uT6pgph5QpV3IyxDv+z3qPk/FZRDT9TlFfm5dnRtpH39WtQEr1khqsUxVqXzKjZHpdoQvQbllg==", - "requires": { - "ast-module-types": "^2.4.0", - "node-source-walk": "^4.0.0" - } - }, - "detective-es6": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/detective-es6/-/detective-es6-2.2.0.tgz", - "integrity": "sha512-fSpNY0SLER7/sVgQZ1NxJPwmc9uCTzNgdkQDhAaj8NPYwr7Qji9QBcmbNvtMCnuuOGMuKn3O7jv0An+/WRWJZQ==", - "requires": { - "node-source-walk": "^4.0.0" - } - }, - "detective-less": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/detective-less/-/detective-less-1.0.2.tgz", - "integrity": "sha512-Rps1xDkEEBSq3kLdsdnHZL1x2S4NGDcbrjmd4q+PykK5aJwDdP5MBgrJw1Xo+kyUHuv3JEzPqxr+Dj9ryeDRTA==", - "requires": { - "debug": "^4.0.0", - "gonzales-pe": "^4.2.3", - "node-source-walk": "^4.0.0" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "detective-postcss": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/detective-postcss/-/detective-postcss-3.0.1.tgz", - "integrity": "sha512-tfTS2GdpUal5NY0aCqI4dpEy8Xfr88AehYKB0iBIZvo8y2g3UsrcDnrp9PR2FbzoW7xD5Rip3NJW7eCSvtqdUw==", - "requires": { - "debug": "^4.1.1", - "is-url": "^1.2.4", - "postcss": "^7.0.2", - "postcss-values-parser": "^1.5.0" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "detective-sass": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/detective-sass/-/detective-sass-3.0.1.tgz", - "integrity": "sha512-oSbrBozRjJ+QFF4WJFbjPQKeakoaY1GiR380NPqwdbWYd5wfl5cLWv0l6LsJVqrgWfFN1bjFqSeo32Nxza8Lbw==", - "requires": { - "debug": "^4.1.1", - "gonzales-pe": "^4.2.3", - "node-source-walk": "^4.0.0" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", + "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==" }, - "detective-scss": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/detective-scss/-/detective-scss-2.0.1.tgz", - "integrity": "sha512-VveyXW4WQE04s05KlJ8K0bG34jtHQVgTc9InspqoQxvnelj/rdgSAy7i2DXAazyQNFKlWSWbS+Ro2DWKFOKTPQ==", + "deferred": { + "version": "0.7.11", + "resolved": "https://registry.npmjs.org/deferred/-/deferred-0.7.11.tgz", + "integrity": "sha512-8eluCl/Blx4YOGwMapBvXRKxHXhA8ejDXYzEaK8+/gtcm8hRMhSLmXSqDmNUKNc/C8HNSmuyyp/hflhqDAvK2A==", "requires": { - "debug": "^4.1.1", - "gonzales-pe": "^4.2.3", - "node-source-walk": "^4.0.0" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } + "d": "^1.0.1", + "es5-ext": "^0.10.50", + "event-emitter": "^0.3.5", + "next-tick": "^1.0.0", + "timers-ext": "^0.1.7" } }, - "detective-stylus": { + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + }, + "delegates": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/detective-stylus/-/detective-stylus-1.0.0.tgz", - "integrity": "sha1-UK7n24uruZA4HwEMY/q7pbWOVM0=" + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "optional": true }, - "detective-typescript": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/detective-typescript/-/detective-typescript-5.8.0.tgz", - "integrity": "sha512-SrsUCfCaDTF64QVMHMidRal+kmkbIc5zP8cxxZPsomWx9vuEUjBlSJNhf7/ypE5cLdJJDI4qzKDmyzqQ+iz/xg==", - "requires": { - "@typescript-eslint/typescript-estree": "^2.29.0", - "ast-module-types": "^2.6.0", - "node-source-walk": "^4.2.0", - "typescript": "^3.8.3" - } + "denque": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/denque/-/denque-1.5.1.tgz", + "integrity": "sha512-XwE+iZ4D6ZUB7mfYRMb5wByE8L74HCn30FBN7sWnXksWc1LO1bPDl67pBR9o/kC4z/xSNAwkMYcGgqDV3BE3Hw==" + }, + "detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", + "optional": true }, "diagnostics": { "version": "1.1.1", @@ -2171,9 +10609,9 @@ } }, "dijkstrajs": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.1.tgz", - "integrity": "sha1-082BIh4+pAdCz83lVtTpnpjdxxs=" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.2.tgz", + "integrity": "sha512-QV6PMaHTCNmKSeP6QoXhVTw9snc9VD8MulTT0Bd99Pacp4SS1cjcrYPgBPmibqKVtMJJfqC6XvOXgPMEEPH/fg==" }, "dir-glob": { "version": "3.0.1", @@ -2183,153 +10621,20 @@ "path-type": "^4.0.0" } }, - "dot-prop": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", - "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", - "requires": { - "is-obj": "^1.0.0" - } - }, "dot-qs": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/dot-qs/-/dot-qs-0.2.0.tgz", "integrity": "sha1-02UX/iS3zaYfznpQJqACSvr1pDk=" }, "dotenv": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz", - "integrity": "sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==" + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz", + "integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==" }, - "download": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/download/-/download-7.1.0.tgz", - "integrity": "sha512-xqnBTVd/E+GxJVrX5/eUJiLYjCGPwMpdL+jGhGU57BvtcA7wwhtHVbXBeUk51kOpW3S7Jn3BQbN9Q1R1Km2qDQ==", - "requires": { - "archive-type": "^4.0.0", - "caw": "^2.0.1", - "content-disposition": "^0.5.2", - "decompress": "^4.2.0", - "ext-name": "^5.0.0", - "file-type": "^8.1.0", - "filenamify": "^2.0.0", - "get-stream": "^3.0.0", - "got": "^8.3.1", - "make-dir": "^1.2.0", - "p-event": "^2.1.0", - "pify": "^3.0.0" - }, - "dependencies": { - "@sindresorhus/is": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz", - "integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==" - }, - "cacheable-request": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz", - "integrity": "sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0=", - "requires": { - "clone-response": "1.0.2", - "get-stream": "3.0.0", - "http-cache-semantics": "3.8.1", - "keyv": "3.0.0", - "lowercase-keys": "1.0.0", - "normalize-url": "2.0.1", - "responselike": "1.0.2" - }, - "dependencies": { - "lowercase-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", - "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=" - } - } - }, - "file-type": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-8.1.0.tgz", - "integrity": "sha512-qyQ0pzAy78gVoJsmYeNgl8uH8yKhr1lVhW7JbzJmnlRi0I4R2eEDEJZVKG8agpDnLpacwNbDhLNG/LMdxHD2YQ==" - }, - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" - }, - "got": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/got/-/got-8.3.2.tgz", - "integrity": "sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==", - "requires": { - "@sindresorhus/is": "^0.7.0", - "cacheable-request": "^2.1.1", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "into-stream": "^3.1.0", - "is-retry-allowed": "^1.1.0", - "isurl": "^1.0.0-alpha5", - "lowercase-keys": "^1.0.0", - "mimic-response": "^1.0.0", - "p-cancelable": "^0.4.0", - "p-timeout": "^2.0.1", - "pify": "^3.0.0", - "safe-buffer": "^5.1.1", - "timed-out": "^4.0.1", - "url-parse-lax": "^3.0.0", - "url-to-options": "^1.0.1" - } - }, - "http-cache-semantics": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", - "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==" - }, - "keyv": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz", - "integrity": "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==", - "requires": { - "json-buffer": "3.0.0" - } - }, - "make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", - "requires": { - "pify": "^3.0.0" - } - }, - "normalize-url": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz", - "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", - "requires": { - "prepend-http": "^2.0.0", - "query-string": "^5.0.1", - "sort-keys": "^2.0.0" - } - }, - "p-cancelable": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz", - "integrity": "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==" - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" - }, - "sort-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", - "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", - "requires": { - "is-plain-obj": "^1.0.0" - } - } - } + "dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" }, "duplexer3": { "version": "0.1.4", @@ -2337,9 +10642,9 @@ "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" }, "duplexify": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.1.tgz", - "integrity": "sha512-DY3xVEmVHTv1wSzKNbwoU6nVjzI369Y6sPoqfYr0/xlx3IdX2n94xIszTcjPO8W8ZIv0Wb0PXNcjuZyT4wiICA==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.2.tgz", + "integrity": "sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==", "requires": { "end-of-stream": "^1.4.1", "inherits": "^2.0.3", @@ -2366,9 +10671,9 @@ } }, "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "enabled": { "version": "1.0.2", @@ -2378,14 +10683,6 @@ "env-variable": "0.0.x" } }, - "encoding": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", - "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", - "requires": { - "iconv-lite": "~0.4.13" - } - }, "end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", @@ -2395,86 +10692,61 @@ } }, "engine.io-client": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.4.3.tgz", - "integrity": "sha512-0NGY+9hioejTEJCaSJZfWZLk4FPI9dN+1H1C4+wj2iuFba47UgZbJzfWs4aNFajnX/qAaYKbe2lLTfEEWzCmcw==", + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.5.2.tgz", + "integrity": "sha512-QEqIp+gJ/kMHeUun7f5Vv3bteRHppHH/FMBQX/esFj/fuYfjyUKWGMo3VCvIP/V8bE9KcjHmRZrhIz2Z9oNsDA==", "requires": { "component-emitter": "~1.3.0", "component-inherit": "0.0.3", - "debug": "~4.1.0", + "debug": "~3.1.0", "engine.io-parser": "~2.2.0", "has-cors": "1.1.0", "indexof": "0.0.1", - "parseqs": "0.0.5", - "parseuri": "0.0.5", - "ws": "~6.1.0", - "xmlhttprequest-ssl": "~1.5.4", + "parseqs": "0.0.6", + "parseuri": "0.0.6", + "ws": "~7.4.2", + "xmlhttprequest-ssl": "~1.6.2", "yeast": "0.1.2" }, "dependencies": { - "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" - }, "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", "requires": { - "ms": "^2.1.1" + "ms": "2.0.0" } }, "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, "ws": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.1.4.tgz", - "integrity": "sha512-eqZfL+NE/YQc1/ZynhojeV8q+H050oR8AZ2uIev7RU10svA9ZnJUddHcOUZTJLinZ9yEfdA2kSATS2qZK5fhJA==", - "requires": { - "async-limiter": "~1.0.0" - } + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", + "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", + "requires": {} } } }, "engine.io-parser": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.2.0.tgz", - "integrity": "sha512-6I3qD9iUxotsC5HEMuuGsKA0cXerGz+4uGcXQEkfBidgKf0amsjrrtwcbwK/nzpZBxclXlV7gGl9dgWvu4LF6w==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.2.1.tgz", + "integrity": "sha512-x+dN/fBH8Ro8TFwJ+rkB2AmuVw9Yu2mockR/p3W8f8YtExwFgDvBDi0GWyb4ZLkpahtDGZgtr3zLovanJghPqg==", "requires": { "after": "0.8.2", "arraybuffer.slice": "~0.0.7", - "base64-arraybuffer": "0.1.5", + "base64-arraybuffer": "0.1.4", "blob": "0.0.5", "has-binary2": "~1.0.2" } }, - "enhanced-resolve": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.2.0.tgz", - "integrity": "sha512-S7eiFb/erugyd1rLb6mQ3Vuq+EXHv5cpCkNqqIkYkBgN2QdFnyCZzFBleqwGEx4lgNGYij81BWnCrFNK7vxvjQ==", - "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" - } - }, "env-variable": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/env-variable/-/env-variable-0.0.6.tgz", "integrity": "sha512-bHz59NlBbtS0NhftmR8+ExBEekE7br0e01jw+kk0NDro7TtZzBYZ5ScGPs3OmwnpyfHTHOtr1Y6uedCdrIldtg==" }, - "errno": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", - "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", - "requires": { - "prr": "~1.0.1" - } - }, "es5-ext": { "version": "0.10.53", "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", @@ -2483,13 +10755,6 @@ "es6-iterator": "~2.0.3", "es6-symbol": "~3.1.3", "next-tick": "~1.0.0" - }, - "dependencies": { - "next-tick": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", - "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=" - } } }, "es6-iterator": { @@ -2556,29 +10821,27 @@ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, "escodegen": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.12.1.tgz", - "integrity": "sha512-Q8t2YZ+0e0pc7NRVj3B4tSQ9rim1oi4Fh46k2xhJ2qOiEwhQfdjyEQddWdj7ZFaKmU+5104vn1qrcjEPWq+bgQ==", + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "dev": true, "requires": { - "esprima": "^3.1.3", + "esprima": "^4.0.1", "estraverse": "^4.2.0", "esutils": "^2.0.2", "optionator": "^0.8.1", "source-map": "~0.6.1" }, "dependencies": { - "esprima": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", - "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=" + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true } } }, - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==" - }, "esniff": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/esniff/-/esniff-1.1.0.tgz", @@ -2594,19 +10857,24 @@ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" }, "essentials": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/essentials/-/essentials-1.1.1.tgz", - "integrity": "sha512-SmaxoAdVu86XkZQM/u6TYSu96ZlFGwhvSk1l9zAkznFuQkMb9mRDS2iq/XWDow7R8OwBwdYH8nLyDKznMD+GWw==" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/essentials/-/essentials-1.2.0.tgz", + "integrity": "sha512-kP/j7Iw7KeNE8b/o7+tr9uX2s1wegElGOoGZ2Xm35qBr4BbbEcH3/bxR2nfH9l9JANCq9AUrvKw+gRuHtZp0HQ==", + "requires": { + "uni-global": "^1.0.0" + } }, "estraverse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true }, "esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true }, "event-emitter": { "version": "0.3.5", @@ -2622,83 +10890,23 @@ "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" }, - "execa": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", - "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.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" - }, - "dependencies": { - "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" - } - } + "exit-on-epipe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz", + "integrity": "sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw==" }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "requires": { - "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" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } + "expand-template": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", + "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", + "optional": true }, "ext": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz", - "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.6.0.tgz", + "integrity": "sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg==", "requires": { - "type": "^2.0.0" + "type": "^2.5.0" } }, "ext-list": { @@ -2723,25 +10931,6 @@ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, "external-editor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", @@ -2752,86 +10941,26 @@ "tmp": "^0.0.33" } }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "requires": { - "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" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, "extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" }, "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "fast-glob": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz", - "integrity": "sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", + "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", "requires": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.0", + "glob-parent": "^5.1.2", "merge2": "^1.3.0", - "micromatch": "^4.0.2", - "picomatch": "^2.2.1" + "micromatch": "^4.0.4" } }, "fast-json-stable-stringify": { @@ -2842,17 +10971,18 @@ "fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true }, - "fast-safe-stringify": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz", - "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==" + "fastest-levenshtein": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", + "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==" }, "fastq": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.8.0.tgz", - "integrity": "sha512-SMIZoZdLh/fgofivvIkmknUXyPnvxRE3DhtZ5Me3Mrsk5gyPL42F0xr51TdRXskBxHfMp+07bcYzfsYEsSQA9Q==", + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", "requires": { "reusify": "^1.0.4" } @@ -2866,9 +10996,9 @@ } }, "fecha": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.0.tgz", - "integrity": "sha512-aN3pcx/DSmtyoovUudctc8+6Hl4T+hI9GBBHLjA76jdZl7+b1sgh5g4k+u/GL3dTy1/pnYzKp69FpJ0OicE3Wg==" + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.1.tgz", + "integrity": "sha512-MMMQ0ludy/nBs1/o0zVOiKTpG7qMbonKUzjJgQFEuvq6INZ1OraKPRAWkBq5vlKLOUMpmNYG1JoN3oDPUQ9m3Q==" }, "figures": { "version": "3.2.0", @@ -2878,70 +11008,36 @@ "escape-string-regexp": "^1.0.5" } }, - "file-exists-dazinatorfork": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/file-exists-dazinatorfork/-/file-exists-dazinatorfork-1.0.2.tgz", - "integrity": "sha512-r70c72ln2YHzQINNfxDp02hAhbGkt1HffZ+Du8oetWDLjDtFja/Lm10lUaSh9e+wD+7VDvPee0b0C9SAy8pWZg==" - }, "file-type": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=" }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "optional": true + }, "filename-reserved-regex": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", "integrity": "sha1-q/c9+rc10EVECr/qLZHzieu/oik=" }, "filenamify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-2.1.0.tgz", - "integrity": "sha512-ICw7NTT6RsDp2rnYKVd8Fu4cr6ITzGy3+u4vUujPkabyaz+03F24NWEX7fs5fp+kBonlaqPH8fAO2NM+SXt/JA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-4.3.0.tgz", + "integrity": "sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==", "requires": { "filename-reserved-regex": "^2.0.0", - "strip-outer": "^1.0.0", + "strip-outer": "^1.0.1", "trim-repeated": "^1.0.0" } }, "filesize": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", - "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==" - }, - "filing-cabinet": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/filing-cabinet/-/filing-cabinet-2.5.1.tgz", - "integrity": "sha512-GWOdObzou2L0HrJUk8MpJa01q0ZOwuTwTssM2+P+ABJWEGlVWd6ueEatANFdin94/3rdkVSdqpH14VqCNqp3RA==", - "requires": { - "app-module-path": "^2.2.0", - "commander": "^2.13.0", - "debug": "^4.1.1", - "decomment": "^0.9.2", - "enhanced-resolve": "^4.1.0", - "is-relative-path": "^1.0.2", - "module-definition": "^3.0.0", - "module-lookup-amd": "^6.1.0", - "resolve": "^1.11.1", - "resolve-dependency-path": "^2.0.0", - "sass-lookup": "^3.0.0", - "stylus-lookup": "^3.0.1", - "typescript": "^3.0.3" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } + "version": "8.0.6", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.6.tgz", + "integrity": "sha512-sHvRqTiwdmcuzqet7iVwsbwF6UrV3wIgDf2SHNdY1Hgl8PC45HZg/0xtdw6U2izIV4lccnrY9ftl6wZFNdjYMg==" }, "fill-range": { "version": "7.0.1", @@ -2951,34 +11047,6 @@ "to-regex-range": "^5.0.1" } }, - "find": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/find/-/find-0.3.0.tgz", - "integrity": "sha512-iSd+O4OEYV/I36Zl8MdYJO0xD82wH528SaCieTVHhclgiYNe9y+yPKSwK+A7/WsmHL1EZ+pYUJBXWTL5qofksw==", - "requires": { - "traverse-chain": "~0.1.0" - } - }, - "find-process": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/find-process/-/find-process-1.4.3.tgz", - "integrity": "sha512-+IA+AUsQCf3uucawyTwMWcY+2M3FXq3BRvw3S+j5Jvydjk31f/+NPWpYZOJs+JUs2GvxH4Yfr6Wham0ZtRLlPA==", - "requires": { - "chalk": "^2.0.1", - "commander": "^2.11.0", - "debug": "^2.6.8" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - } - } - }, "find-requires": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/find-requires/-/find-requires-1.0.0.tgz", @@ -2988,31 +11056,15 @@ "esniff": "^1.1.0" } }, - "flat": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.0.tgz", - "integrity": "sha512-6KSMM+cHHzXC/hpldXApL2S8Uz+QZv+tq5o/L0KQYleoG+GcwrnIJhTWC7tCOiKQp8D/fIvryINU1OZCCwevjA==", - "requires": { - "is-buffer": "~2.0.4" - } - }, - "flatten": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.3.tgz", - "integrity": "sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==" + "flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==" }, "follow-redirects": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", - "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", - "requires": { - "debug": "=3.1.0" - } - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + "version": "1.14.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.6.tgz", + "integrity": "sha512-fhUl5EwSJbbl8AR+uYL2KQDxLkdSjZGR36xy46AO7cOMTrCMON6Sa28FmAnC2tRTDbd/Uuzz3aJBv7EBN7JH8A==" }, "forever-agent": { "version": "0.6.1", @@ -3030,69 +11082,48 @@ } }, "formidable": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.2.tgz", - "integrity": "sha512-V8gLm+41I/8kguQ4/o1D3RIHRmhYFG4pnNyonvua+40rqcEmT4+V71yaZ3B457xbbgCsCfjSPi65u/W6vK1U5Q==" + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.6.tgz", + "integrity": "sha512-KcpbcpuLNOwrEjnbpMC0gS+X8ciDoZE1kkqzat4a8vrprf+s9pKNQ/QIwWfbfs4ltgmFl3MD177SNTkve3BwGQ==" }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "requires": { - "map-cache": "^0.2.2" - } + "fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" }, - "from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" } }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" } } }, - "fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" - }, - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "minipass": "^3.0.0" } }, "fs.realpath": { @@ -3101,70 +11132,92 @@ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "fs2": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/fs2/-/fs2-0.3.8.tgz", - "integrity": "sha512-HxOTRiFS3PqwAOmlp1mTwLA+xhQBdaP82b5aBamc/rHKFVyn4qL8YpngaAleD52PNMzBm6TsGOoU/Hq+bAfBhA==", + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/fs2/-/fs2-0.3.9.tgz", + "integrity": "sha512-WsOqncODWRlkjwll+73bAxVW3JPChDgaPX3DT4iTTm73UmG4VgALa7LaFblP232/DN60itkOrPZ8kaP1feksGQ==", "requires": { "d": "^1.0.1", "deferred": "^0.7.11", "es5-ext": "^0.10.53", "event-emitter": "^0.3.5", - "ignore": "^5.1.4", + "ignore": "^5.1.8", "memoizee": "^0.4.14", - "type": "^2.0.0" + "type": "^2.1.0" } }, "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "optional": true }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "get-amd-module-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-amd-module-type/-/get-amd-module-type-3.0.0.tgz", - "integrity": "sha512-99Q7COuACPfVt18zH9N4VAMyb81S6TUgJm2NgV6ERtkh9VIkAaByZkW530wl3lLN5KTtSrK9jVLxYsoP5hQKsw==", - "requires": { - "ast-module-types": "^2.3.2", - "node-source-walk": "^4.0.0" - } - }, - "get-own-enumerable-property-symbols": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", - "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" - }, - "get-proxy": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/get-proxy/-/get-proxy-2.1.0.tgz", - "integrity": "sha512-zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw==", + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "optional": true, "requires": { - "npm-conf": "^1.1.0" + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "optional": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "optional": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "optional": true, + "requires": { + "ansi-regex": "^2.0.0" + } + } } }, "get-stdin": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", - "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==" + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz", + "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==" }, "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", + "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=", "requires": { - "pump": "^3.0.0" + "object-assign": "^4.0.1", + "pinkie-promise": "^2.0.0" } }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" - }, "getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", @@ -3173,10 +11226,16 @@ "assert-plus": "^1.0.0" } }, + "github-from-package": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=", + "optional": true + }, "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -3187,232 +11246,24 @@ } }, "glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "requires": { "is-glob": "^4.0.1" } }, - "glob-to-regexp": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", - "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=" - }, - "global-dirs": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", - "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", - "requires": { - "ini": "^1.3.4" - } - }, "globby": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz", - "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==", - "requires": { - "@types/glob": "^7.1.1", - "array-union": "^1.0.2", - "dir-glob": "^2.2.2", - "fast-glob": "^2.2.6", - "glob": "^7.1.3", - "ignore": "^4.0.3", - "pify": "^4.0.1", - "slash": "^2.0.0" - }, - "dependencies": { - "@nodelib/fs.stat": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", - "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==" - }, - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "requires": { - "array-uniq": "^1.0.1" - } - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "requires": { - "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" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "dir-glob": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", - "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", - "requires": { - "path-type": "^3.0.0" - } - }, - "fast-glob": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", - "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", - "requires": { - "@mrmlnc/readdir-enhanced": "^2.2.1", - "@nodelib/fs.stat": "^1.1.2", - "glob-parent": "^3.1.0", - "is-glob": "^4.0.0", - "merge2": "^1.2.3", - "micromatch": "^3.1.10" - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==" - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "requires": { - "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" - } - }, - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "requires": { - "pify": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" - } - } - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" - }, - "slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==" - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - } - } - }, - "gonzales-pe": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/gonzales-pe/-/gonzales-pe-4.3.0.tgz", - "integrity": "sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ==", + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", + "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", "requires": { - "minimist": "^1.2.5" + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" } }, "got": { @@ -3431,17 +11282,22 @@ "p-cancelable": "^1.0.0", "to-readable-stream": "^1.0.0", "url-parse-lax": "^3.0.0" + }, + "dependencies": { + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "requires": { + "pump": "^3.0.0" + } + } } }, "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" - }, - "graceful-readlink": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", - "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=" + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", + "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==" }, "graphlib": { "version": "2.1.8", @@ -3457,121 +11313,45 @@ "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" }, "har-validator": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", - "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", - "requires": { - "ajv": "^6.5.5", - "har-schema": "^2.0.0" - } - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dev": true, + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", "requires": { - "ansi-regex": "^2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - } - } - }, - "has-binary2": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz", - "integrity": "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==", - "requires": { - "isarray": "2.0.1" - }, - "dependencies": { - "isarray": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" - } - } - }, - "has-cors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", - "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=" - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" - }, - "has-symbol-support-x": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", - "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==" - }, - "has-to-string-tag-x": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", - "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", - "requires": { - "has-symbol-support-x": "^1.4.1" - } - }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "requires": { - "is-buffer": "^1.1.5" - } + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + } + }, + "has-binary2": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz", + "integrity": "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==", + "requires": { + "isarray": "2.0.1" + }, + "dependencies": { + "isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" } } }, + "has-cors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", + "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "optional": true + }, "http-cache-semantics": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", @@ -3587,6 +11367,15 @@ "sshpk": "^1.7.0" } }, + "http2-wrapper": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", + "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", + "requires": { + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.0.0" + } + }, "https-proxy-agent": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", @@ -3594,21 +11383,6 @@ "requires": { "agent-base": "6", "debug": "4" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } } }, "iconv-lite": { @@ -3625,30 +11399,20 @@ "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" }, "ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==" + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==" }, "immediate": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=" }, - "import-lazy": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", - "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=" - }, "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" }, - "indexes-of": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", - "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=" - }, "indexof": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", @@ -3669,74 +11433,150 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" }, "inquirer": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", - "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", - "requires": { - "ansi-escapes": "^3.2.0", - "chalk": "^2.4.2", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.0.tgz", + "integrity": "sha512-0crLweprevJ02tTuA6ThpoAERAGyVILC4sS74uib58Xf/zSr1/ZWtmm7D5CI+bSQEaA04f0K7idaHpQbSWgiVQ==", + "peer": true, + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", "external-editor": "^3.0.3", - "figures": "^2.0.0", - "lodash": "^4.17.12", - "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rxjs": "^6.4.0", - "string-width": "^2.1.0", - "strip-ansi": "^5.1.0", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.4.1", + "run-async": "^2.4.0", + "rxjs": "^7.2.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", "through": "^2.3.6" }, "dependencies": { - "ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==" + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "peer": true, + "requires": { + "color-convert": "^2.0.1" + } }, - "figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "peer": true, "requires": { - "escape-string-regexp": "^1.0.5" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "peer": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "peer": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "peer": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "peer": true, + "requires": { + "has-flag": "^4.0.0" } } } }, - "into-stream": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz", - "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=", - "requires": { - "from2": "^2.1.1", - "p-is-promise": "^1.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "inquirer-autocomplete-prompt": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/inquirer-autocomplete-prompt/-/inquirer-autocomplete-prompt-1.4.0.tgz", + "integrity": "sha512-qHgHyJmbULt4hI+kCmwX92MnSxDs/Yhdt4wPA30qnoa01OF6uTXV8yvH4hKXgdaTNmkZ9D01MHjqKYEuJN+ONw==", "requires": { - "kind-of": "^3.0.2" + "ansi-escapes": "^4.3.1", + "chalk": "^4.0.0", + "figures": "^3.2.0", + "run-async": "^2.4.0", + "rxjs": "^6.6.2" }, "dependencies": { - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "requires": { + "tslib": "^1.9.0" + } }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "requires": { - "is-buffer": "^1.1.5" + "has-flag": "^4.0.0" } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" } } }, @@ -3753,68 +11593,10 @@ "binary-extensions": "^2.0.0" } }, - "is-buffer": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", - "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==" - }, - "is-ci": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", - "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", - "requires": { - "ci-info": "^1.5.0" - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" - } - } - }, "is-docker": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-1.1.0.tgz", - "integrity": "sha1-8EN01O7lMQ6ajhE78UlUEeRhdqE=" - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" }, "is-extglob": { "version": "2.1.1", @@ -3827,93 +11609,34 @@ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" }, "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "requires": { "is-extglob": "^2.1.1" } }, - "is-installed-globally": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz", - "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", - "requires": { - "global-dirs": "^0.1.0", - "is-path-inside": "^1.0.0" - } + "is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "peer": true }, "is-natural-number": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", "integrity": "sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=" }, - "is-npm": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", - "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=" - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=" - }, - "is-object": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz", - "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=" - }, - "is-path-inside": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", - "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", - "requires": { - "path-is-inside": "^1.0.1" - } - }, "is-plain-obj": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "requires": { - "isobject": "^3.0.1" - } - }, "is-promise": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==" }, - "is-redirect": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", - "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=" - }, - "is-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", - "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=" - }, - "is-relative-path": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-relative-path/-/is-relative-path-1.0.2.tgz", - "integrity": "sha1-CRtGoNZ8HtD+hfH4z93gBrslHUY=" - }, - "is-retry-allowed": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", - "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==" - }, "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", @@ -3924,15 +11647,11 @@ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" }, - "is-url": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", - "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==" - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" + "is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "peer": true }, "is-wsl": { "version": "2.2.0", @@ -3940,13 +11659,6 @@ "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", "requires": { "is-docker": "^2.0.0" - }, - "dependencies": { - "is-docker": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.0.0.tgz", - "integrity": "sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ==" - } } }, "isarray": { @@ -3959,64 +11671,26 @@ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" }, - "iso8601-duration": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/iso8601-duration/-/iso8601-duration-1.2.0.tgz", - "integrity": "sha512-ErTBd++b17E8nmWII1K1uZtBgD1E8RjyvwmxlCjPHNqHMD7gmcMHOw0E8Ro/6+QT4PhHRSnnMo7bxa1vFPkwhg==" - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" - }, - "isomorphic-fetch": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", - "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", - "requires": { - "node-fetch": "^1.0.1", - "whatwg-fetch": ">=0.10.0" - }, - "dependencies": { - "node-fetch": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", - "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", - "requires": { - "encoding": "^0.1.11", - "is-stream": "^1.0.1" - } - } - } - }, "isomorphic-ws": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz", - "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==" + "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==", + "requires": {} }, "isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" }, - "isurl": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", - "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", - "requires": { - "has-to-string-tag-x": "^1.2.0", - "is-object": "^1.0.1" - } - }, "jmespath": { "version": "0.15.0", "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.15.0.tgz", "integrity": "sha1-o/Iiqarp+Wb10nx5ZRDigJF2Qhc=" }, "js-yaml": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", - "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "requires": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -4060,9 +11734,9 @@ } }, "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" }, "json-schema-traverse": { "version": "0.4.1", @@ -4074,11 +11748,6 @@ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" }, - "jsonata": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/jsonata/-/jsonata-1.8.3.tgz", - "integrity": "sha512-r6ztI6ohbpRo77AxBm6vMs3aHZi2L2PaakW7TCPwSkeGcuAZ/SxXGLWH2Npwqq5+YBM/fg/g0EXg/pI9HvXQ8Q==" - }, "jsonfile": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", @@ -4088,14 +11757,14 @@ } }, "jsonpath": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/jsonpath/-/jsonpath-1.0.2.tgz", - "integrity": "sha512-rmzlgFZiQPc6q4HDyK8s9Qb4oxBnI5sF61y/Co5PV0lc3q2bIuRsNdueVbhoSHdKM4fxeimphOAtfz47yjCfeA==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/jsonpath/-/jsonpath-1.1.1.tgz", + "integrity": "sha512-l6Cg7jRpixfbgoWgkrl77dgEj8RPvND0wMH6TwQmi9Qs4TFfS9u5cUFnbeKTwj5ga5Y3BTGGNI28k117LJ009w==", "dev": true, "requires": { "esprima": "1.2.2", "static-eval": "2.0.2", - "underscore": "1.7.0" + "underscore": "1.12.1" }, "dependencies": { "esprima": { @@ -4107,20 +11776,20 @@ } }, "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", "requires": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", - "json-schema": "0.2.3", + "json-schema": "0.4.0", "verror": "1.10.0" } }, "jszip": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.5.0.tgz", - "integrity": "sha512-WRtu7TPCmYePR1nazfrtuF216cIVon/3GWOvHS9QR5bIwSbnxtdpma6un3jyGGNhHsKCSzn5Ypk+EkDRvTGiFA==", + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.7.1.tgz", + "integrity": "sha512-ghL0tz1XG9ZEmRMcEN2vt7xabrDdqHHeykgARpmZ0BiIctWxM47Vt63ZO2dnp4QYt/xJVLLy5Zv1l/xRdh2byg==", "requires": { "lie": "~3.3.0", "pako": "~1.0.2", @@ -4162,6 +11831,50 @@ "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-2.2.0.tgz", "integrity": "sha1-fYa9VmefWM5qhHBKZX3TkruoGnk=" }, + "kafka-node": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/kafka-node/-/kafka-node-5.0.0.tgz", + "integrity": "sha512-dD2ga5gLcQhsq1yNoQdy1MU4x4z7YnXM5bcG9SdQuiNr5KKuAmXixH1Mggwdah5o7EfholFbcNDPSVA6BIfaug==", + "requires": { + "async": "^2.6.2", + "binary": "~0.3.0", + "bl": "^2.2.0", + "buffer-crc32": "~0.2.5", + "buffermaker": "~1.2.0", + "debug": "^2.1.3", + "denque": "^1.3.0", + "lodash": "^4.17.4", + "minimatch": "^3.0.2", + "nested-error-stacks": "^2.0.0", + "optional": "^0.1.3", + "retry": "^0.10.1", + "snappy": "^6.0.1", + "uuid": "^3.0.0" + }, + "dependencies": { + "async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "requires": { + "lodash": "^4.17.14" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, "keyv": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", @@ -4170,102 +11883,18 @@ "json-buffer": "3.0.0" } }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" - }, "kuler": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/kuler/-/kuler-1.0.1.tgz", "integrity": "sha512-J9nVUucG1p/skKul6DU3PUZrhs0LPulNaeUOox0IyXDi8S4CztTHs1gQphhuZmzXG7VOQSf6NJfKuzteQLv9gQ==", - "requires": { - "colornames": "^1.1.1" - } - }, - "latest-version": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz", - "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", - "requires": { - "package-json": "^4.0.0" - }, - "dependencies": { - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" - }, - "got": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", - "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", - "requires": { - "create-error-class": "^3.0.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "is-redirect": "^1.0.0", - "is-retry-allowed": "^1.0.0", - "is-stream": "^1.0.0", - "lowercase-keys": "^1.0.0", - "safe-buffer": "^5.0.1", - "timed-out": "^4.0.0", - "unzip-response": "^2.0.1", - "url-parse-lax": "^1.0.0" - } - }, - "package-json": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", - "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", - "requires": { - "got": "^6.7.1", - "registry-auth-token": "^3.0.1", - "registry-url": "^3.0.3", - "semver": "^5.1.0" - } - }, - "prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" - }, - "registry-auth-token": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.4.0.tgz", - "integrity": "sha512-4LM6Fw8eBQdwMYcES4yTnn2TqIasbXuwDx3um+QRs7S55aMKCBKBxvPXl2RiUjHwuJLTyYfxSpmfSAjQpcuP+A==", - "requires": { - "rc": "^1.1.6", - "safe-buffer": "^5.0.1" - } - }, - "registry-url": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", - "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", - "requires": { - "rc": "^1.0.1" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - }, - "url-parse-lax": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", - "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", - "requires": { - "prepend-http": "^1.0.1" - } - } + "requires": { + "colornames": "^1.1.1" } }, "lazystream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", - "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", + "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", "requires": { "readable-stream": "^2.0.5" }, @@ -4303,6 +11932,7 @@ "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, "requires": { "prelude-ls": "~1.1.2", "type-check": "~0.3.2" @@ -4317,9 +11947,9 @@ } }, "lodash": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, "lodash.defaults": { "version": "4.2.0", @@ -4347,48 +11977,126 @@ "integrity": "sha1-SLtQiECfFvGCFmZkHETdGqrjzYg=" }, "log": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/log/-/log-6.0.0.tgz", - "integrity": "sha512-sxChESNYJ/EcQv8C7xpmxhtTOngoXuMEqGDAkhXBEmt3MAzM3SM/TmIBOqnMEVdrOv1+VgZoYbo6U2GemQiU4g==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/log/-/log-6.3.1.tgz", + "integrity": "sha512-McG47rJEWOkXTDioZzQNydAVvZNeEkSyLJ1VWkFwfW+o1knW+QSi8D1KjPn/TnctV+q99lkvJNe1f0E1IjfY2A==", "requires": { - "d": "^1.0.0", + "d": "^1.0.1", "duration": "^0.2.2", - "es5-ext": "^0.10.49", + "es5-ext": "^0.10.53", "event-emitter": "^0.3.5", - "sprintf-kit": "^2.0.0", - "type": "^1.0.1" + "sprintf-kit": "^2.0.1", + "type": "^2.5.0", + "uni-global": "^1.0.0" + } + }, + "log-node": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/log-node/-/log-node-8.0.3.tgz", + "integrity": "sha512-1UBwzgYiCIDFs8A0rM2QdBFo8Wd8UQ0HrSTu/MNI+/2zN3NoHRj2fhplurAyuxTYUXu3Oohugq1jAn5s05u1MQ==", + "requires": { + "ansi-regex": "^5.0.1", + "cli-color": "^2.0.1", + "cli-sprintf-format": "^1.1.1", + "d": "^1.0.1", + "es5-ext": "^0.10.53", + "sprintf-kit": "^2.0.1", + "supports-color": "^8.1.1", + "type": "^2.5.0" }, "dependencies": { - "type": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", - "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "peer": true, + "requires": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "peer": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "peer": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "peer": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "peer": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } } } }, "logform": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/logform/-/logform-2.2.0.tgz", - "integrity": "sha512-N0qPlqfypFx7UHNn4B3lzS/b0uLqt2hmuoa+PpuXNYgozdJYAyauF5Ky0BWVjrxDlMWiT3qN4zPq3vVAfZy7Yg==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/logform/-/logform-2.3.0.tgz", + "integrity": "sha512-graeoWUH2knKbGthMtuG1EfaSPMZFZBIrhuJHhkS5ZseFBrc7DupCzihOQAzsK/qIKPQaPJ/lFQFctILUY5ARQ==", "requires": { "colors": "^1.2.1", - "fast-safe-stringify": "^2.0.4", "fecha": "^4.2.0", "ms": "^2.1.1", + "safe-stable-stringify": "^1.1.0", "triple-beam": "^1.3.0" - }, - "dependencies": { - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } } }, "long": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/long/-/long-1.1.2.tgz", + "integrity": "sha1-6u9ZUcp1UdlpJrgtokLbnWso+1M=" }, "lowercase-keys": { "version": "1.0.1", @@ -4396,12 +12104,11 @@ "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" }, "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "yallist": "^4.0.0" } }, "lru-queue": { @@ -4413,89 +12120,44 @@ } }, "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" + "pify": "^3.0.0" }, "dependencies": { "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" } } }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "requires": { - "object-visit": "^1.0.0" - } + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" }, "memoizee": { - "version": "0.4.14", - "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.14.tgz", - "integrity": "sha512-/SWFvWegAIYAO4NQMpcX+gcra0yEZu4OntmUdrBaWrJncxOqAziGFlHxc7yjKVK2uu3lpPW27P27wkR82wA8mg==", + "version": "0.4.15", + "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.15.tgz", + "integrity": "sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==", "requires": { - "d": "1", - "es5-ext": "^0.10.45", - "es6-weak-map": "^2.0.2", + "d": "^1.0.1", + "es5-ext": "^0.10.53", + "es6-weak-map": "^2.0.3", "event-emitter": "^0.3.5", - "is-promise": "^2.1", - "lru-queue": "0.1", - "next-tick": "1", - "timers-ext": "^0.1.5" - } - }, - "memory-fs": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" + "is-promise": "^2.2.2", + "lru-queue": "^0.1.0", + "next-tick": "^1.1.0", + "timers-ext": "^0.1.7" }, "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } + "next-tick": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", + "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" } } }, @@ -4510,12 +12172,12 @@ "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" }, "micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", "requires": { "braces": "^3.0.1", - "picomatch": "^2.0.5" + "picomatch": "^2.2.3" } }, "mime": { @@ -4524,22 +12186,22 @@ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" }, "mime-db": { - "version": "1.44.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", - "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==" + "version": "1.51.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", + "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==" }, "mime-types": { - "version": "2.1.27", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", - "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", + "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", "requires": { - "mime-db": "1.44.0" + "mime-db": "1.51.0" } }, "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" }, "mimic-response": { "version": "1.0.1", @@ -4559,23 +12221,21 @@ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" }, - "mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "minipass": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz", + "integrity": "sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==", "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "requires": { - "is-plain-object": "^2.0.4" - } - } + "yallist": "^4.0.0" + } + }, + "minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "requires": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" } }, "mkdirp": { @@ -4586,80 +12246,32 @@ "minimist": "^1.2.5" } }, - "module-definition": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/module-definition/-/module-definition-3.3.0.tgz", - "integrity": "sha512-HTplA9xwDzH67XJFC1YvZMUElWJD28DV0dUq7lhTs+JKJamUOWA/CcYWSlhW5amJO66uWtY7XdltT+LfX0wIVg==", - "requires": { - "ast-module-types": "^2.6.0", - "node-source-walk": "^4.0.0" - } - }, - "module-lookup-amd": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/module-lookup-amd/-/module-lookup-amd-6.2.0.tgz", - "integrity": "sha512-uxHCj5Pw9psZiC1znjU2qPsubt6haCSsN9m7xmIdoTciEgfxUkE1vhtDvjHPuOXEZrVJhjKgkmkP+w73rRuelQ==", - "requires": { - "commander": "^2.8.1", - "debug": "^4.1.0", - "file-exists-dazinatorfork": "^1.0.2", - "find": "^0.3.0", - "requirejs": "^2.3.5", - "requirejs-config-file": "^3.1.1" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "moment": { - "version": "2.27.0", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.27.0.tgz", - "integrity": "sha512-al0MUK7cpIcglMv3YF13qSgdAIqxHTO7brRtaz3DlSULbqfazqkc5kEjNrLDOM7fsjshoFIihnU8snrP7zUvhQ==" - }, "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "mute-stream": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", - "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=" + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" + }, + "nan": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", + "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==", + "optional": true }, "nanoid": { "version": "2.1.11", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-2.1.11.tgz", "integrity": "sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA==" }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "requires": { - "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" - } + "napi-build-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", + "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==", + "optional": true }, "native-promise-only": { "version": "0.8.1", @@ -4667,29 +12279,51 @@ "integrity": "sha1-IKMYwwy0X3H+et+/eyHJnBRy7xE=" }, "ncjsm": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/ncjsm/-/ncjsm-4.0.1.tgz", - "integrity": "sha512-gxh5Sgait8HyclaulfhgetHQGyhFm00ZQqISIfqtwFVnyWJ20rk+55SUamo9n3KhM6Vk63gemKPxIDYiSV/xZw==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/ncjsm/-/ncjsm-4.2.0.tgz", + "integrity": "sha512-L2Qij4PTy7Bs4TB24zs7FLIAYJTaR5JPvSig5hIcO059LnMCNgy6MfHHNyg8s/aekPKrTqKX90gBGt3NNGvhdw==", "requires": { - "builtin-modules": "^3.1.0", + "builtin-modules": "^3.2.0", "deferred": "^0.7.11", - "es5-ext": "^0.10.51", + "es5-ext": "^0.10.53", "es6-set": "^0.1.5", "find-requires": "^1.0.0", - "fs2": "^0.3.6", - "type": "^2.0.0" + "fs2": "^0.3.9", + "type": "^2.5.0" } }, + "nested-error-stacks": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-2.1.0.tgz", + "integrity": "sha512-AO81vsIO1k1sM4Zrd6Hu7regmJN1NSiAja10gc4bX3F0wd+9rQmcuHQaHVQCYIEC8iFXnE+mavh23GOt7wBgug==" + }, "next-tick": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", - "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", + "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=" }, "nice-try": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" }, + "node-abi": { + "version": "2.30.1", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.30.1.tgz", + "integrity": "sha512-/2D0wOQPgaUWzVSVgRMx+trKJRC2UG4SUc4oCJoXx9Uxjtp0Vy3/kt7zcbxHF8+Z/pK3UloLWzBISg72brfy1w==", + "optional": true, + "requires": { + "semver": "^5.4.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "optional": true + } + } + }, "node-dir": { "version": "0.1.17", "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", @@ -4699,51 +12333,46 @@ } }, "node-fetch": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", - "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==" - }, - "node-source-walk": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/node-source-walk/-/node-source-walk-4.2.0.tgz", - "integrity": "sha512-hPs/QMe6zS94f5+jG3kk9E7TNm4P2SulrKiLWMzKszBfNZvL/V6wseHlTd7IvfW0NZWqPtK3+9yYNr+3USGteA==", + "version": "2.6.6", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.6.tgz", + "integrity": "sha512-Z8/6vRlTUChSdIgMa51jxQ4lrw/Jy5SOW10ObaA47/RElsAN2c5Pn8bTgFGWn/ibwzXTE8qwr1Yzx28vsecXEA==", "requires": { - "@babel/parser": "^7.0.0" + "whatwg-url": "^5.0.0" } }, + "noop-logger": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz", + "integrity": "sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI=", + "optional": true + }, "normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" }, "normalize-url": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", - "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==" + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", + "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==" }, - "npm-conf": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz", - "integrity": "sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==", + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "optional": true, "requires": { - "config-chain": "^1.1.11", - "pify": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" - } + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" } }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "requires": { - "path-key": "^2.0.0" - } + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "optional": true }, "oauth-sign": { "version": "0.9.0", @@ -4755,69 +12384,10 @@ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" }, - "object-component": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz", - "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=" - }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, "object-hash": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.0.3.tgz", - "integrity": "sha512-JPKn0GMu+Fa3zt3Bmr66JhokJU5BaNBIh4ZeTlaCBzrBsOeXzwcKKAK1tbLiPKgvwmPXsDvvLHoWh5Bm7ofIYg==" - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" - }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "requires": { - "isobject": "^3.0.0" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "requires": { - "isobject": "^3.0.1" - } + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", + "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==" }, "once": { "version": "1.4.0", @@ -4833,56 +12403,135 @@ "integrity": "sha1-+M33eISCb+Tf+T46nMN7HkSAdC4=" }, "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "requires": { - "mimic-fn": "^1.0.0" + "mimic-fn": "^2.1.0" } }, "open": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/open/-/open-7.0.4.tgz", - "integrity": "sha512-brSA+/yq+b08Hsr4c8fsEW2CRzk1BmfN3SAK/5VCHQ9bdoZJ4qa/+AfR0xHjlbbZUyPkUHs1b8x1RqdyZdkVqQ==", + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", + "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", "requires": { "is-docker": "^2.0.0", "is-wsl": "^2.1.1" - }, - "dependencies": { - "is-docker": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.0.0.tgz", - "integrity": "sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ==" - } } }, - "opn": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", - "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", + "optional": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/optional/-/optional-0.1.4.tgz", + "integrity": "sha512-gtvrrCfkE08wKcgXaVwQVgwEQ8vel2dc5DDBn9RLQZ3YtmtkBss6A2HY6BnJH4N/4Ku97Ri/SF8sNWE2225WJw==" + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, "requires": { - "is-wsl": "^1.1.0" + "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" + } + }, + "ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "peer": true, + "requires": { + "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" }, "dependencies": { - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "peer": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "peer": true, + "requires": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "peer": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "peer": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "peer": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "peer": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } } } }, - "optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - } + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "optional": true }, "os-tmpdir": { "version": "1.0.2", @@ -4895,11 +12544,11 @@ "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==" }, "p-event": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/p-event/-/p-event-2.3.1.tgz", - "integrity": "sha512-NQCqOFhbpVTMX4qMe8PF8lbGtzZ+LCiN7pcNrb/413Na7+TRoe1xkKUzuWa/YEJdGQ0FvKtj35EEbDoVPO2kbA==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/p-event/-/p-event-4.2.0.tgz", + "integrity": "sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==", "requires": { - "p-timeout": "^2.0.1" + "p-timeout": "^3.1.0" } }, "p-finally": { @@ -4907,32 +12556,14 @@ "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" }, - "p-is-promise": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", - "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=" - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, "p-timeout": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz", - "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", + "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", "requires": { "p-finally": "^1.0.0" } }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" - }, "package-json": { "version": "6.5.0", "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", @@ -4950,41 +12581,20 @@ "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" }, "parseqs": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz", - "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=", - "requires": { - "better-assert": "~1.0.0" - } + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.6.tgz", + "integrity": "sha512-jeAGzMDbfSHHA091hr0r31eYfTig+29g3GKKE/PPbEQ65X0lmMwlEoqmhzu0iztID5uJpZsFlUPDP8ThPL7M8w==" }, "parseuri": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz", - "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=", - "requires": { - "better-assert": "~1.0.0" - } - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" - }, - "path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.6.tgz", + "integrity": "sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow==" }, "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, - "path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=" - }, "path-key": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", @@ -4999,16 +12609,21 @@ "superagent": "^3.8.3" } }, - "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" - }, "path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" }, + "path2": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/path2/-/path2-0.1.0.tgz", + "integrity": "sha1-Y5golCzb2kSkGkWwdK6Ic0g7Tvo=" + }, + "peek-readable": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-4.0.2.tgz", + "integrity": "sha512-9fMaz6zoxw9ypO1KZy5RDJgSupEtu0Q+g/OqqsVHX3rKGR8qehRLYzsFARZ4bVvdvfknKiXvuDbkMnO1g6cRpQ==" + }, "pend": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", @@ -5020,14 +12635,14 @@ "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" }, "picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==" + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", + "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==" }, "pify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz", - "integrity": "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==" + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" }, "pinkie": { "version": "2.0.4", @@ -5042,85 +12657,47 @@ "pinkie": "^2.0.0" } }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" - }, - "postcss": { - "version": "7.0.32", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.32.tgz", - "integrity": "sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==", - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "dependencies": { - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "postcss-values-parser": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/postcss-values-parser/-/postcss-values-parser-1.5.0.tgz", - "integrity": "sha512-3M3p+2gMp0AH3da530TlX8kiO1nxdTnc3C6vr8dMxRLIlh8UYkz0/wcwptSXjhtx2Fr0TySI7a+BHDQ8NL7LaQ==", + "prebuild-install": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-5.3.0.tgz", + "integrity": "sha512-aaLVANlj4HgZweKttFNUVNRxDukytuIuxeK2boIMHjagNJCiVKWFsKF4tCE3ql3GbrD2tExPQ7/pwtEJcHNZeg==", + "optional": true, "requires": { - "flatten": "^1.0.2", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - }, - "precinct": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/precinct/-/precinct-6.3.1.tgz", - "integrity": "sha512-JAwyLCgTylWminoD7V0VJwMElWmwrVSR6r9HaPWCoswkB4iFzX7aNtO7VBfAVPy+NhmjKb8IF8UmlWJXzUkOIQ==", - "requires": { - "commander": "^2.20.3", - "debug": "^4.1.1", - "detective-amd": "^3.0.0", - "detective-cjs": "^3.1.1", - "detective-es6": "^2.1.0", - "detective-less": "^1.0.2", - "detective-postcss": "^3.0.1", - "detective-sass": "^3.0.1", - "detective-scss": "^2.0.1", - "detective-stylus": "^1.0.0", - "detective-typescript": "^5.8.0", - "module-definition": "^3.3.0", - "node-source-walk": "^4.2.0" + "detect-libc": "^1.0.3", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.0", + "mkdirp": "^0.5.1", + "napi-build-utils": "^1.0.1", + "node-abi": "^2.7.0", + "noop-logger": "^0.1.1", + "npmlog": "^4.0.1", + "os-homedir": "^1.0.1", + "pump": "^2.0.1", + "rc": "^1.2.7", + "simple-get": "^2.7.0", + "tar-fs": "^1.13.0", + "tunnel-agent": "^0.6.0", + "which-pm-runs": "^1.0.0" }, "dependencies": { - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "optional": true, "requires": { - "ms": "^2.1.1" + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" } } }, "prelude-ls": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true }, "prepend-http": { "version": "2.0.0", @@ -5135,27 +12712,45 @@ "colors": "1.3.x", "commander": "2.19.x", "lodash": "4.17.x" + }, + "dependencies": { + "commander": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", + "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==" + } } }, + "printj": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/printj/-/printj-1.1.2.tgz", + "integrity": "sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ==" + }, "process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, + "process-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/process-utils/-/process-utils-4.0.0.tgz", + "integrity": "sha512-fMyMQbKCxX51YxR7YGCzPjLsU3yDzXFkP4oi1/Mt5Ixnk7GO/7uUTj8mrCHUwuvozWzI+V7QSJR9cZYnwNOZPg==", + "requires": { + "ext": "^1.4.0", + "fs2": "^0.3.9", + "memoizee": "^0.4.14", + "type": "^2.1.0" + } + }, "promise-queue": { "version": "2.2.5", "resolved": "https://registry.npmjs.org/promise-queue/-/promise-queue-2.2.5.tgz", "integrity": "sha1-L29ffA9tCBCelnZZx5uIqe1ek7Q=" }, - "proto-list": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", - "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=" - }, "protobufjs": { - "version": "6.9.0", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.9.0.tgz", - "integrity": "sha512-LlGVfEWDXoI/STstRDdZZKb/qusoAWUnmLg9R8OLSO473mBLWHowx8clbX5/+mKDEI+v7GzjoK9tRPZMMcoTrg==", + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.2.tgz", + "integrity": "sha512-4BQJoPooKJl2G9j3XftkIXjoC9C0Av2NOrWmbLWT1vH32GcSUHjM0Arra6UfTsVyfMAuFzaLucXn1sadxJydAw==", "requires": { "@protobufjs/aspromise": "^1.1.2", "@protobufjs/base64": "^1.1.2", @@ -5168,27 +12763,17 @@ "@protobufjs/pool": "^1.1.0", "@protobufjs/utf8": "^1.1.0", "@types/long": "^4.0.1", - "@types/node": "^13.7.0", + "@types/node": ">=13.7.0", "long": "^4.0.0" }, "dependencies": { - "@types/node": { - "version": "13.13.12", - "resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.12.tgz", - "integrity": "sha512-zWz/8NEPxoXNT9YyF2osqyA9WjssZukYpgI4UYZpOjcyqwIUqWGkcCionaEb9Ki+FULyPyvNFpg/329Kd2/pbw==" + "long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" } } }, - "prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" - }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" - }, "psl": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", @@ -5204,29 +12789,34 @@ } }, "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + }, + "qrcode-terminal": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/qrcode-terminal/-/qrcode-terminal-0.12.0.tgz", + "integrity": "sha512-EXtzRZmC+YGmGlDFbXKxQiMZNwCLEO6BANKXG4iCtSIM0yqc/pappSx3RIKr4r0uh5JsBckOXeKrB3Iz7mdQpQ==" }, "qs": { "version": "6.5.2", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" }, - "query-string": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", - "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", - "requires": { - "decode-uri-component": "^0.2.0", - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" - } - }, "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.1.tgz", + "integrity": "sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==" + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" + }, + "quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==" }, "ramda": { "version": "0.26.1", @@ -5254,32 +12844,34 @@ "util-deprecate": "^1.0.1" } }, - "readdirp": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz", - "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==", + "readable-web-to-node-stream": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz", + "integrity": "sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==", "requires": { - "picomatch": "^2.2.1" + "readable-stream": "^3.6.0" } }, - "regenerator-runtime": { - "version": "0.13.5", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", - "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==" + "readdir-glob": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.1.tgz", + "integrity": "sha512-91/k1EzZwDx6HbERR+zucygRFfiPl2zkIYZtv3Jjr6Mn7SkKcVct8aVO+sSRiGMc6fLf72du3d92/uY63YPdEA==", + "requires": { + "minimatch": "^3.0.4" + } }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" + "picomatch": "^2.2.1" } }, "registry-auth-token": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.1.1.tgz", - "integrity": "sha512-9bKS7nTl9+/A1s7tnPeGrUpRcVY+LUh7bfFgzpndALdPfXQBfQV77rQVtqgUV3ti4vc/Ik81Ex8UJDWDQ12zQA==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.1.tgz", + "integrity": "sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==", "requires": { "rc": "^1.2.8" } @@ -5292,16 +12884,6 @@ "rc": "^1.2.8" } }, - "repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==" - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" - }, "replaceall": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/replaceall/-/replaceall-0.1.6.tgz", @@ -5347,55 +12929,27 @@ } }, "request-promise-core": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.3.tgz", - "integrity": "sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", + "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", "requires": { - "lodash": "^4.17.15" + "lodash": "^4.17.19" } }, "request-promise-native": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.8.tgz", - "integrity": "sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ==", + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", + "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", "requires": { - "request-promise-core": "1.1.3", + "request-promise-core": "1.1.4", "stealthy-require": "^1.1.1", "tough-cookie": "^2.3.3" } }, - "requirejs": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/requirejs/-/requirejs-2.3.6.tgz", - "integrity": "sha512-ipEzlWQe6RK3jkzikgCupiTbTvm4S0/CAU5GlgptkN5SO6F3u0UD0K18wy6ErDqiCyP4J4YYe1HuAShvsxePLg==" - }, - "requirejs-config-file": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/requirejs-config-file/-/requirejs-config-file-3.1.2.tgz", - "integrity": "sha512-sdLWywcDuNz7EIOhenSbRfT4YF84nItDv90coN2htbokjmU2QeyQuSBZILQUKNksepl8UPVU+hgYySFaDxbJPQ==", - "requires": { - "esprima": "^4.0.0", - "make-dir": "^2.1.0", - "stringify-object": "^3.2.1" - } - }, - "resolve": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", - "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", - "requires": { - "path-parse": "^1.0.6" - } - }, - "resolve-dependency-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-dependency-path/-/resolve-dependency-path-2.0.0.tgz", - "integrity": "sha512-DIgu+0Dv+6v2XwRaNWnumKu7GPufBBOr5I1gRPJHkvghrfCGOooJODFvgFimX/KRxk9j0whD2MnKHzM1jYvk9w==" - }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + "resolve-alpn": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", + "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==" }, "responselike": { "version": "1.0.2", @@ -5406,18 +12960,18 @@ } }, "restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", "requires": { - "onetime": "^2.0.0", + "onetime": "^5.1.0", "signal-exit": "^3.0.2" } }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" + "retry": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz", + "integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q=" }, "reusify": { "version": "1.0.4", @@ -5430,16 +12984,28 @@ "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==" }, "run-parallel": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz", - "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "run-parallel-limit": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/run-parallel-limit/-/run-parallel-limit-1.1.0.tgz", + "integrity": "sha512-jJA7irRNM91jaKc3Hcl1npHsFLOXOoTkPCUL1JEa1R82O2miplXXRaGdjW/KM/98YQWDhJLiSs793CnXfblJUw==", + "requires": { + "queue-microtask": "^1.2.2" + } }, "rxjs": { - "version": "6.5.5", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz", - "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==", + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.4.0.tgz", + "integrity": "sha512-7SQDi7xeTMCJpqViXh8gL/lebcwlp3d831F05+9B44A4B0WfsEwUQHR64gsH1kvJ+Ep/J9K2+n1hVl1CsGN23w==", + "peer": true, "requires": { - "tslib": "^1.9.0" + "tslib": "~2.1.0" } }, "safe-buffer": { @@ -5447,47 +13013,33 @@ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "requires": { - "ret": "~0.1.10" - } + "safe-stable-stringify": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-1.1.1.tgz", + "integrity": "sha512-ERq4hUjKDbJfE4+XtZLFPCDi8Vb1JqaxAPTxWFLBx8XcAlf9Bda/ZJdVezs/NAfsMQScyIlUMx+Yeu7P7rx5jw==" }, "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, - "sass-lookup": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/sass-lookup/-/sass-lookup-3.0.0.tgz", - "integrity": "sha512-TTsus8CfFRn1N44bvdEai1no6PqdmDiQUiqW5DlpmtT+tYnIt1tXtDIph5KA1efC+LmioJXSnCtUVpcK9gaKIg==", - "requires": { - "commander": "^2.16.0" - } - }, "sax": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", "integrity": "sha1-e45lYZCyKOgaZq6nSEgNgozS03o=" }, "seek-bzip": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.5.tgz", - "integrity": "sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w=", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz", + "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==", "requires": { - "commander": "~2.8.1" + "commander": "^2.8.1" }, "dependencies": { "commander": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", - "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=", - "requires": { - "graceful-readlink": ">= 1.0.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==" } } }, @@ -5496,232 +13048,741 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" }, - "semver-diff": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", - "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", - "requires": { - "semver": "^5.0.3" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } - } - }, - "semver-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-2.0.0.tgz", - "integrity": "sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw==" - }, "serverless": { - "version": "1.74.0", - "resolved": "https://registry.npmjs.org/serverless/-/serverless-1.74.0.tgz", - "integrity": "sha512-aTnGVxGJ3J5hMFlHFUorhqOkshN933ZclRcJe7C9JGJ8ot7KDAmudRgvOB2/jzHL2t6LoutpTmCuyNllxy8ESA==", - "requires": { - "@serverless/cli": "^1.5.1", - "@serverless/components": "^2.31.4", - "@serverless/enterprise-plugin": "^3.6.13", - "@serverless/inquirer": "^1.1.2", - "@serverless/utils": "^1.2.0", - "archiver": "^3.1.1", - "async": "^1.5.2", - "aws-sdk": "^2.705.0", + "version": "2.69.1", + "resolved": "https://registry.npmjs.org/serverless/-/serverless-2.69.1.tgz", + "integrity": "sha512-pHHr8l6BDDzHIcFqdXDNGIrEbtcm4Lf0dlE3nuHVvmADET+rdl5aOWem9JaHA75cyICybm8oj8FhhtJIt5Uotw==", + "requires": { + "@serverless/cli": "^1.5.3", + "@serverless/components": "^3.18.1", + "@serverless/dashboard-plugin": "^5.5.1", + "@serverless/platform-client": "^4.3.0", + "@serverless/utils": "^5.20.1", + "ajv": "^6.12.6", + "ajv-keywords": "^3.5.2", + "archiver": "^5.3.0", + "aws-sdk": "^2.1046.0", "bluebird": "^3.7.2", - "boxen": "^3.2.0", + "boxen": "^5.1.2", "cachedir": "^2.3.0", - "chalk": "^2.4.2", + "chalk": "^4.1.2", "child-process-ext": "^2.1.1", + "ci-info": "^3.3.0", + "cli-progress-footer": "^2.3.0", "d": "^1.0.1", - "dayjs": "^1.8.28", + "dayjs": "^1.10.7", "decompress": "^4.2.1", - "download": "^7.1.0", + "dotenv": "^10.0.0", + "dotenv-expand": "^5.1.0", "essentials": "^1.1.1", - "fast-levenshtein": "^2.0.6", - "filesize": "^3.6.1", - "fs-extra": "^8.1.0", - "get-stdin": "^6.0.0", - "globby": "^9.2.0", - "graceful-fs": "^4.2.4", + "ext": "^1.6.0", + "fastest-levenshtein": "^1.0.12", + "filesize": "^8.0.6", + "fs-extra": "^9.1.0", + "get-stdin": "^8.0.0", + "globby": "^11.0.4", + "got": "^11.8.3", + "graceful-fs": "^4.2.8", "https-proxy-agent": "^5.0.0", - "is-docker": "^1.1.0", + "is-docker": "^2.2.1", "is-wsl": "^2.2.0", - "js-yaml": "^3.14.0", + "js-yaml": "^4.1.0", "json-cycle": "^1.3.0", "json-refs": "^3.0.15", - "jwt-decode": "^2.2.0", - "lodash": "^4.17.15", - "memoizee": "^0.4.14", - "mkdirp": "^0.5.4", - "nanomatch": "^1.2.13", - "ncjsm": "^4.0.1", - "node-fetch": "^2.6.0", - "object-hash": "^2.0.3", - "p-limit": "^2.3.0", + "lodash": "^4.17.21", + "memoizee": "^0.4.15", + "micromatch": "^4.0.4", + "ncjsm": "^4.2.0", + "node-fetch": "^2.6.6", + "object-hash": "^2.2.0", + "path2": "^0.1.0", + "process-utils": "^4.0.0", "promise-queue": "^2.2.5", - "rc": "^1.2.8", "replaceall": "^0.1.6", - "semver": "^6.3.0", - "semver-regex": "^2.0.0", - "stream-promise": "^3.2.0", + "semver": "^7.3.5", + "signal-exit": "^3.0.6", + "strip-ansi": "^6.0.1", "tabtab": "^3.0.2", - "type": "^2.0.0", - "untildify": "^3.0.3", - "update-notifier": "^2.5.0", - "uuid": "^3.4.0", - "write-file-atomic": "^2.4.3", - "yaml-ast-parser": "0.0.43", - "yargs-parser": "^18.1.3" + "tar": "^6.1.11", + "timers-ext": "^0.1.7", + "type": "^2.5.0", + "untildify": "^4.0.0", + "uuid": "^8.3.2", + "yaml-ast-parser": "0.0.43" }, "dependencies": { - "@serverless/cli": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/@serverless/cli/-/cli-1.5.1.tgz", - "integrity": "sha512-YUVPGutE8VEbIPCb6aHfePec5kKA1iaiMyLb8snXWYDLy/EWW1Dkff/DiLgeNEy6jqV4n+9lng92re+tMi+U6g==", + "@serverless/utils": { + "version": "5.20.2", + "resolved": "https://registry.npmjs.org/@serverless/utils/-/utils-5.20.2.tgz", + "integrity": "sha512-u7+oVwbq1BunmLI0T9egRL93Xg3TGxNsqogXqzxSLtjMWiImsadv3/gUJfXz/wTI9VXfbtQZvsVYMaRpS0JiqA==", + "requires": { + "archive-type": "^4.0.0", + "chalk": "^4.1.2", + "ci-info": "^3.3.0", + "cli-progress-footer": "^2.3.0", + "content-disposition": "^0.5.4", + "d": "^1.0.1", + "decompress": "^4.2.1", + "event-emitter": "^0.3.5", + "ext": "^1.6.0", + "ext-name": "^5.0.0", + "file-type": "^16.5.3", + "filenamify": "^4.3.0", + "get-stream": "^6.0.1", + "got": "^11.8.3", + "inquirer": "^7.3.3", + "js-yaml": "^4.1.0", + "jwt-decode": "^3.1.2", + "lodash": "^4.17.21", + "log": "^6.3.1", + "log-node": "^8.0.2", + "make-dir": "^3.1.0", + "memoizee": "^0.4.15", + "ncjsm": "^4.2.0", + "p-event": "^4.2.0", + "supports-color": "^8.1.1", + "type": "^2.5.0", + "uni-global": "^1.0.0", + "uuid": "^8.3.2", + "write-file-atomic": "^3.0.3" + } + }, + "@sindresorhus/is": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.2.0.tgz", + "integrity": "sha512-VkE3KLBmJwcCaVARtQpfuKcKv8gcBmUubrfHGF84dXuuW6jgsRYxPtzcIhPyK9WAPpRt2/xY6zkD9MnRaJzSyw==" + }, + "@szmarczak/http-timer": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", + "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", + "requires": { + "defer-to-connect": "^2.0.0" + } + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "cacheable-request": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz", + "integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==", + "requires": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^4.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^6.0.1", + "responselike": "^2.0.0" + }, + "dependencies": { + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "requires": { + "pump": "^3.0.0" + } + } + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "requires": { - "@serverless/core": "^1.1.2", - "@serverless/template": "^1.1.3", - "@serverless/utils": "^1.1.0", - "ansi-escapes": "^4.3.1", - "chalk": "^2.4.2", - "chokidar": "^3.4.0", - "dotenv": "^8.2.0", - "figures": "^3.2.0", - "minimist": "^1.2.5", - "prettyoutput": "^1.2.0", - "strip-ansi": "^5.2.0" - } - }, - "aws-sdk": { - "version": "2.706.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.706.0.tgz", - "integrity": "sha512-7GT+yrB5Wb/zOReRdv/Pzkb2Qt+hz6B/8FGMVaoysX3NryHvQUdz7EQWi5yhg9CxOjKxdw5lFwYSs69YlSp1KA==", - "requires": { - "buffer": "4.9.2", - "events": "1.1.1", - "ieee754": "1.1.13", - "jmespath": "0.15.0", - "querystring": "0.2.0", - "sax": "1.2.1", - "url": "0.10.3", - "uuid": "3.3.2", - "xml2js": "0.4.19" + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "requires": { + "mimic-response": "^3.1.0" + } + }, + "defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==" + }, + "dotenv": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==" + }, + "file-type": { + "version": "16.5.3", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-16.5.3.tgz", + "integrity": "sha512-uVsl7iFhHSOY4bEONLlTK47iAHtNsFHWP5YE4xJfZ4rnX7S1Q3wce09XgqSC7E/xh8Ncv/be1lNoyprlUH/x6A==", + "requires": { + "readable-web-to-node-stream": "^3.0.0", + "strtok3": "^6.2.4", + "token-types": "^4.1.1" + } + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" + }, + "got": { + "version": "11.8.3", + "resolved": "https://registry.npmjs.org/got/-/got-11.8.3.tgz", + "integrity": "sha512-7gtQ5KiPh1RtGS9/Jbv1ofDpBFuq42gyfEib+ejaRBJuj/3tQFeR5+gw57e4ipaU8c/rCjvX6fkQz2lyDlGAOg==", + "requires": { + "@sindresorhus/is": "^4.0.0", + "@szmarczak/http-timer": "^4.0.5", + "@types/cacheable-request": "^6.0.1", + "@types/responselike": "^1.0.0", + "cacheable-lookup": "^5.0.3", + "cacheable-request": "^7.0.2", + "decompress-response": "^6.0.0", + "http2-wrapper": "^1.0.0-beta.5.2", + "lowercase-keys": "^2.0.0", + "p-cancelable": "^2.0.0", + "responselike": "^2.0.0" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "inquirer": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", + "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.19", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.6.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + } + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "requires": { + "argparse": "^2.0.1" + } + }, + "json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" + }, + "jwt-decode": { + "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==" + }, + "keyv": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.0.4.tgz", + "integrity": "sha512-vqNHbAc8BBsxk+7QBYLW0Y219rWcClspR6WSeoHYKG5mnsSoOH+BL1pWq02DDCVdvvuUny5rkBlzMRzoqc+GIg==", + "requires": { + "json-buffer": "3.0.1" + } + }, + "lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "requires": { + "semver": "^6.0.0" }, "dependencies": { - "uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" } } }, - "buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==" + }, + "normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==" + }, + "p-cancelable": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", + "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==" + }, + "responselike": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.0.tgz", + "integrity": "sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw==", + "requires": { + "lowercase-keys": "^2.0.0" + } + }, + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "requires": { + "tslib": "^1.9.0" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "requires": { + "lru-cache": "^6.0.0" + } + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==" + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" } } } }, "serverless-iam-roles-per-function": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/serverless-iam-roles-per-function/-/serverless-iam-roles-per-function-2.0.2.tgz", - "integrity": "sha512-3zv4Af3x7KJHC4fuJMHniEEstCljMghReaYIg94Spdsqkhiy8GJ3yfJ5Jy+wiG/DvyObK91JJNMjLhDnDc+vCQ==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/serverless-iam-roles-per-function/-/serverless-iam-roles-per-function-3.2.0.tgz", + "integrity": "sha512-AXmxACHEUsDcFDcv8QNwDgn2L0brRJ7pz/phD3lFB/wQ3TtPJkorC+J7PxgFQbaWIQk15EIlU83BtKXeQoPTAg==", "dev": true, "requires": { - "lodash": "^4.17.15" + "lodash": "^4.17.20" } }, "serverless-step-functions": { - "version": "2.17.0", - "resolved": "https://registry.npmjs.org/serverless-step-functions/-/serverless-step-functions-2.17.0.tgz", - "integrity": "sha512-iCBPE8vz166a+b+1blY/MDKRHoo43NyQIDE1BoxaCxgqvGMkholtWTkdqOC0F5WWg2hVENWeQ3gLTWFqZBwXsQ==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/serverless-step-functions/-/serverless-step-functions-3.5.1.tgz", + "integrity": "sha512-ACDGK6f0OerG7UH0QNZ8lO4f2t4MrSwuEyMjNWE0pUcD0GugS1aHJhdtGADfJ7yvL6yVA3BRU2x8IlaWNrvOrA==", "dev": true, "requires": { "@hapi/joi": "^15.0.2", - "asl-validator": "^1.5.0", - "aws-sdk": "^2.282.1", + "@serverless/utils": "^5.20.1", + "asl-validator": "^1.9.8", "bluebird": "^3.4.0", - "chalk": "^1.1.1", - "chance": "^1.0.18", - "lodash": "^4.17.11", - "serverless": "^1.46.1" + "chalk": "^4.1.2", + "lodash": "^4.17.11" }, "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "@serverless/utils": { + "version": "5.20.2", + "resolved": "https://registry.npmjs.org/@serverless/utils/-/utils-5.20.2.tgz", + "integrity": "sha512-u7+oVwbq1BunmLI0T9egRL93Xg3TGxNsqogXqzxSLtjMWiImsadv3/gUJfXz/wTI9VXfbtQZvsVYMaRpS0JiqA==", + "dev": true, + "requires": { + "archive-type": "^4.0.0", + "chalk": "^4.1.2", + "ci-info": "^3.3.0", + "cli-progress-footer": "^2.3.0", + "content-disposition": "^0.5.4", + "d": "^1.0.1", + "decompress": "^4.2.1", + "event-emitter": "^0.3.5", + "ext": "^1.6.0", + "ext-name": "^5.0.0", + "file-type": "^16.5.3", + "filenamify": "^4.3.0", + "get-stream": "^6.0.1", + "got": "^11.8.3", + "inquirer": "^7.3.3", + "js-yaml": "^4.1.0", + "jwt-decode": "^3.1.2", + "lodash": "^4.17.21", + "log": "^6.3.1", + "log-node": "^8.0.2", + "make-dir": "^3.1.0", + "memoizee": "^0.4.15", + "ncjsm": "^4.2.0", + "p-event": "^4.2.0", + "supports-color": "^8.1.1", + "type": "^2.5.0", + "uni-global": "^1.0.0", + "uuid": "^8.3.2", + "write-file-atomic": "^3.0.3" + } + }, + "@sindresorhus/is": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.2.0.tgz", + "integrity": "sha512-VkE3KLBmJwcCaVARtQpfuKcKv8gcBmUubrfHGF84dXuuW6jgsRYxPtzcIhPyK9WAPpRt2/xY6zkD9MnRaJzSyw==", "dev": true }, + "@szmarczak/http-timer": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", + "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", + "dev": true, + "requires": { + "defer-to-connect": "^2.0.0" + } + }, "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, + "cacheable-request": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz", + "integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==", + "dev": true, + "requires": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^4.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^6.0.1", + "responselike": "^2.0.0" + }, + "dependencies": { + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + } + } + }, "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "color-name": "~1.1.4" } }, - "strip-ansi": { + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dev": true, + "requires": { + "mimic-response": "^3.1.0" + } + }, + "defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", + "dev": true + }, + "file-type": { + "version": "16.5.3", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-16.5.3.tgz", + "integrity": "sha512-uVsl7iFhHSOY4bEONLlTK47iAHtNsFHWP5YE4xJfZ4rnX7S1Q3wce09XgqSC7E/xh8Ncv/be1lNoyprlUH/x6A==", + "dev": true, + "requires": { + "readable-web-to-node-stream": "^3.0.0", + "strtok3": "^6.2.4", + "token-types": "^4.1.1" + } + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true + }, + "got": { + "version": "11.8.3", + "resolved": "https://registry.npmjs.org/got/-/got-11.8.3.tgz", + "integrity": "sha512-7gtQ5KiPh1RtGS9/Jbv1ofDpBFuq42gyfEib+ejaRBJuj/3tQFeR5+gw57e4ipaU8c/rCjvX6fkQz2lyDlGAOg==", + "dev": true, + "requires": { + "@sindresorhus/is": "^4.0.0", + "@szmarczak/http-timer": "^4.0.5", + "@types/cacheable-request": "^6.0.1", + "@types/responselike": "^1.0.0", + "cacheable-lookup": "^5.0.3", + "cacheable-request": "^7.0.2", + "decompress-response": "^6.0.0", + "http2-wrapper": "^1.0.0-beta.5.2", + "lowercase-keys": "^2.0.0", + "p-cancelable": "^2.0.0", + "responselike": "^2.0.0" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "inquirer": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", + "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.19", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.6.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + } + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "json-buffer": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "jwt-decode": { + "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==", + "dev": true + }, + "keyv": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.0.4.tgz", + "integrity": "sha512-vqNHbAc8BBsxk+7QBYLW0Y219rWcClspR6WSeoHYKG5mnsSoOH+BL1pWq02DDCVdvvuUny5rkBlzMRzoqc+GIg==", "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "json-buffer": "3.0.1" } }, - "supports-color": { + "lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "dev": true + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "dev": true + }, + "normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "dev": true + }, + "p-cancelable": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", + "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", + "dev": true + }, + "responselike": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.0.tgz", + "integrity": "sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw==", + "dev": true, + "requires": { + "lowercase-keys": "^2.0.0" + } + }, + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", "dev": true + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } } } }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "optional": true + }, "set-immediate-shim": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=" }, - "set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, "shebang-command": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", @@ -5736,219 +13797,129 @@ "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" }, "shortid": { - "version": "2.2.15", - "resolved": "https://registry.npmjs.org/shortid/-/shortid-2.2.15.tgz", - "integrity": "sha512-5EaCy2mx2Jgc/Fdn9uuDuNIIfWBpzY4XIlhoqtXF6qsf+/+SGZ+FxDdX/ZsMZiWupIWNqAEmiNY4RC+LSmCeOw==", + "version": "2.2.16", + "resolved": "https://registry.npmjs.org/shortid/-/shortid-2.2.16.tgz", + "integrity": "sha512-Ugt+GIZqvGXCIItnsL+lvFJOiN7RYqlGy7QE41O3YC1xbNSeDGIRO7xg2JJXIAj1cAGnOeC1r7/T9pgrtQbv4g==", "requires": { "nanoid": "^2.1.0" } }, "signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", + "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==" }, - "simple-git": { - "version": "1.132.0", - "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-1.132.0.tgz", - "integrity": "sha512-xauHm1YqCTom1sC9eOjfq3/9RKiUA9iPnxBbrY2DdL8l4ADMu0jjM5l5lphQP5YWNqAL2aXC/OeuQ76vHtW5fg==", - "requires": { - "debug": "^4.0.1" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } + "simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "optional": true }, - "simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "simple-get": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-2.8.1.tgz", + "integrity": "sha512-lSSHRSw3mQNUGPAYRqo7xy9dhKmxFXIjLjp4KHpf99GEH2VH7C3AM+Qfx6du6jhfUi6Vm7XnbEVEf7Wb6N8jRw==", + "optional": true, "requires": { - "is-arrayish": "^0.3.1" + "decompress-response": "^3.3.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" } }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "requires": { - "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" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - } + "simple-git": { + "version": "2.48.0", + "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-2.48.0.tgz", + "integrity": "sha512-z4qtrRuaAFJS4PUd0g+xy7aN4y+RvEt/QTJpR184lhJguBA1S/LsVlvE/CM95RsYMOFJG3NGGDjqFCzKU19S/A==", + "requires": { + "@kwsites/file-exists": "^1.1.1", + "@kwsites/promise-deferred": "^1.1.1", + "debug": "^4.3.2" } }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } + "is-arrayish": "^0.3.1" } }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + }, + "snappy": { + "version": "6.3.5", + "resolved": "https://registry.npmjs.org/snappy/-/snappy-6.3.5.tgz", + "integrity": "sha512-lonrUtdp1b1uDn1dbwgQbBsb5BbaiLeKq+AGwOk2No+en+VvJThwmtztwulEQsLinRF681pBqib0NUZaizKLIA==", + "optional": true, "requires": { - "kind-of": "^3.2.0" - }, - "dependencies": { - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } + "bindings": "^1.3.1", + "nan": "^2.14.1", + "prebuild-install": "5.3.0" } }, "socket.io-client": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.3.0.tgz", - "integrity": "sha512-cEQQf24gET3rfhxZ2jJ5xzAOo/xhZwK+mOqtGRg5IowZsMgwvHwnf/mCRapAAkadhM26y+iydgwsXGObBB5ZdA==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.4.0.tgz", + "integrity": "sha512-M6xhnKQHuuZd4Ba9vltCLT9oa+YvTsP8j9NcEiLElfIg8KeYPyhWOes6x4t+LTAC8enQbE/995AdTem2uNyKKQ==", "requires": { "backo2": "1.0.2", - "base64-arraybuffer": "0.1.5", "component-bind": "1.0.0", - "component-emitter": "1.2.1", - "debug": "~4.1.0", - "engine.io-client": "~3.4.0", + "component-emitter": "~1.3.0", + "debug": "~3.1.0", + "engine.io-client": "~3.5.0", "has-binary2": "~1.0.2", - "has-cors": "1.1.0", "indexof": "0.0.1", - "object-component": "0.0.3", - "parseqs": "0.0.5", - "parseuri": "0.0.5", + "parseqs": "0.0.6", + "parseuri": "0.0.6", "socket.io-parser": "~3.3.0", "to-array": "0.1.4" }, "dependencies": { "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", "requires": { - "ms": "^2.1.1" + "ms": "2.0.0" } }, "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" } } }, "socket.io-parser": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.3.0.tgz", - "integrity": "sha512-hczmV6bDgdaEbVqhAeVMM/jfUfzuEZHsQg6eOmLgJht6G3mPKMxYm75w2+qhAQZ+4X+1+ATZ+QFKeOZD5riHng==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.3.2.tgz", + "integrity": "sha512-FJvDBuOALxdCI9qwRrO/Rfp9yfndRtc1jSgVgV8FDraihmSP/MLGD5PEuJrNfjALvcQ+vMDM/33AWOYP/JSjDg==", "requires": { - "component-emitter": "1.2.1", + "component-emitter": "~1.3.0", "debug": "~3.1.0", "isarray": "2.0.1" }, "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, "isarray": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" } } }, @@ -5968,49 +13939,10 @@ "sort-keys": "^1.0.0" } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "requires": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" - }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "requires": { - "extend-shallow": "^3.0.0" - } - }, "split2": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/split2/-/split2-3.1.1.tgz", - "integrity": "sha512-emNzr1s7ruq4N+1993yht631/JH+jaj0NYBosuKmLcq+JkGQ9MmTw1RB1fGaTCzUuseRIClrlSLHRNYGwWQ58Q==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", + "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", "requires": { "readable-stream": "^3.0.0" } @@ -6021,11 +13953,11 @@ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" }, "sprintf-kit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/sprintf-kit/-/sprintf-kit-2.0.0.tgz", - "integrity": "sha512-/0d2YTn8ZFVpIPAU230S9ZLF8WDkSSRWvh/UOLM7zzvkCchum1TtouRgyV8OfgOaYilSGU4lSSqzwBXJVlAwUw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/sprintf-kit/-/sprintf-kit-2.0.1.tgz", + "integrity": "sha512-2PNlcs3j5JflQKcg4wpdqpZ+AjhQJ2OZEo34NXDtlB0tIPG84xaaXhpA8XFacFiwjKA4m49UOYG83y3hbMn/gQ==", "requires": { - "es5-ext": "^0.10.46" + "es5-ext": "^0.10.53" } }, "sshpk": { @@ -6058,25 +13990,6 @@ "escodegen": "^1.8.1" } }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, "stealthy-require": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", @@ -6097,54 +14010,6 @@ "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==" }, - "stream.finished": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/stream.finished/-/stream.finished-1.2.0.tgz", - "integrity": "sha512-xSp45f/glqd035qAtFUxAGvhotjY/EfqDNV+rQW8o7ffligiOjPaguTEvRzeQAhiQMCdkPEBrp5++S/rQyavWQ==", - "requires": { - "define-properties": "^1.1.3", - "function-bind": "^1.1.1" - } - }, - "stream.pipeline-shim": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/stream.pipeline-shim/-/stream.pipeline-shim-1.1.0.tgz", - "integrity": "sha512-pSi/SZZDbSA5l3YYjSmJadCoD74/qSe79r9ZVR21lD4bpf+khn5Umi6AlfJrD8I0KQfGSqm/7Yp48dmithM+Vw==", - "requires": { - "define-properties": "^1.1.3", - "function-bind": "^1.1.1", - "stream.finished": "^1.2.0" - } - }, - "strict-uri-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=" - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, "string_decoder": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", @@ -6153,22 +14018,29 @@ "safe-buffer": "~5.2.0" } }, - "stringify-object": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", - "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "requires": { - "get-own-enumerable-property-symbols": "^3.0.0", - "is-obj": "^1.0.1", - "is-regexp": "^1.0.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + } } }, "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "requires": { - "ansi-regex": "^4.1.0" + "ansi-regex": "^5.0.1" } }, "strip-dirs": { @@ -6179,11 +14051,6 @@ "is-natural-number": "^4.0.1" } }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" - }, "strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", @@ -6197,51 +14064,278 @@ "escape-string-regexp": "^1.0.2" } }, - "stylus-lookup": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/stylus-lookup/-/stylus-lookup-3.0.2.tgz", - "integrity": "sha512-oEQGHSjg/AMaWlKe7gqsnYzan8DLcGIHe0dUaFkucZZ14z4zjENRlQMCHT4FNsiWnJf17YN9OvrCfCoi7VvOyg==", + "strtok3": { + "version": "6.2.4", + "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-6.2.4.tgz", + "integrity": "sha512-GO8IcFF9GmFDvqduIspUBwCzCbqzegyVKIsSymcMgiZKeCfrN9SowtUoi8+b59WZMAjIzVZic/Ft97+pynR3Iw==", + "requires": { + "@tokenizer/token": "^0.3.0", + "peek-readable": "^4.0.1" + } + }, + "superagent": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-3.8.3.tgz", + "integrity": "sha512-GLQtLMCoEIK4eDv6OGtkOoSMt3D+oq0y3dsxMuYuDvaNUvuT8eFBuLmfR0iYYzHC1e8hpzC6ZsxbuP6DIalMFA==", "requires": { - "commander": "^2.8.1", - "debug": "^4.1.0" + "component-emitter": "^1.2.0", + "cookiejar": "^2.1.0", + "debug": "^3.1.0", + "extend": "^3.0.0", + "form-data": "^2.3.1", + "formidable": "^1.2.0", + "methods": "^1.1.1", + "mime": "^1.4.1", + "qs": "^6.5.1", + "readable-stream": "^2.3.5" }, "dependencies": { "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "requires": { "ms": "^2.1.1" } }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } } } }, - "superagent": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/superagent/-/superagent-3.8.3.tgz", - "integrity": "sha512-GLQtLMCoEIK4eDv6OGtkOoSMt3D+oq0y3dsxMuYuDvaNUvuT8eFBuLmfR0iYYzHC1e8hpzC6ZsxbuP6DIalMFA==", + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "tabtab": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/tabtab/-/tabtab-3.0.2.tgz", + "integrity": "sha512-jANKmUe0sIQc/zTALTBy186PoM/k6aPrh3A7p6AaAfF6WPSbTx1JYeGIGH162btpH+mmVEXln+UxwViZHO2Jhg==", + "requires": { + "debug": "^4.0.1", + "es6-promisify": "^6.0.0", + "inquirer": "^6.0.0", + "minimist": "^1.2.0", + "mkdirp": "^0.5.1", + "untildify": "^3.0.3" + }, + "dependencies": { + "ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==" + }, + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "requires": { + "restore-cursor": "^2.0.0" + } + }, + "cli-width": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", + "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==" + }, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "inquirer": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", + "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", + "requires": { + "ansi-escapes": "^3.2.0", + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.3", + "figures": "^2.0.0", + "lodash": "^4.17.12", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rxjs": "^6.4.0", + "string-width": "^2.1.0", + "strip-ansi": "^5.1.0", + "through": "^2.3.6" + } + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" + }, + "mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=" + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "requires": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + } + }, + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "requires": { + "tslib": "^1.9.0" + } + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } + } + }, + "tar": { + "version": "6.1.11", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", + "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", + "requires": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "dependencies": { + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" + } + } + }, + "tar-fs": { + "version": "1.16.3", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-1.16.3.tgz", + "integrity": "sha512-NvCeXpYx7OsmOh8zIOP/ebG55zZmxLE0etfWRbWok+q2Qo8x/vOR/IJT1taADXPe+jsiu9axDb3X4B+iIgNlKw==", + "optional": true, "requires": { - "component-emitter": "^1.2.0", - "cookiejar": "^2.1.0", - "debug": "^3.1.0", - "extend": "^3.0.0", - "form-data": "^2.3.1", - "formidable": "^1.2.0", - "methods": "^1.1.1", - "mime": "^1.4.1", - "qs": "^6.5.1", - "readable-stream": "^2.3.5" + "chownr": "^1.0.1", + "mkdirp": "^0.5.1", + "pump": "^1.0.0", + "tar-stream": "^1.1.2" }, "dependencies": { + "bl": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", + "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", + "optional": true, + "requires": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + }, + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "optional": true + }, + "pump": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", + "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", + "optional": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "optional": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -6255,77 +14349,74 @@ "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "optional": true }, "string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "optional": true, "requires": { "safe-buffer": "~5.1.0" } - } - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - }, - "tabtab": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/tabtab/-/tabtab-3.0.2.tgz", - "integrity": "sha512-jANKmUe0sIQc/zTALTBy186PoM/k6aPrh3A7p6AaAfF6WPSbTx1JYeGIGH162btpH+mmVEXln+UxwViZHO2Jhg==", - "requires": { - "debug": "^4.0.1", - "es6-promisify": "^6.0.0", - "inquirer": "^6.0.0", - "minimist": "^1.2.0", - "mkdirp": "^0.5.1", - "untildify": "^3.0.3" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + }, + "tar-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", + "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "optional": true, "requires": { - "ms": "^2.1.1" + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" } } }, - "tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==" - }, "tar-stream": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.1.2.tgz", - "integrity": "sha512-UaF6FoJ32WqALZGOIAApXx+OdxhekNMChu6axLJR85zMMjXKWFGjbIRe+J6P4UnRGg9rAwWvbTT0oI7hD/Un7Q==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", "requires": { - "bl": "^4.0.1", + "bl": "^4.0.3", "end-of-stream": "^1.4.1", "fs-constants": "^1.0.0", "inherits": "^2.0.3", "readable-stream": "^3.1.1" + }, + "dependencies": { + "bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "requires": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + } } }, - "term-size": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", - "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", + "tencent-serverless-http": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/tencent-serverless-http/-/tencent-serverless-http-1.3.2.tgz", + "integrity": "sha512-HgIu9HuBdY0lx3jLKuicOSOrjmieklPh55x8ZmtuTnrZ5v1buAPUfLKBhTeBSz6e90ggyW+dPr5PWdz179kUkw==", "requires": { - "execa": "^0.7.0" + "type-is": "^1.6.16" } }, "text-hex": { @@ -6333,16 +14424,16 @@ "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz", "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==" }, + "throat": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==" + }, "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" }, - "timed-out": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", - "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=" - }, "timers-ext": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz", @@ -6370,51 +14461,40 @@ "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==" }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, "to-readable-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==" }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - } - }, "to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "requires": { "is-number": "^7.0.0" + }, + "dependencies": { + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + } + } + }, + "token-types": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/token-types/-/token-types-4.1.1.tgz", + "integrity": "sha512-hD+QyuUAyI2spzsI0B7gf/jJ2ggR4RjkAo37j3StuePhApJUwcWDjnHDOFdIWYSwNR28H14hpwm4EI+V1Ted1w==", + "requires": { + "@tokenizer/token": "^0.3.0", + "ieee754": "^1.2.1" + }, + "dependencies": { + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + } } }, "tough-cookie": { @@ -6424,25 +14504,18 @@ "requires": { "psl": "^1.1.28", "punycode": "^2.1.1" - }, - "dependencies": { - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" - } } }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" + }, "traverse": { "version": "0.6.6", "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz", "integrity": "sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=" }, - "traverse-chain": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/traverse-chain/-/traverse-chain-0.1.0.tgz", - "integrity": "sha1-YdvC1Ttp/2CRoSoWj9fUMxB+QPE=" - }, "trim-repeated": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", @@ -6457,17 +14530,10 @@ "integrity": "sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==" }, "tslib": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", - "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==" - }, - "tsutils": { - "version": "3.17.1", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz", - "integrity": "sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==", - "requires": { - "tslib": "^1.8.1" - } + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", + "peer": true }, "tunnel-agent": { "version": "0.6.0", @@ -6483,27 +14549,40 @@ "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" }, "type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/type/-/type-2.0.0.tgz", - "integrity": "sha512-KBt58xCHry4Cejnc2ISQAF7QY+ORngsWfxezO68+12hKV6lQY8P/psIkcbjeHWn7MqcgciWJyCCevFMJdIXpow==" + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/type/-/type-2.5.0.tgz", + "integrity": "sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw==" }, "type-check": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, "requires": { "prelude-ls": "~1.1.2" } }, "type-fest": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", - "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==" + "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": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } }, - "typescript": { - "version": "3.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.5.tgz", - "integrity": "sha512-hSAifV3k+i6lEoCJ2k6R2Z/rp/H3+8sdmcn5NrS3/3kE7+RyZXm9aqvxWqjEXHAd8b0pShatpcdMTvEdvAJltQ==" + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "requires": { + "is-typedarray": "^1.0.0" + } }, "unbzip2-stream": { "version": "1.4.3", @@ -6512,36 +14591,31 @@ "requires": { "buffer": "^5.2.1", "through": "^2.3.8" + }, + "dependencies": { + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + } } }, "underscore": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz", - "integrity": "sha1-a7rwh3UA02vjTsqlhODbn+8DUgk=", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", + "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", "dev": true }, - "union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - } - }, - "uniq": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", - "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=" - }, - "unique-string": { + "uni-global": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", - "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", + "resolved": "https://registry.npmjs.org/uni-global/-/uni-global-1.0.0.tgz", + "integrity": "sha512-WWM3HP+siTxzIWPNUg7hZ4XO8clKi6NoCAJJWnuRL+BAqyFXF8gC03WNyTefGoUXYc47uYgXxpKLIEvo65PEHw==", "requires": { - "crypto-random-string": "^1.0.0" + "type": "^2.5.0" } }, "universalify": { @@ -6549,105 +14623,19 @@ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" - } - } - }, "untildify": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/untildify/-/untildify-3.0.3.tgz", "integrity": "sha512-iSk/J8efr8uPT/Z4eSUywnqyrQU7DSdMfdqK4iWEaUVVmcP5JcnpRqmVMwcwcnmI1ATFNgC5V90u09tBynNFKA==" }, - "unzip-response": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", - "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=" - }, - "update-notifier": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.5.0.tgz", - "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", - "requires": { - "boxen": "^1.2.1", - "chalk": "^2.0.1", - "configstore": "^3.0.0", - "import-lazy": "^2.1.0", - "is-ci": "^1.0.10", - "is-installed-globally": "^0.1.0", - "is-npm": "^1.0.0", - "latest-version": "^3.0.0", - "semver-diff": "^2.0.0", - "xdg-basedir": "^3.0.0" - }, - "dependencies": { - "boxen": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", - "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", - "requires": { - "ansi-align": "^2.0.0", - "camelcase": "^4.0.0", - "chalk": "^2.0.1", - "cli-boxes": "^1.0.0", - "string-width": "^2.0.0", - "term-size": "^1.2.0", - "widest-line": "^2.0.0" - } - } - } - }, "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "requires": { "punycode": "^2.1.0" - }, - "dependencies": { - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" - } } }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" - }, "url": { "version": "0.10.3", "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", @@ -6655,6 +14643,18 @@ "requires": { "punycode": "1.3.2", "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + } } }, "url-parse-lax": { @@ -6665,11 +14665,6 @@ "prepend-http": "^2.0.0" } }, - "url-to-options": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", - "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=" - }, "urlencode": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/urlencode/-/urlencode-1.1.0.tgz", @@ -6678,11 +14673,6 @@ "iconv-lite": "~0.4.11" } }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" - }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -6703,10 +14693,28 @@ "extsprintf": "^1.2.0" } }, - "whatwg-fetch": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz", - "integrity": "sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q==" + "wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", + "peer": true, + "requires": { + "defaults": "^1.0.3" + } + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } }, "which": { "version": "1.3.1", @@ -6716,12 +14724,27 @@ "isexe": "^2.0.0" } }, + "which-pm-runs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz", + "integrity": "sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=", + "optional": true + }, + "wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "optional": true, + "requires": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, "widest-line": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz", - "integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", "requires": { - "string-width": "^2.1.1" + "string-width": "^4.0.0" } }, "winston": { @@ -6751,48 +14774,54 @@ } }, "winston-transport": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.4.0.tgz", - "integrity": "sha512-Lc7/p3GtqtqPBYYtS6KCN3c77/2QCev51DvcJKbkFPQNoj1sinkGwLGFDxkXY9J6p9+EPnYs+D90uwbnaiURTw==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.4.1.tgz", + "integrity": "sha512-ciZRlU4CSjHqHe8RQG1iPxKMRVwv6ZJ0RC7DxStKWd0KjpAhPDy5gVYSCpIUq+5CUsP+IyNOTZy1X0tO2QZqjg==", "requires": { - "readable-stream": "^2.3.7", + "logform": "^2.2.0", + "readable-stream": "^3.4.0", "triple-beam": "^1.2.0" + } + }, + "word-wrap": { + "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==", + "dev": true + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "color-convert": "^2.0.1" } }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "requires": { - "safe-buffer": "~5.1.0" + "color-name": "~1.1.4" } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" } } }, - "word-wrap": { - "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==" - }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", @@ -6809,14 +14838,10 @@ } }, "ws": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.3.0.tgz", - "integrity": "sha512-iFtXzngZVXPGgpTlP1rBqsUK82p9tKqsWRPg5L56egiljujJT3vGAYnHANvFxBieXrTFavhzhxW52jnaWV+w2w==" - }, - "xdg-basedir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", - "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=" + "version": "7.5.6", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.6.tgz", + "integrity": "sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==", + "requires": {} }, "xml2js": { "version": "0.4.19", @@ -6833,9 +14858,9 @@ "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=" }, "xmlhttprequest-ssl": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz", - "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=" + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.6.3.tgz", + "integrity": "sha512-3XfeQE/wNkvrIktn2Kf0869fC0BN6UpydVasGIeSm2B1Llihf7/0UfZM+eCkOw3P7bP4+qPgqhm7ZoxuJtFU0Q==" }, "xtend": { "version": "4.0.2", @@ -6843,9 +14868,9 @@ "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" }, "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "yaml-ast-parser": { "version": "0.0.43", @@ -6861,22 +14886,6 @@ "glob": "^7.0.5" } }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "dependencies": { - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - } - } - }, "yauzl": { "version": "2.10.0", "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", @@ -6892,12 +14901,12 @@ "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=" }, "zip-stream": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-3.0.1.tgz", - "integrity": "sha512-r+JdDipt93ttDjsOVPU5zaq5bAyY+3H19bDrThkvuVxC0xMQzU1PJcS6D+KrP3u96gH9XLomcHPb+2skoDjulQ==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.0.tgz", + "integrity": "sha512-zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A==", "requires": { "archiver-utils": "^2.1.0", - "compress-commons": "^3.0.0", + "compress-commons": "^4.1.0", "readable-stream": "^3.6.0" } } diff --git a/pipeline/Serverless/package.json b/pipeline/Serverless/package.json index 6d19ddaa..2ec6b079 100644 --- a/pipeline/Serverless/package.json +++ b/pipeline/Serverless/package.json @@ -3,11 +3,11 @@ "description": "This directory contains the Serverless repository of lambda functions.", "version": "0.1.0", "dependencies": { - "serverless": "^1.72.0" + "serverless": "^2.69.1" }, "devDependencies": { - "serverless-iam-roles-per-function": "^2.0.2", - "serverless-step-functions": "^2.17.0" + "serverless-iam-roles-per-function": "^3.2.0", + "serverless-step-functions": "^3.5.1" }, "main": "index.js", "scripts": { diff --git a/pipeline/Serverless/serverless.yml b/pipeline/Serverless/serverless.yml index f136f188..41b5c389 100644 --- a/pipeline/Serverless/serverless.yml +++ b/pipeline/Serverless/serverless.yml @@ -1,5 +1,7 @@ service: kl +projectDir: ../ +variablesResolutionMode: 20210326 plugins: - serverless-iam-roles-per-function - serverless-step-functions @@ -18,44 +20,49 @@ provider: DB_NAME: ${self:custom.dbName} BUCKET_NAME: ${self:custom.s3LayersName} POWERTOOLS_SERVICE_NAME: ${self:provider.stage} + LAMBDA_LAYER_PREFIX: "Klayers-" logs: httpApi: true httpApi: cors: true + eventBridge: + useCloudFormation: true + ecr: + images: + build_image: + path: ../container_images/build_image custom: # Env awsRegion: ${self:provider.region} - lambdaPrefix: ${ssm:/${self:service.name}/${self:provider.stage}/lambda_prefix} - pipelineName: ${self:service.name}-${self:provider.stage}-pipeline + pipelineName: ${self:service}-${self:provider.stage}-pipeline # S3 - s3LayersName: ${ssm:/${self:service.name}/${self:provider.stage}/layers_bucket/name} - s3LayersArn: ${ssm:/${self:service.name}/${self:provider.stage}/layers_bucket/arn} + s3LayersName: ${ssm:/${self:service}/${self:provider.stage}/layers_bucket/name} + s3LayersArn: ${ssm:/${self:service}/${self:provider.stage}/layers_bucket/arn} # DynamoDB - dbName: ${ssm:/${self:service.name}/${self:provider.stage}/db/name} - dbArn: ${ssm:/${self:service.name}/${self:provider.stage}/db/arn} - dbStreamLabel: ${ssm:/${self:service.name}/${self:provider.stage}/db/stream/label} - dbStreamArn: ${ssm:/${self:service.name}/${self:provider.stage}/db/stream/arn} + dbName: ${ssm:/${self:service}/${self:provider.stage}/db-ver2/name} + dbArn: ${ssm:/${self:service}/${self:provider.stage}/db-ver2/arn} + dbStreamLabel: ${ssm:/${self:service}/${self:provider.stage}/db-ver2/stream/label} + dbStreamArn: ${ssm:/${self:service}/${self:provider.stage}/db-ver2/stream/arn} # Github - githubSSHKeyParameter: /${self:service.name}/${self:provider.stage}/github_ssh_key - githubRepo: ${ssm:/${self:service.name}/${self:provider.stage}/github_repo} - githubWebhookSecret: /${self:service.name}/${self:provider.stage}/github_webhook_secret + githubSSHKeyParameter: /${self:service}/${self:provider.stage}/github_ssh_key + githubRepo: ${ssm:/${self:service}/${self:provider.stage}/github_repo} + githubWebhookSecret: /${self:service}/${self:provider.stage}/github_webhook_secret # Slack - slackTokenParameter: /${self:service.name}/${self:provider.stage}/slack_token + slackTokenParameter: /${self:service}}/${self:provider.stage}/slack_token # Cloudformation - apiCertArn: ${ssm:/${self:service.name}/${self:provider.stage}/api/cert/arn} - apiDomainName: ${ssm:/${self:service.name}/${self:provider.stage}/api/domain_name} + apiCertArn: ${ssm:/${self:service}/${self:provider.stage}/api/cert/arn} + apiDomainName: ${ssm:/${self:service}/${self:provider.stage}/api/domain_name} functions: - ${file(01_invoke_pipelines/invoke_pipelines.yml)} - ${file(02_pipeline/pipeline.yml)} - - ${file(03_publish/publish.yml)} - ${file(04_stream_processor/streams.yml)} - ${file(05_slack_notification/slack.yml)} - ${file(06_webhook/webhook.yml)} @@ -66,8 +73,6 @@ stepFunctions: ${file(state_machines/01_invoke_pipelines.yml)} pipeline: ${file(state_machines/02_pipeline.yml)} - publish: - ${file(state_machines/03_publish.yml)} package: exclude: diff --git a/pipeline/Serverless/state_machines/01_invoke_pipelines.yml b/pipeline/Serverless/state_machines/01_invoke_pipelines.yml index 82fe442b..9073d97a 100644 --- a/pipeline/Serverless/state_machines/01_invoke_pipelines.yml +++ b/pipeline/Serverless/state_machines/01_invoke_pipelines.yml @@ -1,5 +1,5 @@ events: - - schedule: cron(0 2 ? * MON *) # runs at 2am UTC on Monday + - schedule: cron(0 2 1 * ? *) # runs on the first of the month name: ${self:custom.pipelineName}-invoke definition: Comment: "Invoke the pipeline for all packages" @@ -18,19 +18,6 @@ definition: WaitForCompletion: Type: Wait Seconds: 600 - Next: StartPublish - StartPublish: - Type: Task - Resource: arn:aws:states:::states:startExecution.sync - Parameters: - StateMachineArn: - Fn::Join: - - ":" - - - arn:aws:states - - ${self:provider.region} - - Ref: AWS::AccountId - - stateMachine - - ${self:custom.pipelineName}-publish Next: InvalidateCache InvalidateCache: Type: Task diff --git a/pipeline/Serverless/state_machines/02_pipeline.yml b/pipeline/Serverless/state_machines/02_pipeline.yml index 99295b5b..baa0b1e7 100644 --- a/pipeline/Serverless/state_machines/02_pipeline.yml +++ b/pipeline/Serverless/state_machines/02_pipeline.yml @@ -7,7 +7,7 @@ definition: Type: Task Resource: Fn::GetAtt: [CheckLambdaFunction, Arn] - Next: Build + Next: ChoicePythonVersion Retry: - ErrorEquals: - States.Timeout @@ -18,7 +18,17 @@ definition: - ErrorEquals: - States.ALL Next: CheckFail - Build: + ChoicePythonVersion: + Type: Choice + Choices: + - Variable: $.python_version + StringEquals: "p3.9" + Next: Build39 + - Variable: $.python_version + StringEquals: "p3.8" + Next: Build38 + Default: UnknownPythonVersion + Build38: Type: Task Resource: Fn::GetAtt: [BuildLambdaFunction, Arn] @@ -32,7 +42,22 @@ definition: Catch: - ErrorEquals: - States.ALL - Next: BuildFail + Next: Build38Fail + Build39: + Type: Task + Resource: + Fn::GetAtt: [Build39LambdaFunction, Arn] + Next: Deploy + Retry: + - ErrorEquals: + - States.Timeout + MaxAttempts: 2 + BackoffRate: 30 + IntervalSeconds: 60 + Catch: + - ErrorEquals: + - States.ALL + Next: Build39Fail Deploy: Type: Task Resource: @@ -54,7 +79,11 @@ definition: Type: Fail Error: CheckFailure Cause: Unknown - BuildFail: + Build38Fail: + Type: Fail + Error: BuildFailure + Cause: Unknown + Build39Fail: Type: Fail Error: BuildFailure Cause: Unknown @@ -62,6 +91,10 @@ definition: Type: Fail Error: DeployFailure Cause: Unknown + UnknownPythonVersion: + Type: Fail + Error: UnknownPythonVersion + Cause: UnknownPythonVersion notifications: ABORTED: - lambda: diff --git a/pipeline/Serverless/state_machines/03_publish.yml b/pipeline/Serverless/state_machines/03_publish.yml deleted file mode 100644 index 6dfd0089..00000000 --- a/pipeline/Serverless/state_machines/03_publish.yml +++ /dev/null @@ -1,85 +0,0 @@ -name: ${self:custom.pipelineName}-publish -definition: - Comment: "Publish Arns and requirements.txt to S3bucket, and then to GitHub" - StartAt: ParallelPublish - States: - ParallelPublish: - Type: Parallel - Branches: - - StartAt: PublishArns - States: - PublishArns: - Type: Task - Resource: - Fn::GetAtt: [PublishUnderscorearnsLambdaFunction, Arn] - Retry: - - ErrorEquals: - - States.Timeout - MaxAttempts: 2 - BackoffRate: 30 - IntervalSeconds: 60 - Catch: - - ErrorEquals: - - States.ALL - Next: PublishArnsFail - End: True - PublishArnsFail: - Type: Fail - Error: PublishFail - Cause: Unknown - - StartAt: PublishReqs - States: - PublishReqs: - Type: Task - Resource: - Fn::GetAtt: [PublishUnderscorereqsLambdaFunction, Arn] - Retry: - - ErrorEquals: - - States.Timeout - MaxAttempts: 2 - BackoffRate: 30 - IntervalSeconds: 60 - Catch: - - ErrorEquals: - - States.ALL - Next: PublishReqsFail - End: True - PublishReqsFail: - Type: Fail - Error: PublishFail - Cause: Unknown - Next: PublishGithub - PublishGithub: - Type: Task - Resource: - Fn::GetAtt: [PublishUnderscoregithubLambdaFunction, Arn] - Retry: - - ErrorEquals: - - States.Timeout - MaxAttempts: 2 - BackoffRate: 30 - IntervalSeconds: 60 - Catch: - - ErrorEquals: - - States.ALL - Next: PublishGithubFail - Next: Done - PublishGithubFail: - Type: Fail - Error: Publish to Github failed - Cause: Timeout - Done: - Type: Succeed -notifications: - ABORTED: - - lambda: - Fn::GetAtt: [SlackUnderscorepublishLambdaFunction, Arn] - FAILED: - - lambda: - Fn::GetAtt: [SlackUnderscorepublishLambdaFunction, Arn] - TIMED_OUT: - - lambda: - Fn::GetAtt: [SlackUnderscorepublishLambdaFunction, Arn] - SUCCEEDED: - - lambda: - Fn::GetAtt: [SlackUnderscorepublishLambdaFunction, Arn] \ No newline at end of file diff --git a/pipeline/Terraform/.gitignore b/pipeline/Terraform/.gitignore index 1c99dc13..610af6ce 100644 --- a/pipeline/Terraform/.gitignore +++ b/pipeline/Terraform/.gitignore @@ -1 +1,2 @@ .terraform/ +.terraform.* \ No newline at end of file diff --git a/pipeline/Terraform/certificate_manager/main.tf b/pipeline/Terraform/certificate_manager/main.tf index 598dfae7..87a63b80 100644 --- a/pipeline/Terraform/certificate_manager/main.tf +++ b/pipeline/Terraform/certificate_manager/main.tf @@ -1,3 +1,12 @@ +terraform { + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 3.0" + } + } +} + resource "aws_acm_certificate" "cert" { domain_name = var.api_domain_name validation_method = "DNS" diff --git a/pipeline/Terraform/dynamodb/main.tf b/pipeline/Terraform/dynamodb/main.tf index 8d7e0951..6ae793c8 100644 --- a/pipeline/Terraform/dynamodb/main.tf +++ b/pipeline/Terraform/dynamodb/main.tf @@ -44,6 +44,16 @@ resource "aws_dynamodb_table" "t" { type = "S" } + attribute { + name = "rgn#PyVrsn" + type = "S" + } + + attribute { + name = "pckg#PyVrsn" + type = "S" + } + ttl { attribute_name = "exDt" enabled = true @@ -52,6 +62,7 @@ resource "aws_dynamodb_table" "t" { # for GSI in Terraform order of non_key_attributes need to match console # https://github.com/terraform-providers/terraform-provider-aws/issues/3828#issuecomment-522197376 + # This index to be removed on next release global_secondary_index { name = "deployed_in_region" hash_key = "rgn" @@ -60,6 +71,15 @@ resource "aws_dynamodb_table" "t" { non_key_attributes = ["exDt","crtdDt", "pckg", "pckgVrsn", "arn"] } + global_secondary_index { + name = "deployed_in_region_by_python_version" + hash_key = "rgn#PyVrsn" + range_key = "dplySts" + projection_type = "INCLUDE" + non_key_attributes = ["exDt","crtdDt", "pckg", "pckgVrsn", "arn"] + } + + # This index to be removed on next release global_secondary_index { name = "package_global" hash_key = "pckg" @@ -68,6 +88,14 @@ resource "aws_dynamodb_table" "t" { non_key_attributes = ["rgn", "rqrmntsHsh"] } + global_secondary_index { + name = "package_global_by_python_version" + hash_key = "pckg#PyVrsn" + range_key = "dplySts" + projection_type = "INCLUDE" + non_key_attributes = ["rgn", "rqrmntsHsh"] + } + global_secondary_index { name = "requirements_hash" hash_key = "rqrmntsHsh" diff --git a/pipeline/Terraform/main.tf b/pipeline/Terraform/main.tf index fbabd9c1..dddf3889 100644 --- a/pipeline/Terraform/main.tf +++ b/pipeline/Terraform/main.tf @@ -1,6 +1,13 @@ terraform { required_version = ">= 0.12.0" + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 3.0" + } + } + backend "remote" { organization = "keithrozario" @@ -8,68 +15,79 @@ terraform { prefix = "Klayers-" } } + +} + +locals { + workspace_full_name = "Klayers-${terraform.workspace}" } # Provider Block provider "aws" { - version = "~> 2.7" - profile = lookup(var.aws_profile, terraform.workspace) - region = lookup(var.aws_region, terraform.workspace) + profile = lookup(var.aws_profile, local.workspace_full_name) + region = lookup(var.aws_region, local.workspace_full_name) } - provider "aws" { - version = "~> 2.7" - alias = "cloudfront-provider" - profile = lookup(var.aws_profile, terraform.workspace) - region = "us-east-1" + profile = lookup(var.aws_profile, local.workspace_full_name) + region = "us-east-1" + alias = "cloudfront" } module "dynamo_table" { - source = "./dynamodb" + source = "./dynamodb" table_logical_name = "db" - app_name = lookup(var.app_name, terraform.workspace) - workspace_name = terraform.workspace + app_name = lookup(var.app_name, local.workspace_full_name) + workspace_name = local.workspace_full_name +} + +module "dynamo_table_ver_2" { + source = "./dynamodb" + table_logical_name = "db-ver2" + app_name = lookup(var.app_name, local.workspace_full_name) + workspace_name = local.workspace_full_name } module "certificate" { - source = "./certificate_manager" - api_domain_name = lookup(var.api_domain_name, terraform.workspace) - app_name = lookup(var.app_name, terraform.workspace) - workspace_name = terraform.workspace + source = "./certificate_manager" + api_domain_name = lookup(var.api_domain_name, local.workspace_full_name) + app_name = lookup(var.app_name, local.workspace_full_name) + workspace_name = local.workspace_full_name providers = { - aws = aws.cloudfront-provider + aws = aws.cloudfront } } # High level parameters + +# Remove this layer in next version... resource "aws_ssm_parameter" "lambda_prefix" { type = "String" - name = "/${lookup(var.app_name, terraform.workspace)}/${terraform.workspace}/lambda_prefix" - value = lookup(var.lambda_prefix, terraform.workspace) + name = "/${lookup(var.app_name, local.workspace_full_name)}/${local.workspace_full_name}/lambda_prefix" + value = lookup(var.lambda_prefix, local.workspace_full_name) overwrite = true } resource "aws_ssm_parameter" "github_repo" { type = "String" - name = "/${lookup(var.app_name, terraform.workspace)}/${terraform.workspace}/github_repo" - value = lookup(var.github_repo, terraform.workspace) + name = "/${lookup(var.app_name, local.workspace_full_name)}/${local.workspace_full_name}/github_repo" + value = lookup(var.github_repo, local.workspace_full_name) overwrite = true } resource "aws_ssm_parameter" "api_domain_name" { type = "String" - name = "/${lookup(var.app_name, terraform.workspace)}/${terraform.workspace}/api/domain_name" - value = lookup(var.api_domain_name, terraform.workspace) + name = "/${lookup(var.app_name, local.workspace_full_name)}/${local.workspace_full_name}/api/domain_name" + value = lookup(var.api_domain_name, local.workspace_full_name) overwrite = true } resource "aws_ssm_parameter" "cert_arn" { type = "String" description = "Certificate Arn" - name = "/${lookup(var.app_name, terraform.workspace)}/${terraform.workspace}/api/cert/arn" - value = module.certificate.cert_arn - overwrite = true + name = "/${lookup(var.app_name, local.workspace_full_name)}/${local.workspace_full_name}/api/cert/arn" + value = module.certificate.cert_arn + overwrite = true } \ No newline at end of file diff --git a/pipeline/Terraform/s3.tf b/pipeline/Terraform/s3.tf index 2a1612ae..a12570d4 100644 --- a/pipeline/Terraform/s3.tf +++ b/pipeline/Terraform/s3.tf @@ -1,11 +1,10 @@ -variable "s3bucket_layers" { type = map } +variable "s3bucket_layers" { type = map(any) } ## S3 Bucket resource "aws_s3_bucket" "s3bucket_layers" { - bucket = lookup(var.s3bucket_layers, terraform.workspace) + bucket = lookup(var.s3bucket_layers, local.workspace_full_name) acl = "private" force_destroy = true - region = lookup(var.aws_region, terraform.workspace) versioning { enabled = true @@ -25,7 +24,7 @@ resource "aws_s3_bucket" "s3bucket_layers" { resource "aws_ssm_parameter" "layers_bucket_name" { type = "String" description = "Name of s3 bucket to hold layer artifacts" - name = "/${lookup(var.app_name, terraform.workspace)}/${terraform.workspace}/layers_bucket/name" + name = "/${lookup(var.app_name, local.workspace_full_name)}/${local.workspace_full_name}/layers_bucket/name" value = aws_s3_bucket.s3bucket_layers.bucket overwrite = true } @@ -33,7 +32,7 @@ resource "aws_ssm_parameter" "layers_bucket_name" { resource "aws_ssm_parameter" "layers_bucket_arn" { type = "String" description = "ARN of layer bucket" - name = "/${lookup(var.app_name, terraform.workspace)}/${terraform.workspace}/layers_bucket/arn" + name = "/${lookup(var.app_name, local.workspace_full_name)}/${local.workspace_full_name}/layers_bucket/arn" value = aws_s3_bucket.s3bucket_layers.arn overwrite = true } @@ -42,11 +41,11 @@ resource "aws_ssm_parameter" "layers_bucket_arn" { resource "aws_s3_bucket_object" "packages_config" { bucket = aws_s3_bucket.s3bucket_layers.bucket key = "config/packages.csv" - source = "../config/${terraform.workspace}/packages.csv" + source = "../config/${local.workspace_full_name}/packages.csv" } resource "aws_s3_bucket_object" "regions_config" { bucket = aws_s3_bucket.s3bucket_layers.bucket key = "config/regions.csv" - source = "../config/${terraform.workspace}/regions.csv" + source = "../config/${local.workspace_full_name}/regions.csv" } \ No newline at end of file diff --git a/pipeline/Terraform/variables.tf b/pipeline/Terraform/variables.tf index 7dd700c0..68469665 100644 --- a/pipeline/Terraform/variables.tf +++ b/pipeline/Terraform/variables.tf @@ -1,6 +1,6 @@ variable "app_name" {} -variable "aws_region" {type = map} -variable "aws_profile" { type = map } -variable "lambda_prefix" { type = map } -variable "github_repo" { type = map } -variable "api_domain_name" { type = map } \ No newline at end of file +variable "aws_region" { type = map(any) } +variable "aws_profile" { type = map(any) } +variable "lambda_prefix" { type = map(any) } +variable "github_repo" { type = map(any) } +variable "api_domain_name" { type = map(any) } \ No newline at end of file diff --git a/pipeline/api/builds/list_builds.py b/pipeline/api/builds/list_builds.py index 5727f400..45c9d6b2 100644 --- a/pipeline/api/builds/list_builds.py +++ b/pipeline/api/builds/list_builds.py @@ -8,16 +8,17 @@ logger = Logger() -def query_table(table): +def query_table(table, python_version: str): """ Args: table: DynamoDB table object to query + python_version: Version of python (e.g. p3.8, p3.9) returns: items: items returned from the query """ kwargs = { - "KeyConditionExpression": Key("pk").eq("bldVrsn0#"), + "KeyConditionExpression": Key("pk").eq(f"bldVrsn0#{python_version}"), "ProjectionExpression": "crtdDt, pckg, pckgVrsn, rqrmntsTxt", } items = query_till_end(table=table, kwargs=kwargs) @@ -33,12 +34,11 @@ def main(event, context): dynamodb = boto3.resource("dynamodb") table = dynamodb.Table(os.environ["DB_NAME"]) - api_response = query_table(table=table) + python_version = event.get("pathParameters", {}).get("python_version", "p3.8") + api_response = query_table(table=table, python_version=python_version) return { "statusCode": 200, - "headers": { - "Content-Type" : "application/json" - }, + "headers": {"Content-Type": "application/json"}, "body": json.dumps(api_response, cls=DecimalEncoder), } diff --git a/pipeline/api/builds/sls.yml b/pipeline/api/builds/sls.yml index 4e301cb4..745782e0 100644 --- a/pipeline/api/builds/sls.yml +++ b/pipeline/api/builds/sls.yml @@ -13,6 +13,7 @@ list_builds: - dynamodb:Query Resource: ${self:custom.dbArn} layers: - - arn:aws:lambda:${self:provider.region}:770693421928:layer:Klayers-python38-aws-lambda-powertools:32 + - arn:aws:lambda:${self:provider.region}:017000801446:layer:AWSLambdaPowertoolsPython:6 events: - - httpApi: 'GET /api/v1/builds/latest' \ No newline at end of file + - httpApi: 'GET /api/v1/builds/latest' + - httpApi: 'GET /api/v2/{python_version}/builds/latest' \ No newline at end of file diff --git a/pipeline/api/layers/latest_region.py b/pipeline/api/layers/latest_region.py index e51e0378..aa89bdfd 100644 --- a/pipeline/api/layers/latest_region.py +++ b/pipeline/api/layers/latest_region.py @@ -1,5 +1,8 @@ import os +import io import json +import csv +from tabulate import tabulate import boto3 from boto3.dynamodb.conditions import Key from aws_lambda_powertools.logging import Logger @@ -8,18 +11,20 @@ logger = Logger() -def query_table(region, table): +def query_table(region: str, table: str, python_version: str) -> list: """ Args: table: DynamoDB table object to query region: region to query on + python_version: version of python (e.g. p3.9, p3.8) returns: items: items returned from the query """ kwargs = { - "IndexName": "deployed_in_region", - "KeyConditionExpression": Key("rgn").eq(region) & Key("dplySts").eq("latest"), + "IndexName": "deployed_in_region_by_python_version", + "KeyConditionExpression": Key("rgn#PyVrsn").eq(f"{region}:{python_version}") + & Key("dplySts").eq("latest"), "ProjectionExpression": "pckg, arn, pckgVrsn", } items = query_till_end(table=table, kwargs=kwargs) @@ -27,6 +32,47 @@ def query_table(region, table): return map_keys(items) +def return_format(data: list, format: str, region: str, python_version: str): + """ + Args: + data: Data to be formatted (list of dicts) + format: Format of data (e.g. csv, html, json) + returns: + body: body of data (str) + headers: Additional HTML headers if required (dict) + """ + + map_header_row = { + "package": "Package", + "packageVersion": "Package Version", + "arn": "arn", + } + logger.info(f"Format: {format}") + if format == "json": + body = json.dumps(data, cls=DecimalEncoder) + headers = {"Content-Type": "application/json"} + elif format == "html": + body = tabulate(data, headers=map_header_row, tablefmt="html") + headers = {"Content-Type": "text/html"} + elif format == "csv": + with io.StringIO() as csvfile: + fieldnames = ["package", "packageVersion", "arn"] + writer = csv.DictWriter(csvfile, fieldnames=fieldnames) + writer.writerow(map_header_row) + for row in data: + writer.writerow(row) + body = csvfile.getvalue() + headers = { + "Content-Type": "text/html", + "Content-Disposition": f'attachment; filename="klayers-{region}-{python_version}.csv"', + } + else: + body = "Please specify a file format in lowercase, only csv, html and json are accepted" + headers = {} + + return body, headers + + @logger.inject_lambda_context def main(event, context): """ @@ -36,12 +82,18 @@ def main(event, context): dynamodb = boto3.resource("dynamodb") table = dynamodb.Table(os.environ["DB_NAME"]) region = event.get("pathParameters").get("region") - api_response = query_table(table=table, region=region) + python_version = event.get("pathParameters").get("python_version", "p3.8") + format = event.get("pathParameters").get("format", "json") + api_response = query_table( + table=table, region=region, python_version=python_version + ) + + body, headers = return_format( + data=api_response, format=format, region=region, python_version=python_version + ) return { "statusCode": 200, - "headers": { - "Content-Type" : "application/json" - }, - "body": json.dumps(api_response, cls=DecimalEncoder), + "headers": headers, + "body": body, } diff --git a/pipeline/api/layers/latest_region_package.py b/pipeline/api/layers/latest_region_package.py index d8fc3230..e203f317 100644 --- a/pipeline/api/layers/latest_region_package.py +++ b/pipeline/api/layers/latest_region_package.py @@ -14,6 +14,7 @@ def main(event, context): Args: event.pathParameter.region: AWS region event.pathParameter.package: Python Package + event.pathParameter.python_version: Python Version (e.g. p3.8, p3.9) returns: api_response: Dictionary containing, region, package, arn and requirements.txt data """ @@ -22,8 +23,9 @@ def main(event, context): table = dynamodb.Table(os.environ["DB_NAME"]) region = event.get("pathParameters").get("region") package = event.get("pathParameters").get("package") + python_version = event.get("pathParameters").get("python_version", "p3.8") - pk = f"lyr#{region}.{package}" + pk = f"lyr#{region}:{package}:{python_version}" sk = "lyrVrsn0#" try: @@ -43,8 +45,6 @@ def main(event, context): return { "statusCode": 200, - "headers": { - "Content-Type" : "application/json" - }, + "headers": {"Content-Type": "application/json"}, "body": json.dumps(api_response), } diff --git a/pipeline/api/layers/list_layer_version.py b/pipeline/api/layers/list_layer_version.py index c479949d..968fe1e3 100644 --- a/pipeline/api/layers/list_layer_version.py +++ b/pipeline/api/layers/list_layer_version.py @@ -40,13 +40,12 @@ def main(event, context): table = dynamodb.Table(os.environ["DB_NAME"]) region = event.get("pathParameters").get("region") package = event.get("pathParameters").get("package") - pk = f"lyr#{region}.{package}" + python_version = event.get("pathParameters").get("python_version", "p3.8") + pk = f"lyr#{region}:{package}:{python_version}" api_response = query_table(table=table, region=region, pk=pk) return { "statusCode": 200, - "headers": { - "Content-Type" : "application/json" - }, + "headers": {"Content-Type": "application/json"}, "body": json.dumps(api_response, cls=DecimalEncoder), } diff --git a/pipeline/api/layers/sls.yml b/pipeline/api/layers/sls.yml index f1054683..758e3b47 100644 --- a/pipeline/api/layers/sls.yml +++ b/pipeline/api/layers/sls.yml @@ -1,40 +1,44 @@ -arn_by_regions: - handler: layers/latest_region.main - description: Get latest packages per region +# Deprecated. will be removed in next release +arn_by_package_region: + handler: layers/latest_region_package.main + description: Get latest layer per package per region runtime: python3.8 timeout: 10 memorySize: 256 environment: POWERTOOLS_SERVICE_NAME: Klayers.api - iamRoleStatementsName: ${self:provider.stage}-api-arn-rgn + iamRoleStatementsName: ${self:provider.stage}-api-arn-pckgrgn iamRoleStatements: - Effect: Allow Action: - - dynamodb:Query - Resource: ${self:custom.dbArn}/index/deployed_in_region + - dynamodb:GetItem + Resource: ${self:custom.dbArn} layers: - - arn:aws:lambda:${self:provider.region}:770693421928:layer:Klayers-python38-aws-lambda-powertools:32 + - arn:aws:lambda:${self:provider.region}:017000801446:layer:AWSLambdaPowertoolsPython:6 events: - - httpApi: 'GET /api/v1/layers/latest/{region}' + - httpApi: 'GET /api/v1/layers/latest/{region}/{package}' -arn_by_package_region: - handler: layers/latest_region_package.main - description: Get latest layer per package per region +arn_by_regions: + handler: layers/latest_region.main + description: Get latest packages per region runtime: python3.8 timeout: 10 memorySize: 256 environment: POWERTOOLS_SERVICE_NAME: Klayers.api - iamRoleStatementsName: ${self:provider.stage}-api-arn-pckgrgn + iamRoleStatementsName: ${self:provider.stage}-api-arn-rgn iamRoleStatements: - Effect: Allow Action: - - dynamodb:GetItem - Resource: ${self:custom.dbArn} + - dynamodb:Query + Resource: ${self:custom.dbArn}/index/deployed_in_region_by_python_version layers: - - arn:aws:lambda:${self:provider.region}:770693421928:layer:Klayers-python38-aws-lambda-powertools:32 + - arn:aws:lambda:${self:provider.region}:017000801446:layer:AWSLambdaPowertoolsPython:6 + - arn:aws:lambda:${self:provider.region}:770693421928:layer:Klayers-python38-tabulate:1 events: - - httpApi: 'GET /api/v1/layers/latest/{region}/{package}' + - httpApi: 'GET /api/v1/layers/latest/{region}' + - httpApi: 'GET /api/v2/{python_version}/layers/latest/{region}' + - httpApi: 'GET /api/v2/{python_version}/layers/latest/{region}/{format}' list_layers: handler: layers/list_layer_version.main @@ -51,6 +55,8 @@ list_layers: - dynamodb:Query Resource: ${self:custom.dbArn} layers: - - arn:aws:lambda:${self:provider.region}:770693421928:layer:Klayers-python38-aws-lambda-powertools:32 + - arn:aws:lambda:${self:provider.region}:017000801446:layer:AWSLambdaPowertoolsPython:6 events: - - httpApi: 'GET /api/v1/layers/{region}/{package}' \ No newline at end of file + - httpApi: 'GET /api/v1/layers/{region}/{package}' + - httpApi: 'GET /api/v2/{python_version}/layers/{region}/{package}' + diff --git a/pipeline/api/package-lock.json b/pipeline/api/package-lock.json index 37bbe0e9..01b5b76f 100644 --- a/pipeline/api/package-lock.json +++ b/pipeline/api/package-lock.json @@ -1,20 +1,46 @@ { "name": "api", "version": "1.0.0", - "lockfileVersion": 1, + "lockfileVersion": 2, "requires": true, + "packages": { + "": { + "name": "api", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "serverless-iam-roles-per-function": "^3.2.0" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/serverless-iam-roles-per-function": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/serverless-iam-roles-per-function/-/serverless-iam-roles-per-function-3.2.0.tgz", + "integrity": "sha512-AXmxACHEUsDcFDcv8QNwDgn2L0brRJ7pz/phD3lFB/wQ3TtPJkorC+J7PxgFQbaWIQk15EIlU83BtKXeQoPTAg==", + "dependencies": { + "lodash": "^4.17.20" + }, + "engines": { + "node": ">=10" + } + } + }, "dependencies": { "lodash": { - "version": "4.17.19", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz", - "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==" + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, "serverless-iam-roles-per-function": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/serverless-iam-roles-per-function/-/serverless-iam-roles-per-function-2.0.2.tgz", - "integrity": "sha512-3zv4Af3x7KJHC4fuJMHniEEstCljMghReaYIg94Spdsqkhiy8GJ3yfJ5Jy+wiG/DvyObK91JJNMjLhDnDc+vCQ==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/serverless-iam-roles-per-function/-/serverless-iam-roles-per-function-3.2.0.tgz", + "integrity": "sha512-AXmxACHEUsDcFDcv8QNwDgn2L0brRJ7pz/phD3lFB/wQ3TtPJkorC+J7PxgFQbaWIQk15EIlU83BtKXeQoPTAg==", "requires": { - "lodash": "^4.17.15" + "lodash": "^4.17.20" } } } diff --git a/pipeline/api/package.json b/pipeline/api/package.json index 42d1d767..18b45b00 100644 --- a/pipeline/api/package.json +++ b/pipeline/api/package.json @@ -9,6 +9,6 @@ "author": "", "license": "ISC", "dependencies": { - "serverless-iam-roles-per-function": "^2.0.2" + "serverless-iam-roles-per-function": "^3.2.0" } } diff --git a/pipeline/api/serverless.yml b/pipeline/api/serverless.yml index c821f8b7..0248aac0 100644 --- a/pipeline/api/serverless.yml +++ b/pipeline/api/serverless.yml @@ -1,4 +1,6 @@ service: api +projectDir: ../ +variablesResolutionMode: 20210326 plugins: - serverless-iam-roles-per-function @@ -30,8 +32,8 @@ custom: s3LayersArn: ${ssm:/${self:custom.appName}/${self:provider.stage}/layers_bucket/arn} # DynamoDB - dbName: ${ssm:/${self:custom.appName}/${self:provider.stage}/db/name} - dbArn: ${ssm:/${self:custom.appName}/${self:provider.stage}/db/arn} + dbName: ${ssm:/${self:custom.appName}/${self:provider.stage}/db-ver2/name} + dbArn: ${ssm:/${self:custom.appName}/${self:provider.stage}/db-ver2/arn} # Cloudformation apiCertArn: ${ssm:/${self:custom.appName}/${self:provider.stage}/api/cert/arn} diff --git a/pipeline/config/packages_p38.csv b/pipeline/config/packages_p38.csv index 4107578e..d0e881d8 100644 --- a/pipeline/config/packages_p38.csv +++ b/pipeline/config/packages_p38.csv @@ -46,7 +46,6 @@ matplotlib,PSF,matplotlib-users@python.org mpld3,BSD, nltk,Apache-2.0,Steven Bird numpy,https://www.numpy.org/license.html,numpy-discussion@python.org -opencv-python-headless,MIT, Unknown openpyxl,MIT,Charlie Clark parliament,https://github.com/duo-labs/parliament/blob/master/LICENSE, pandas,BSD, @@ -66,7 +65,6 @@ pyOpenSSL,Apache-2.0,Hynek Schlawack pyqldb,Apache-2.0,AWS pytesseract,GPLv3,Matthias Lee -python-docx,MIT,Steve Canny python-Levenshtein-wheels,GPLv2+,Antti Haapala pytz,MIT,Stuart Bishop PyYAML,MIT,Kirril Simonov @@ -79,7 +77,6 @@ reportlab,BSD, shapely,BSD,Sean Gillies simplejson,MIT,Bob Ippolito slackclient,MIT,slack -spacy_syllables, MIT, Bright Effect SQLAlchemy,MIT,Mike Bayer tablib,MIT,Kenneth Reitz textdistance,MIT,orsinium diff --git a/pipeline/container_images/build_image/.gitignore b/pipeline/container_images/build_image/.gitignore new file mode 100644 index 00000000..eba74f4c --- /dev/null +++ b/pipeline/container_images/build_image/.gitignore @@ -0,0 +1 @@ +venv/ \ No newline at end of file diff --git a/pipeline/container_images/build_image/Dockerfile b/pipeline/container_images/build_image/Dockerfile new file mode 100644 index 00000000..625f34f3 --- /dev/null +++ b/pipeline/container_images/build_image/Dockerfile @@ -0,0 +1,8 @@ +FROM public.ecr.aws/lambda/python:3.9 + +COPY requirements.txt ./ +RUN pip install -r requirements.txt +RUN yum install -y python-devel +COPY build.py ./ + +CMD ["build.main"] \ No newline at end of file diff --git a/pipeline/container_images/build_image/build.py b/pipeline/container_images/build_image/build.py new file mode 100644 index 00000000..94e7bd23 --- /dev/null +++ b/pipeline/container_images/build_image/build.py @@ -0,0 +1,367 @@ +import os +import sys +import shutil +import hashlib +from datetime import datetime + +import boto3 +from botocore.exceptions import ClientError + +from aws_lambda_powertools.logging import Logger + +logger = Logger() + + +def get_pk_sk_latest_build(package: str, python_version: str): + build_v0_prefix = "bldVrsn0#" + package_prefix = "pckg#" + sk = {"S": f"{package_prefix}{package}"} + pk = {"S": f"{build_v0_prefix}{python_version}"} + + return pk, sk + + +def put_requirements_hash( + python_version: str, + package: str, + version: str, + requirements_txt: str, + requirements_hash: str, +): + """ + Args: + package: Package name + python_version: Version of python "p." (e.g. p3.8, p3.9, p3.10) + version: Package version + requirements_hash: SHA256 hash of the requirements.txt file + requirements_txt: requirements txt of the entire build + returns: + None + """ + client = boto3.client("dynamodb") + table_name = os.environ["DB_NAME"] + + pk, sk = get_pk_sk_latest_build(package, python_version) + + # Get latest build version for package + build_version_prefix = "bld#v" + response = client.get_item( + TableName=table_name, Key={"pk": pk, "sk": sk}, ProjectionExpression="bltVrsn", + ) + try: + latest_version = int(response["Item"]["bltVrsn"]["N"]) + new_version = latest_version + 1 + except KeyError: + # Version wasn't deployed before, start with v1 + new_version = 1 + + created_date = datetime.utcnow().isoformat() + Item = { + "pk": {"S": f"{build_version_prefix}{new_version}:{python_version}"}, + "sk": sk, + "pckgVrsn": {"S": str(version)}, + "rqrmntsTxt": {"S": requirements_txt}, + "rqrmntsHsh": {"S": requirements_hash}, + "bltVrsn": {"N": str(new_version)}, + "crtdDt": {"S": created_date}, + "pckg": {"S": package}, + "pyVrsn": {"S": python_version}, + } + + # Insert new record + try: + response = client.transact_write_items( + TransactItems=[ + { + "Update": { + "TableName": table_name, + "Key": {"pk": pk, "sk": sk,}, + "UpdateExpression": "set " + "rqrmntsTxt = :rqrmntsTxt, " + "pckgVrsn = :pckgVrsn, " + "rqrmntsHsh = :rqrmntsHsh," + "bltVrsn = :bltVrsn," + "crtdDt = :crtdDt," + "pyVrsn = :pyVrsn", + "ExpressionAttributeValues": { + ":rqrmntsTxt": {"S": requirements_txt}, + ":pckgVrsn": {"S": str(version)}, + ":rqrmntsHsh": {"S": requirements_hash}, + ":bltVrsn": {"N": str(new_version)}, + ":crtdDt": {"S": created_date}, + ":pyVrsn": {"S": python_version}, + }, + "ConditionExpression": "bltVrsn <> :bltVrsn", + } + }, + {"Put": {"TableName": table_name, "Item": Item,}}, + ] + ) + logger.info({"message": "Successfully written", "item": Item}) + logger.debug(f"DynamoDB response: {response}") + except ClientError as e: + logger.error( + { + "error_code": e.response["Error"]["Code"], + "error_message": e.response["Error"]["Message"], + "item": Item, + "message": "Failed to Update record for Build Version", + } + ) + exit(1) + + return None + + +def check_requirement_hash(package: str, python_version: str, requirements_hash): + """ + Args: + python_version: Version of python (e.g. p3.8, p3.9, p3.10) + package: Package name + requirements_hash: SHA256 hash of the requirements.txt file + returns: + exists: Boolean value of if the requirements_hash exists in the DB (package was built already) + """ + + client = boto3.client("dynamodb") + table_name = os.environ["DB_NAME"] + pk, sk = get_pk_sk_latest_build(package, python_version) + + response = client.get_item( + TableName=table_name, + Key={"pk": pk, "sk": sk}, + ProjectionExpression="rqrmntsHsh", + ) + + if requirements_hash == response.get("Item", {}).get("rqrmntsHsh", {}).get( + "S", False + ): + hash_match = True + else: + hash_match = False + + return hash_match + + +def freeze_requirements(package, path): + """ + Walks through path, looking for *.dist-info folders. Parses out the package name and versions + returns: package name and version in requirements.txt format as a string + """ + import subprocess + + logger.info("Getting requirements.txt file") + os.environ["PYTHONPATH"] = "/opt/python" + pip_install = subprocess.run( + ["pip", "freeze", "--path", path], shell=False, capture_output=True + ) + requirements_txt = pip_install.stdout.decode("utf-8").strip() + logger.info(f"Requirements txt : \n{requirements_txt}") + requirements_hash = hashlib.sha256(requirements_txt.encode("utf-8")).hexdigest() + + version = None + for line in requirements_txt.split("\n"): + if line[: len(package)].lower() == package.lower(): + version = line.split("==")[1] + logger.info(f"Version of {package} found is {version}") + break + + if version is None: + logger.error( + "Unable to determine version of package....refer to logs for requirements.txt" + ) + exit(1) + + return requirements_txt, requirements_hash, version + + +def upload_to_s3(zip_file, package, uploaded_file_name): + """ + Args: + zip_file: Location of zip file to be uploaded to S3 bucket + package: Name of python package being uploaded + return: + uploaded_file_name: Name of file in S3 bucket + """ + + bucket_name = os.environ["BUCKET_NAME"] + + s3 = boto3.resource("s3") + s3.meta.client.upload_file(zip_file, bucket_name, uploaded_file_name) + + client = boto3.client("s3") + response = client.list_objects_v2(Bucket=bucket_name, Prefix=uploaded_file_name) + logger.info(response) + logger.info( + { + "message": f"Uploaded {package}.zip", + "size": response["Contents"][0]["Size"], + "time": response["Contents"][0]["LastModified"], + "bucket": bucket_name, + } + ) + + return uploaded_file_name + + +def zip_dir(dir_path, package): + zip_file = f"/tmp/{package}" + result = shutil.make_archive( + base_name=zip_file, + format="zip", + base_dir=dir_path.split("/")[-1], + root_dir="/tmp", + ) + logger.info(result) + return f"{zip_file}.zip" + + +def delete_dir(dir): + try: + shutil.rmtree(dir) + logger.debug("Deleted previous version of package directory") + except FileNotFoundError: + logger.debug("No previous installation detected") + return True + + +def dir_size(path="."): + total = 0 + for entry in os.scandir(path): + if entry.is_file(): + total += entry.stat().st_size + elif entry.is_dir(): + total += dir_size(entry.path) + return total + + +def install(package, package_dir): + """" + Args: + package: Name of package to be queried + return: + path to zip file of final package + """ + delete_dir(package_dir) + import subprocess + + os.environ["PYTHONPATH"] = "/opt/python" + output = subprocess.run( + [ + "pip", + "install", + package, + "-t", + package_dir, + "--quiet", + "--upgrade", + "--no-cache-dir", + ], + capture_output=True, + ) + logger.info(output) + + return package_dir + + +def check_python_version(python_version: str) -> bool: + """" + Args: + python_version: Version of python required in form of major.minor + return: + True if matches running version, False otherwise + """ + running_python_version = f"p{sys.version_info.major}.{sys.version_info.minor}" + if python_version == running_python_version: + logger.debug(f"Python version supplied: {python_version}") + logger.debug(f"Python version running: {sys.version_info}") + return True + else: + logger.error("Python version doesn't match") + logger.error(f"Python version supplied: {python_version}") + logger.error(f"Python version running: {running_python_version}") + return False + + +@logger.inject_lambda_context +def main(event, context): + + package = event["package"] + license_info = event["license_info"] + python_version = event["python_version"] + force_build = event["force_build"] + force_deploy = event["force_deploy"] + + if not check_python_version(python_version): + sys.exit(1) + + package_dir = f"/tmp/python" + uploaded_file_name = f"{python_version}/{package}.zip" + build_flag = False + + package_dir = install(package, package_dir=package_dir) + package_size = dir_size(package_dir) + logger.info({"package": package, "size": package_size}) + + requirements_txt, requirements_hash, version = freeze_requirements( + package=package, path=package_dir + ) + logger.info({"message": "Built Package", "requirements_txt": requirements_txt}) + + with open(f"{package_dir}/requirements.txt", "w") as requirements_file: + requirements_file.write(requirements_txt) + zip_file = zip_dir(dir_path=package_dir, package=package) + + if force_build or not check_requirement_hash( + package=package, + requirements_hash=requirements_hash, + python_version=python_version, + ): + logger.info( + { + "requirements_hash": requirements_hash, + "package": package, + "version": version, + "python_version": python_version, + "message": "Uploading to S3", + } + ) + + upload_to_s3( + zip_file=zip_file, package=package, uploaded_file_name=uploaded_file_name + ) + put_requirements_hash( + package=package, + requirements_txt=requirements_txt, + requirements_hash=requirements_hash, + version=version, + python_version=python_version, + ) + + logger.info( + { + "package": package, + "version": version, + "location": f"s3://{os.environ['BUCKET_NAME']}", + "size": os.path.getsize(zip_file), + "requirements_hash": requirements_hash, + } + ) + build_flag = True + + else: + build_flag = False + logger.info( + "Requirements hash previously built, proceeding to check for deployment" + ) + + return { + "zip_file_S3key": uploaded_file_name, + "package": package, + "version": version, + "requirements_hash": requirements_hash, + "license_info": license_info, + "build_flag": build_flag, + "force_deploy": force_deploy, + "python_version": python_version, + } diff --git a/pipeline/container_images/build_image/requirements.txt b/pipeline/container_images/build_image/requirements.txt new file mode 100644 index 00000000..fca476f7 --- /dev/null +++ b/pipeline/container_images/build_image/requirements.txt @@ -0,0 +1,12 @@ +aws-lambda-powertools==1.23.0 +aws-xray-sdk==2.9.0 +boto3==1.20.26 +botocore==1.23.26 +fastjsonschema==2.15.2 +future==0.18.2 +jmespath==0.10.0 +python-dateutil==2.8.2 +s3transfer==0.5.0 +six==1.16.0 +urllib3==1.26.7 +wrapt==1.13.3 diff --git a/scripts/db_migration/load_new_db.py b/scripts/db_migration/load_new_db.py index 15ee1cfa..f38d746b 100644 --- a/scripts/db_migration/load_new_db.py +++ b/scripts/db_migration/load_new_db.py @@ -12,6 +12,7 @@ dynamodb = session.resource("dynamodb") table = dynamodb.Table(config["table_name"]) + response = table.scan( Select="ALL_ATTRIBUTES", FilterExpression=Attr("pk").BEGINS_WITH("bld"), diff --git a/scripts/db_migration_multi_python/.gitignore b/scripts/db_migration_multi_python/.gitignore new file mode 100644 index 00000000..7d933858 --- /dev/null +++ b/scripts/db_migration_multi_python/.gitignore @@ -0,0 +1,3 @@ +# dynamodb backup files (downloaded) +*.json +error_items.jsonl \ No newline at end of file diff --git a/scripts/db_migration_multi_python/download_dynamodb_export.py b/scripts/db_migration_multi_python/download_dynamodb_export.py new file mode 100644 index 00000000..1b3ca03d --- /dev/null +++ b/scripts/db_migration_multi_python/download_dynamodb_export.py @@ -0,0 +1,191 @@ +import boto3 +import gzip +import json +import os +import shutil +import datetime +import time + +profile = "KlayersProdP38" +# profile = 'KlayersDev' + +# config = {"table_name": "kl.Klayers-prodp38.db", "region": "us-east-2"} +# config = {'bucket': 'klayers-bucket--devp38', +# 'table_name_source': 'kl.Klayers-devp38.db', +# 'region': 'us-west-2', +# 'table_name_dest': 'kl.Klayers-devp38.db-ver2'} + +# config = {'bucket': 'klayers-bucket-defaultp38', +# 'table_name_source': 'kl.Klayers-defaultp38.db', +# 'table_name_dest': 'kl.Klayers-defaultp38.db-ver2', +# 'region': 'ap-southeast-1'} + +config = {'bucket': 'klayers-bucket--prodp38', + 'table_name_source': 'kl.Klayers-prodp38.db', + 'table_name_dest': 'kl.Klayers-prodp38.db-ver2', + 'region': 'us-east-2'} + +session = boto3.session.Session(profile_name=profile, region_name=config["region"]) +error_file = "error_items.jsonl" + + +def map_item(dynamo_item: str) -> dict: + """ + Args: + dynamo_item: Dictonary of item in raw DynamoDB format ( e.g key: {'S': } + Returns: + mapped_item : Dict of item in naive format (e.g. key: value) + """ + + mapped_item = {} + temp_item = json.loads(dynamo_item) + for key in temp_item.keys(): + if 'S' in temp_item[key].keys(): + mapped_item[key] = str(temp_item[key]['S']) + elif 'N' in temp_item[key].keys(): + mapped_item[key] = int(temp_item[key]['N']) + + return mapped_item + + +def load_data(items: list) -> None: + + dynamodb = session.resource('dynamodb') + table = dynamodb.Table(config["table_name_dest"]) + + with table.batch_writer() as batch: + for k, item in enumerate(items): + new_item = map_item(item) + batch.put_item(Item=new_item) + if k % 100 == 0: + print(f"Written {k}/{len(items)} to {config['table_name_dest']}") + + print(f"Exported {k} rows to {config['table_name_dest']}") + return None + + +def export_to_s3(client_token: str) -> str: + + dynamo_client = session.client('dynamodb') + table_arn = dynamo_client.describe_table(TableName=config['table_name_source'])['Table']['TableArn'] + s3_prefix = f'AWSDynamoDBBackups/{client_token}/data' + + export_in_progress = True + print(f"Initiating export for: {table_arn}") + while export_in_progress: + response = dynamo_client.export_table_to_point_in_time( + TableArn=table_arn, + ClientToken=client_token, + S3Bucket=config['bucket'], + S3Prefix=s3_prefix, + ExportFormat='DYNAMODB_JSON', + ) + export_in_progress = (response.get('ExportDescription').get('ExportStatus') == 'IN_PROGRESS') + print(f"Export in progress: {export_in_progress}") + time.sleep(10) + + return s3_prefix + + +def download_objects_from_s3(s3_prefix: str): + + print(f"Export complete, downloading files from S3") + client = session.client('s3') + + response = client.list_objects_v2( + Bucket=config['bucket'], + Prefix=s3_prefix, + ) + + gz_files = [file for file in response['Contents'] if file['Key'][-3:] == ".gz"] + + for k, file in enumerate(gz_files): + print(f"Downloading: {file['Key']}") + if file['Key'][-3:] == ".gz": + download_gz_file = f'./downloads/dynamo_download_{k}.gz' + json_file = f'./downloads/dynamo_download_{k}.json' + + with open(download_gz_file, 'wb') as data: + client.download_fileobj(config['bucket'], file['Key'], data) + + with gzip.open(download_gz_file, 'rb') as f: + file_content = f.read() + + with open(json_file, 'wb') as output_file: + output_file.write(file_content) + os.remove(download_gz_file) + print(f"Saved output to {json_file}") + + +def write_error_to_file(error_item: dict): + + with open(error_file, 'a') as output: + output.write(json.dumps(error_item)) + output.write("\n") + + +def modify_data(input_file: str, output_file: str): + + with open(input_file, 'r') as ddb_backup_file: + new_items = list() + + for k, line in enumerate(ddb_backup_file): + item_container = json.loads(line) + item = item_container['Item'] + if item['pk']['S'][:4] == 'lyr#': + new_pk = f"{item['pk']['S'].replace('.', ':')}:p3.8" + item['pk']['S'] = new_pk + try: + if item['sk']['S'] != 'lyrVrsn0#': + item['rgn#PyVrsn'] = {"S": f"{item['rgn']['S']}:p3.8"} + item['pckg#PyVrsn'] = {"S": f"{item['pckg']['S']}:p3.8"} + except KeyError: + print("error") + elif item['pk']['S'] == 'bldVrsn0#': + new_pk = f"{item['pk']['S']}p3.8" + item['pk']['S'] = new_pk + item['bltVrsn']['N'] = item['bltVrsn']['S'][len("bld#v"):] + item['bltVrsn'].pop('S') + elif item['pk']['S'][:5] == 'bld#v': + new_pk = f"{item['pk']['S']}:p3.8" + item['pk']['S'] = new_pk + item['bltVrsn']['N'] = item['bltVrsn']['S'][len("bld#v"):] + item['bltVrsn'].pop('S') + else: + print(f"Unknown: {item}") + write_error_to_file(error_item=item) + continue # skip and move to next item. + + item['pyVrsn'] = {"S": "p3.8"} + new_items.append(item) + + with open(output_file, 'w') as output: + for item in new_items: + output.write(json.dumps(item)) + output.write("\n") + + +if __name__ == "__main__": + + download_directory = "downloads" + output_directory = "output" + + shutil.rmtree(download_directory) + os.mkdir(download_directory) + shutil.rmtree(output_directory) + os.mkdir(output_directory) + client_token = datetime.datetime.now().isoformat() + s3_prefix = export_to_s3(client_token=client_token) + + download_objects_from_s3(s3_prefix=s3_prefix) + + downloaded_jsons = os.listdir("downloads") + + for k, json_file in enumerate(downloaded_jsons): + modify_data(input_file=f"./downloads/{json_file}", output_file=f"./output/{k}.json") + + for _x in range(k+1): + with open(f"./output/{_x}.json", "r") as input_file: + items = input_file.readlines() + load_data(items) + print(f"Wrote out data from {k+1} files") \ No newline at end of file diff --git a/scripts/db_migration_multi_python/test.py b/scripts/db_migration_multi_python/test.py new file mode 100644 index 00000000..32e5160e --- /dev/null +++ b/scripts/db_migration_multi_python/test.py @@ -0,0 +1,63 @@ +import boto3 +import json + +profile = 'KlayersDev' + +# config = {"table_name": "kl.Klayers-prodp38.db", "region": "us-east-2"} +# config = {'bucket': 'klayers-bucket--devp38', +# 'table_name_source': 'kl.Klayers-devp38.db', +# 'region': 'us-west-2', +# 'table_name_dest': 'kl.Klayers-devp38.db-ver2'} + +config = {'bucket': 'klayers-bucket-defaultp38', + 'table_name_source': 'kl.Klayers-defaultp38.db', + 'table_name_dest': 'kl.Klayers-defaultp38.db-ver2', + 'region': 'ap-southeast-1'} +session = boto3.session.Session(profile_name=profile, region_name=config["region"]) +dynamo_client = session.resource('dynamodb') +table = dynamo_client.Table(config['table_name_dest']) +client = session.client('events') + + +for package in ['requests', 'idna']: + for python_version in ['p3.8', 'p3.9']: + entry = { + "Source": "Klayers.invoke.Klayers-defaultp38", + "Resources": [], + "DetailType": "invoke_pipeline", + "Detail": json.dumps({"package": package, "python_version": python_version, "force_deploy": True, "force_build": True}), + "EventBusName": "default", + } + _ = client.put_events(Entries=[entry]) + +# items = [ +# {'pk': 'bldVrsn0#p3.8', 'sk': 'pckg#idna'}, +# {'pk': 'bldVrsn0#p3.9', 'sk': 'pckg#idna'}, +# {'pk': 'lyr#ap-southeast-1:requests:p3.9', 'sk': 'lyrVrsn0#'}, +# {'pk': 'lyr#ap-southeast-1:requests:p3.9', 'sk': 'lyrVrsn#v1'}, +# {'pk': 'lyr#ap-southeast-1:requests:p3.8', 'sk': 'lyrVrsn0#'}, +# {'pk': 'lyr#ap-southeast-1:requests:p3.8', 'sk': 'lyrVrsn#v1'}, +# ] +# +# for item in items: +# response = table.update_item( +# Key=item, +# UpdateExpression="SET rqrmntsHsh = :dummy", +# ExpressionAttributeValues={ +# ":dummy": '...' +# } +# ) + + +# entries = [] +# for package in ['requests', 'idna']: +# for python_version in ['p3.8', 'p3.9']: +# entry = { +# "Source": "Klayers.invoke.Klayers-devp38", +# "Resources": [], +# "DetailType": "invoke_pipeline", +# "Detail": json.dumps({"package": package, "python_version": python_version}), +# "EventBusName": "default", +# } +# _ = client.put_events(Entries=[entry]) +#